当前位置: 首页 > 知识库问答 >
问题:

从docker容器中运行的elasticsearch客户端连接elasticsearch群集(即未停靠)时出现问题

燕朝明
2023-03-14

我正在从运行在docker容器中的elasticsearch客户端连接到elasticsearch集群(即非停靠)。我可以通过在客户端中设置为:

Settings settings = ImmutableSettings.settingsBuilder()
                .put("node.name", "HelloESClient")
                .put("discovery.zen.ping.multicast.enabled", false)
                .put("discovery.zen.ping.unicast.hosts", "172.16.11.50")
                .put("transport.publish_port", "9300")
                .put("transport.publish_host", "192.168.17.131");

其中192.168.17.131:9300是elasticsearch群集连接到节点客户端的主机ip:端口。

我无法公开主机中的任何其他端口,因为9300端口是在elasticsearch配置yml中设置为tcp传输端口的端口。

问题是,我无法启动多个docker容器,使elasticsearch客户端连接到同一elasticsearch群集,因为每个容器不能在同一台机器中公开同一端口。

共有1个答案

戚云
2023-03-14
docker run -d -p 9300:9300 --name es1 elasticsearch
docker run -d -p 9301:9300 --name es2 elasticsearch
docker run -d -p 9302:9300 --name es3 elasticsearch
docker run -d -p 9303:9300 --name es4 elasticsearch

现在您有4个elasticsearch容器

 类似资料:
  • 我设置了一个带有官方REPO elasticsearch docker图像的elasticsearch容器。然后运行它 轻松又有效。ps信息是 我可以使用超文本传输协议访问服务器-客户端通过端口32769- 现在我需要我的JAVA程序与dockerize elasticsearch一起工作。java Node客户端只能通过32768-连接到elasticsearch 然后我在控制台中得到以下错误:

  • 即使我的elastichead容器正在运行,我的elastichead也没有连接。我不能理解这个问题。 容器ID图像 命令创建状态端口名称117ba87ad874 mdillon/postgis: 11 "docker-entrypoint. s..."9小时前最多4小时 0.0.0.0:5432- 但在运行弹性头之后,仍然没有连接。我的系统是Windows10家庭版。

  • 我使用discovery api和Zookeeper在docker容器中运行了一个Hazelcast集群。这一切都运行良好,集群启动并按预期工作。我的问题是将客户端从另一台服务器连接到群集。 集群将127.0.0.1和172.17.0.1作为集群地址返回给zookeeper,这意味着客户端在同一台机器上运行良好,但即使172.17.0.1映射在客户端的主机文件中,也不会从远程机器连接到Hz集群的服

  • 我在docker上安装并运行Rabbitmqhttps://hub.docker.com/_/rabbitmq/: 我可以登录管理员与http://localhost:15672/从终端我可以使用Rabbitmqadmin成功的所有例子在这里http://www.rabbitmq.com/management-cli.html,添加-u admin-p nimda进行身份验证。我可以发布和接收消息

  • 我们正在运行带有6个节点的集群,最近几天我在集群中面临java.lang.OutOfMemoryError PermGen空间问题,这会影响到节点,同样也会掉下来。我正在重新启动特定节点以使其处于活动状态。 我们试图通过给集群重负载来解决这个问题,但不幸的是,它无法复制。但我们在生产过程中会一次又一次地遇到同样的问题。 这里介绍了一些yml文件配置 内存配置 使用以下配置更新问题 我怀疑与此问题相

  • 我想知道analyzer(在elasticsearch中)应该只在主节点上实现还是必须在所有节点上分别实现? 找不到准确的答案。 请救命! 谢谢 null null 添加日志:- 我正在使用Elasticsearch(2.4.1v)spring data transport客户端从Elasticsearch获取数据,出现以下错误:- null