aza*_*tar 4 ubuntu elasticsearch
我在运行Ubuntu 16.04 LTS的ARM Odroid XU4上安装了ELasticsearch 6和JDK 1.8.0_161.没有错误.
当我尝试将Elasticsearch作为服务启动时,我无法在端口9200上连接到localhost并且打印服务状态:
~ $ > sudo service elasticsearch status
? elasticsearch.service - LSB: Starts elasticsearch
Loaded: loaded (/etc/init.d/elasticsearch; bad; vendor preset: enabled)
Active: active (exited) since Mon 2018-01-22 10:43:18 UTC; 9min ago
Docs: man:systemd-sysv-generator(8)
Jan 22 10:43:18 lego systemd[1]: Starting LSB: Starts elasticsearch...
Jan 22 10:43:18 lego systemd[1]: Started LSB: Starts elasticsearch.
Jan 22 10:44:07 lego systemd[1]: Started LSB: Starts elasticsearch.
Run Code Online (Sandbox Code Playgroud)
没有日志.不知道在哪里看.nofile限制设置为65536 in /etc/security/limits.conf.我不知道在哪里寻找诊断.
虽然,当我手动启动Elasticsearch时sudo /usr/shared/elasticsearch/bin/elasticsearch,它按预期工作:
~ $ > sudo /usr/share/elasticsearch/bin/elasticsearch
[2018-01-22 10:55:55,944][WARN ][bootstrap ] jvm uses the client vm, make sure to run `java` with the server vm for best performance by adding `-server` to the command line
[2018-01-22 10:55:56,073][INFO ][node ] [Ariel] version[1.7.3], pid[1126], build[NA/NA]
[2018-01-22 10:55:56,074][INFO ][node ] [Ariel] initializing ...
[2018-01-22 10:55:56,521][INFO ][plugins ] [Ariel] loaded [], sites []
[2018-01-22 10:55:56,638][INFO ][env ] [Ariel] using [1] data paths, mounts [[/ (/dev/mmcblk0p2)]], net usable_space
[54.4gb], net total_space [57.2gb], types [ext4]
[2018-01-22 10:56:01,853][INFO ][node ] [Ariel] initialized
[2018-01-22 10:56:01,854][INFO ][node ] [Ariel] starting ...
[2018-01-22 10:56:02,080][INFO ][transport ] [Ariel] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/192.168.0.103:9300]}
[2018-01-22 10:56:02,125][INFO ][discovery ] [Ariel] elasticsearch/FtFOljAORnevIAOAFabptg
[2018-01-22 10:56:05,933][INFO ][cluster.service ] [Ariel] new_master [Ariel][FtFOljAORnevIAOAFabptg][lego]
[inet[/192.168.0.103:9300]], reason: zen-disco-join (elected_as_master)
[2018-01-22 10:56:05,987][INFO ][http ] [Ariel] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/192.168.0.103:9200]}
[2018-01-22 10:56:05,988][INFO ][node ] [Ariel] started
[2018-01-22 10:56:06,014][INFO ][gateway ] [Ariel]
recovered [0] indices into cluster_state
Run Code Online (Sandbox Code Playgroud)
我错过了什么重要的一步?我在这里关注了一切:https://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html
编辑:我试过设置START_DAEMON=true在/etc/default/elasticsearch,这是重要的确实是,但是这并没有这样的伎俩无论是.深入研究内部设定的值/etc/default/elasticsearch,我发现了问题.有关整体解决方案的完整细分,请参阅我的最终答案.
正如@Suaro所述:我们的问题与此问题中讨论的问题有关,症状几乎相同,这个帖子重申了第一个链接中的START_DAEMON解决方案.这是一个良好的开端,但对我来说,并没有提供全面的解决方案.我更深入地研究了权限,堆大小和所有权,以找到最终解决方案.
这些是自2018年1月起根据Elasticsearch debian安装说明安装的Ubuntu 16.04上的Elasticsearch 6的步骤:
START_DAEMON=true在/etc/default/elasticsearch并重新启动服务.ES_HEAP_SIZE=1g/usr/share/elasticsearch.有可能root拥有这些,这是不理想的.如果您还不知道,以root身份运行任何服务会使您的基础架构暴露给攻击者.ES_USER=root并ES_GROUP=root解决您的问题.Elasticsearch将作为一项服务启动(即使他们的产品文档声称ES不会运行root).不要那样做.而是检查elasticsearch用户是否存在于本地,以及是否存在同名的组.
$ cut -d: -f1 /etc/passwd
$ cut -d: -f1 /etc/group
Run Code Online (Sandbox Code Playgroud)然后,将所有elasticsearch文件夹和资源的所有权更改为elasticsearch用户和组.
$ ~ $ > ll /usr/share/elasticsearch/
total 8.0K
drwxr-xr-x 2 elasticsearch 4.0K Jan 22 10:02 bin/
lrwxrwxrwx 1 elasticsearch 18 Dec 24 2015 config -> /etc/elasticsearch/
lrwxrwxrwx 1 elasticsearch 22 Dec 24 2015 data -> /var/lib/elasticsearch/
lrwxrwxrwx 1 elasticsearch 22 Dec 24 2015 logs -> /var/log/elasticsearch/
drwxr-xr-x 2 elasticsearch 4.0K Dec 24 2015 plugins/
# ^-- Take note that the symlinked directories need to be adjusted too
$ sudo chown -R elasticsearch:elasticsearch /usr/share/elasticsearch
$ sudo chown -R elasticsearch:elasticsearch /etc/elasticsearch/
$ sudo chown -R elasticsearch:elasticsearch /var/lib/elasticsearch/
$ sudo chown -R elasticsearch:elasticsearch /var/log/elasticsearch/
Run Code Online (Sandbox Code Playgroud)然后,设置的值ES_USER=elasticsearch,并ES_GROUP=elasticsearch在/etc/default/elasticsearch如果他们没有设置这种方式已经(如果你给在每#4诱惑).
再试一遍...
~ $ > sudo service elasticsearch status
? elasticsearch.service - LSB: Starts elasticsearch
Loaded: loaded (/etc/init.d/elasticsearch; bad; vendor preset: enabled)
Active: active (exited) since Mon 2018-01-22 20:51:29 UTC; 2min 25s ago
Docs: man:systemd-sysv-generator(8)
Process: 3133 ExecStop=/etc/init.d/elasticsearch stop (code=exited, status=0/SUCCESS)
Process: 3209 ExecStart=/etc/init.d/elasticsearch start (code=exited, status=0/SUCCESS)
~ $ > sudo systemctl restart elasticsearch.service
~ $ > sudo service elasticsearch status
? elasticsearch.service - LSB: Starts elasticsearch
Loaded: loaded (/etc/init.d/elasticsearch; bad; vendor preset: enabled)
Active: active (running) since Mon 2018-01-22 20:54:05 UTC; 2s ago
Docs: man:systemd-sysv-generator(8)
Process: 3306 ExecStop=/etc/init.d/elasticsearch stop (code=exited, status=0/SUCCESS)
Process: 3340 ExecStart=/etc/init.d/elasticsearch start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/elasticsearch.service
??3391 /usr/lib/jvm/java-8-openjdk-armhf/bin/java -Xms1g -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Delasticsearch -Des.pidfil
Jan 22 20:54:04 lego systemd[1]: Starting LSB: Starts elasticsearch...
Jan 22 20:54:05 lego elasticsearch[3340]: * Starting Elasticsearch Server
Jan 22 20:54:05 lego elasticsearch[3340]: ...done.
Jan 22 20:54:05 lego systemd[1]: Started LSB: Starts elasticsearch.
Jan 22 20:51:29 lego systemd[1]: Starting LSB: Starts elasticsearch...
Run Code Online (Sandbox Code Playgroud)EtViolà!
~ $ > curl -XGET 'localhost:9200/?pretty'
{
"status" : 200,
"name" : "Svarog",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "1.7.3",
"build_hash" : "NA",
"build_timestamp" : "NA",
"build_snapshot" : false,
"lucene_version" : "4.10.4"
},
"tagline" : "You Know, for Search"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2038 次 |
| 最近记录: |