ELK常见问题及解决方法

Elasticsearch安装使用问题及解决方法整理收集

can not run elasticsearch as root

错误描述:

[2018-03-25T23:10:12,449][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-6.2.3.jar:6.2.3]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-6.2.3.jar:6.2.3]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.2.3.jar:6.2.3]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.2.3.jar:6.2.3]
at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.2.3.jar:6.2.3]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-6.2.3.jar:6.2.3]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:85) ~[elasticsearch-6.2.3.jar:6.2.3]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:105) ~[elasticsearch-6.2.3.jar:6.2.3]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:172) ~[elasticsearch-6.2.3.jar:6.2.3]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:323) ~[elasticsearch-6.2.3.jar:6.2.3]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-6.2.3.jar:6.2.3]

解决方法: elasticsearch默认不能用root账户启动,所以可以添加其他账户或者给系统现有账户授权elasticsearch目录

[root@localhost elasticsearch-6.2.3]# sudoers
-bash: sudoers: command not found
[root@localhost elasticsearch-6.2.3]# whereis sudoers
sudoers: /etc/sudoers /etc/sudoers.d /usr/share/man/man5/sudoers.5.gz
[root@localhost elasticsearch-6.2.3]# ls -l /etc/sudoers
-r--r-----. 1 root root 3938 Jun  7  2017 /etc/sudoers
[root@localhost elasticsearch-6.2.3]# chmod -v u+w /etc/sudoers
mode of ‘/etc/sudoers’ changed from 0440 (r--r-----) to 0640 (rw-r-----)
[root@localhost elasticsearch-6.2.3]# vim /etc/sudoers

找到root,添加一行

## Allow root to run any commands anywher  
root    ALL=(ALL)       ALL  
scott  ALL=(ALL)       ALL  #这个是新增的用户

切换到scott账户启动elasticsearch

[root@localhost elasticsearch-6.2.3]# su scott
[scott@localhost elasticsearch-6.2.3]$ ./bin/elasticsearch
Exception in thread “main” java.nio.file.AccessDeniedException

错误描述:

Exception in thread “main” java.nio.file.AccessDeniedException: /usr/local/elk/elasticsearch-6.2.3/config/jvm.options
at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
at java.nio.file.Files.newByteChannel(Files.java:361)
at java.nio.file.Files.newByteChannel(Files.java:407)
at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:384)
at java.nio.file.Files.newInputStream(Files.java:152)
at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:58)

解决方法: 没有读取权限,给账户进行目录授权。
需要授权的用户本身没有权限给自己授权,所以切换到root下

[scott@localhost elasticsearch-6.2.3]$ su root
Password: 
[root@localhost elasticsearch-6.2.3]# 
[root@localhost elasticsearch-6.2.3]# chown -R scott ../elasticsearch-6.2.3  #../elasticsearch-6.2.3要授权的文件夹
cannot assign requested address

错误描述: org.elasticsearch.bootstrap.StartupException: BindTransportException[Failed to bind to [9300-9400]]; nested: BindException[Cannot assign requested address]
解决方法:
使用命令打开vim ./config/elasticsearch.yml你的elasticsearch.yml,修改network和port

network.host: 0.0.0.0
http.port: 9200

然后重新启动./bin/elasticsearch

持续更新中。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值