我正在尝试使用Amazon EC2实例实施双节点ES群集。设置好所有内容后,我尝试启动ES,但无法启动。以下是配置文件:
/etc/elasticsearch/elasticsearch.yml - http://pastebin.com/3Q1qNqmZ
/etc/init.d/elasticsearch - http://pastebin.com/f3aJyurR
以下是/var/log/elasticsearch/es-cluster.log内容 -
[2014-06-08 07:06:01,761][WARN ][common.jna ] Unknown mlockall error 0
[2014-06-08 07:06:02,095][INFO ][node ] [logstash] version[0.90.13], pid[29666], build[249c9c5/2014-03-25T15:27:12Z]
[2014-06-08 07:06:02,095][INFO ][node ] [logstash] initializing ...
[2014-06-08 07:06:02,108][INFO ][plugins ] [logstash] loaded [], sites []
[2014-06-08 07:06:07,504][INFO ][node ] [logstash] initialized
[2014-06-08 07:06:07,510][INFO ][node ] [logstash] starting ...
[2014-06-08 07:06:07,646][INFO ][transport ] [logstash] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/10.164.27.207:9300]}
[2014-06-08 07:06:12,177][INFO ][cluster.service ] [logstash] new_master [logstash][vCS_3LzESEKSN-thhGWeGA][inet[/<an_ip_is_here>:9300]], reason: zen-disco-join (elected_as_master)
[2014-06-08 07:06:12,208][INFO ][discovery ] [logstash] es-cluster/vCS_3LzESEKSN-thhGWeGA
[2014-06-08 07:06:12,334][INFO ][http ] [logstash] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/<an_ip_is_here>:9200]}
[2014-06-08 07:06:12,335][INFO ][node ] [logstash] started
[2014-06-08 07:06:12,379][INFO ][gateway ] [logstash] recovered [0] indices into cluster_state
答案 0 :(得分:2)
我在配置文件中看到了一些你应该纠正的事情。
1)需要不同的节点名称。您正在为两个节点使用相同的配置文件。如果要设置节点名称,则不希望这样做:node.name: "logstash"
。使用不同的node.name条目创建单独的配置文件或将其注释掉,让ES自动分配node.name。
2)Mlockall设置正在抛出错误。我不会开始设置bootstrap.mlockall: True
,直到你第一次让ES在没有它的情况下运行,然后花了一点时间配置linux来支持它。它可能会导致启动问题:
警告
mlockall可能会导致JVM或shell会话在尝试时退出 分配比现有更多的内存!
我会查看有关配置变量的文档,并注意不要在门外进行太多调整。
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/setup-configuration.html http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/setup-service.html
如果您确实要对ES进行内存调整,那么之前的stackoverflow文章应该会有所帮助: