【问题标题】:C# .NET to Apache Ignite on DockerC# .NET 到 Docker 上的 Apache Ignite
【发布时间】:2019-03-15 22:38:25
【问题描述】:

我是 Apache Ignite 的新手,我们的要求是在 docker 上运行它,但是,我尝试在线搜索如何从我的 C# .NET 应用程序连接到 dockerize Apache Ignite,但找不到关于此的好的资源。

我有一个包含以下内容的 docker-compose 文件:

网络: 应用层: 司机:桥 服务: 点燃: 图片:“apacheignite/点燃:最新” 容器名称:“测试点燃” 端口: - '47100:47100' 网络: - 应用层 环境: IGNITE_HOST: '测试点燃'

我运行 docker-compose up,Apache Ignite 正在运行。但是,我不知道如何从我的 C# 代码连接到这个 dockerized ignite。请让我知道该怎么做,如果你能给我示例代码 sn-p 那就太好了。

【问题讨论】:

    标签: c# docker ignite


    【解决方案1】:
    • 如果您想连接客户端节点甚至服务器节点,您必须指定能够找到您的 dockerized 节点的发现配置。例如 TcpDiscoveryVmIpFinder 与您的 dockerized Ignite 的主机名。请注意,集群中的所有节点都需要能够连接到每个其他节点的发现和通信端口。

    • 如果您想使用瘦客户端或例如ODBC客户端,连接时指定主机名即可。

    【讨论】:

    • 嗨 alamar,我尝试使用 C# .NET 控制台应用程序连接到 Apache Ignite 的 dockerized 实例,但我不断收到此错误,尽管“System.Net.Sockets.SocketException (0x80004005):已建立的连接是被主机中的软件中止”。如果可能,您是否有关于您提到的关于发现配置的第一项的示例?
    • 我也尝试使用 ThinClient,就像此处示例中提到的那样:apacheignite-net.readme.io/docs/thin-client,但也没有运气。
    • @dellboy 是否可以在连接尝试期间从您的 dockerized 实例收集日志?我会添加答案的链接。
    • 我终于让它工作了,但是在运行 docker 时需要进行更改,所以我必须使用以下命令在网络设置为“主机”下运行 docker,而不是我的 docker-compose:“docker run -它 --name dellboy-cache --net=host -e "IGNITE_CONFIG=sample-ignite-config.xml" apacheignite/ignite" 并在我的 C# 代码中指定了 TcpDiscoverySpi 并使用 LocalAddress 设置了我的计算机名称和端口,并且它已连接.但是,我注意到一些事情,为什么即使我将 ClientMode 启动为 true,它仍然会在连接到我的 dockerized 实例之前启动另一个 Apache Ignite 实例?
    • @dellboy Client 节点仍然是一个完整的 Apache Ignite 节点,与 Server Node 的区别很小:它不参与发现环,默认情况下不存储数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-05
    • 2017-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多