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

Elastic Search-Ubuntu-连接被拒绝

吕皓
2023-03-14

我已经在Ubuntu 14.04上安装了elastic 2.2。我保留了elastic的默认初始设置,并且可以从本地主机:9200的这个系统访问elastic实例。

现在,当我尝试通过不同的系统使用服务器的IP/DNS名称作为:

curl -XGET "http://<IP_ADDRESS_UBUNTU_SERVER>:9200"

我得到一个错误:

Failed to connect to <IP_ADDRESS_UBUNTU_SERVER> port 9200: Connection refused

我尝试在弹性搜索.yml文件中更改一些参数,并将其设置为:

network.host: 0.0.0.0
http.port: 9200

但这并没有解决问题。我设置获取与拒绝连接相同的错误。事实上,设置上述参数并尝试使用localhost:9200从服务器访问也会导致连接超时错误。

现在配置是什么,我需要设置,以便可以从外部访问此弹性实例?

编辑:我试图将Ubuntu服务器的IP地址设置为network.host,但是我在日志文件中看到以下错误:

BindTransportException[Failed to bind to [9300-9400]]; nested: ChannelException[Failed to bind to: /10.173.1.176:9400]; nested: BindException[Cannot assign requested address];
        at org.elasticsearch.transport.netty.NettyTransport.bindToPort(NettyTransport.java:477)
        at org.elasticsearch.transport.netty.NettyTransport.bindServerBootstrap(NettyTransport.java:439)
        at org.elasticsearch.transport.netty.NettyTransport.doStart(NettyTransport.java:320)
        at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:68)
        at org.elasticsearch.transport.TransportService.doStart(TransportService.java:170)
        at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:68)
        at org.elasticsearch.node.Node.start(Node.java:252)
        at org.elasticsearch.bootstrap.Bootstrap.start(Bootstrap.java:221)
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:287)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Caused by: org.jboss.netty.channel.ChannelException: Failed to bind to: /10.173.1.176:9400
        at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:272)
        at org.elasticsearch.transport.netty.NettyTransport$1.onPortNumber(NettyTransport.java:459)
        at org.elasticsearch.common.transport.PortsRange.iterate(PortsRange.java:69)
        at org.elasticsearch.transport.netty.NettyTransport.bindToPort(NettyTransport.java:455)
        ... 9 more
Caused by: java.net.BindException: Cannot assign requested address
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:433)
        at sun.nio.ch.Net.bind(Net.java:425)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at org.jboss.netty.channel.socket.nio.NioServerBoss$RegisterTask.run(NioServerBoss.java:193)
        at org.jboss.netty.channel.socket.nio.AbstractNioSelector.processTaskQueue(AbstractNioSelector.java:391)
        at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:315)
        at org.jboss.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42)
        at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
        at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

共有2个答案

董和泽
2023-03-14

除了在 config.yml 中正确处理所有内容之外,如果您正在编写自己的单元文件,则需要通过在单元文件中设置一些设置(而不仅仅是在 sysctl.conf 中)来通过引导检查。所以在/lib/systemd/system/system/elasticsearch.service

请确保在指示部分中具有以下设置:

[Unit]
LimitMEMLOCK=infinity

[Service]
LimitNOFILE=65536
松德曜
2023-03-14

这是由于配置文件中的错误引起的。我没有遵守YAML指南,盲目地遵循弹性帮助文档。

网络和端口必须以 YML 格式指定,如下所示:

network:
  host: 0.0.0.0
http:
  port: 9200

在此之后重新启动弹性服务。如果出现问题,请参阅弹性日志文件并检查实例是否绑定到上述IP和端口9200。您还可以检查监听IP/端口(netstat-l-n)。必须有一个条目,如下所示:

tcp 0 0 0.0.0.0:9200 0.0.0.0:* LISTEN 

希望这能帮上忙,并愉快地搜索。。

 类似资料:
  • 问题内容: 我已经在Ubuntu 14.04上安装了弹性2.2。我保留了elastic的默认初始设置,并且该实例可从localhost:9200到达该系统的弹性实例。 现在,当我尝试使用服务器的IP / DNS名称通过其他系统通过以下方式进行操作时: 我收到如下错误: 我尝试更改elasticsearch.yml文件中的几个参数并将其设置为: 但这并不能解决问题。我设置了与拒绝连接相同的错误。实际

  • 我正在尝试使用docker容器运行ELK stack。但我得到的错误是,kibana无法与elasticsearch建立联系。 这是我的docker comp的内容 我日志的内容。形态 我有elasticsearch容器和kibana容器上的卷曲,对我来说很好 curl localhost:9200/_cat/index?漂亮的 增加虚拟内存大小后 root@sfbp19:~/docking je

  • 问题内容: 我让ELK堆栈在VM内的docker容器中运行。 我可以向ES填充,它可以在Kibana中显示。 我可以使用Logstash读取文件并将其输出到stdout。 但是Logstash无法将数据发送到ES (启用或禁用xpack似乎没有什么不同) 输出 之后,它会在“发送批量请求”,“执行运行状况检查”,“尝试复活”和“意外的池错误”之间保持循环。 随着每一次的同时,我也看到了 问题答案:

  • 我是新来的论坛,以及麋鹿堆栈。我试着用docker设置麋鹿堆。我成功了,然后我将filebeat添加到了撰写文件中。从那以后,filebeat就导致了连接到其他容器的问题。最初,我将其配置为将日志发送到logstash,但在所有故障排除之后,当我仍然无法让filebeat与logstash对话时,我完全删除了logstash,并尝试将filebeat直接与elasticsearch连接。在尽了我所

  • 我正在使用docker-compose运行我的Go语言应用程序和本地机器中的单节点弹性搜索,并使用https://github.com/vishnubob/wait-for-it开始排序。在连接我的Go语言应用程序和弹性时,我面临连接被拒绝。我认为我正在将正确的ip从我的Go语言容器指向我的es容器。我认为我没有正确设置我的es容器 错误日志: 这是我的配置: docker-compose.yml

  • 简而言之,我可以运行Elasticsearch吗 我正在Docker(mac)上运行Elasticsearch 6.2.2。使用命令。。 我可以访问Elasticsearch(POST 然而,当从访问docker Elasticsearch实例的不同docker映像运行Dropwizard应用程序时,我使用相同的主机和端口(localhost 9200)拒绝了连接。 当直接从IDE运行Dropwi