当我尝试使用curl http://localhost:9200它连接到弹性搜索
它工作正常.
但是,当我运行时,curl http://IpAddress:9200它会抛出一个错误说curl http://localhost:9200.
如何解决此错误?
小智 74
编辑/etc/elasticsearch/elasticsearch.yml并添加以下行:
network.host: 0.0.0.0
这将"取消设置"此参数,并允许来自其他IP的连接.
And*_*ite 73
默认情况下,它应绑定到所有本地地址.因此,假设您没有防火墙的网络层问题,我可以考虑检查的唯一ES设置是network.bind_host确保它未设置或设置为0.0.0.0或::0网络的正确IP地址.
更新:根据ES 2.3中的评论,您应该设置network.host.
dik*_*ill 27
尝试了这个页面上的所有内容,只有来自这里的说明才有帮助.
在/etc/default/elasticsearch,确保这些是未评论的:
START_DAEMON=true
ES_USER=elasticsearch
ES_GROUP=elasticsearch
LOG_DIR=/var/log/elasticsearch
DATA_DIR=/var/lib/elasticsearch
WORK_DIR=/tmp/elasticsearch
CONF_DIR=/etc/elasticsearch
CONF_FILE=/etc/elasticsearch/elasticsearch.yml
RESTART_ON_UPGRADE=true
Run Code Online (Sandbox Code Playgroud)
确保/var/lib/elasticsearch由elasticsearch用户拥有:
chown -R elasticsearch:elasticsearch /var/lib/elasticsearch/
Run Code Online (Sandbox Code Playgroud)
Kal*_*nit 21
在我的情况下,弹性搜索开始了.但还是有的
curl: (7) Failed to connect to localhost port 9200: Connection refused
Run Code Online (Sandbox Code Playgroud)
以下命令不成功
sudo service elasticsearch restart
Run Code Online (Sandbox Code Playgroud)
为了使它工作,我不得不跑
sudo systemctl restart elasticsearch
Run Code Online (Sandbox Code Playgroud)
然后一切都很好.
Dao*_*Duc 17
为什么不从这个命令行开始:
$ sudo service elasticsearch status
Run Code Online (Sandbox Code Playgroud)
我做到了,得到:
"There is insufficient memory for the Java Runtime..."
Run Code Online (Sandbox Code Playgroud)
然后我编辑了/etc/elasticsearch/jvm.options文件:
...
################################################################
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
#-Xms2g
#-Xms2g
-Xms512m
-Xmx512m
################################################################
...
Run Code Online (Sandbox Code Playgroud)
这就像一个魅力.
Kim*_*y W 15
这里提出的解决方案都不适用于我,但最终得到它的工作是添加以下内容 elasticsearch.yml
network:
host: 0.0.0.0
http:
port: 9200
Run Code Online (Sandbox Code Playgroud)
之后,我重新启动了服务,现在我可以curl在VM内部和外部使用它.对于一些奇怪的原因,我不得不尝试几个不同的变种curl呼叫内的VM,它的工作之前:
curl localhost:9200
curl http://localhost:9200
curl 127.0.0.1:9200
Run Code Online (Sandbox Code Playgroud)
注意:我在Ubuntu 14.04上使用Elasticsearch 5.5
Jes*_*gui 12
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)
Run Code Online (Sandbox Code Playgroud)
确保服务器已启动.当我的虚拟机太小而无法启动时,我已经看到了这个问题.
sudo systemctl status elasticsearch
Run Code Online (Sandbox Code Playgroud)
以上将告诉你es是否确实在运行.
Mik*_*ike 11
编辑elasticsearch.yml并添加以下行
http.host: 0.0.0.0
Run Code Online (Sandbox Code Playgroud)
network.host: 0.0.0.0 没有为
对于这个问题,我不得不使用:
sudo /usr/share/elasticsearch/bin/elasticsearch start
能够在端口9200/9300(sudo netstat -ntlp)上得到一些东西并回复:
curl -XGET http://localhost:9200
我遇到了类似的问题。
\n\n这是我解决问题的方法
\n\n运行下面的服务命令来启动ElasticSearch
\n\nsudo service elasticsearch start\nRun Code Online (Sandbox Code Playgroud)\n\n或者
\n\nsudo systemctl start elasticsearch\nRun Code Online (Sandbox Code Playgroud)\n\n如果仍然出现错误
\n\n\n\n\n卷曲:(7)无法连接到本地主机端口9200:连接被拒绝
\n
运行下面的服务命令来检查状态运行下面的服务命令来检查ElasticSearch
\n\nsudo service elasticsearch status\nRun Code Online (Sandbox Code Playgroud)\n\n或者
\n\nsudo systemctl status elasticsearch\nRun Code Online (Sandbox Code Playgroud)\n\n如果您收到像下面这样的响应(Active: active (running) ),那么您ElasticSearch处于活动状态并正在运行
\n\n\n\n\n\xe2\x97\x8f elasticsearch.service - Elasticsearch\n 已加载:已加载(/usr/lib/systemd/system/elasticsearch.service;已禁用;供应商预设:已启用)\n 活动:活动(正在运行)活动:自 2019 年 9 月 9 日星期六起 -21 11:22:21 瓦特;3秒前
\n
然后您可以测试您的Elasticsearch使用以下命令向本地主机上的端口 9200 发送 HTTP 请求来
\n\ncurl http://localhost:9200\nRun Code Online (Sandbox Code Playgroud)\n\n否则,如果您收到不同的响应,您可能需要进一步调试才能修复它,但运行下面的命令将帮助您检测ElasticSearch存在哪些警告服务的启动。
\n\nsudo service elasticsearch status\nRun Code Online (Sandbox Code Playgroud)\n\n或者
\n\nsudo systemctl status elasticsearch\nRun Code Online (Sandbox Code Playgroud)\n\n如果你想停止ElasticSearch服务,只需运行以下服务命令即可;
\n\nsudo service elasticsearch stop\nRun Code Online (Sandbox Code Playgroud)\n\n或者
\n\nsudo systemctl stop elasticsearch\nRun Code Online (Sandbox Code Playgroud)\n\nN/B:您可能sudo service elasticsearch status 必须 在每次遇到错误时运行该命令sudo systemctl status elasticsearch,以便了解ElasticSearch的状态服务的状态。
这也适用于Kibana,每次遇到错误时运行命令sudo service kibana status OR sudo systemctl status kibana,以便了解Kibana的状态服务的状态。
就这样。
\n\n我希望这有帮助。
\n| 归档时间: |
|
| 查看次数: |
163300 次 |
| 最近记录: |