ElasticSearch学习中的坑

elasticsearch 版本为 6.8.2

1 安装完启动报错:   解决,建立新用户执行

[root@localhost bin]# ./elasticsearch
[2019-09-01T05:56:36,875][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [unknown] 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:163) ~[elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.8.2.jar:6.8.2]
	at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.8.2.jar:6.8.2]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116) ~[elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.8.2.jar:6.8.2]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
	at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-6.8.2.jar:6.8.2]
	... 6 more

 

用非root用户启动 ,对文件没有执行权限: 对新用户赋予可执行权限 chown -R es:es elasticsearch-6.8.2/

[es@localhost bin]$ ./elasticsearch
Exception in thread "main" java.nio.file.AccessDeniedException: /opt/elasticsearch-6.8.2/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:60)

 

ES默认bootstrap.system_call_filter为true进行检测,所以导致检测失败

[es@localhost elasticsearch-6.8.2]$ ./bin/elasticsearch
[2019-09-01T06:09:27,605][WARN ][o.e.b.JNANatives         ] [unknown] unable to install syscall filter: 
java.lang.UnsupportedOperationException: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed
	at org.elasticsearch.bootstrap.SystemCallFilter.linuxImpl(SystemCallFilter.java:342) ~[elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.bootstrap.SystemCallFilter.init(SystemCallFilter.java:617) ~[elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.bootstrap.JNANatives.tryInstallSystemCallFilter(JNANatives.java:260) [elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.bootstrap.Natives.tryInstallSystemCallFilter(Natives.java:113) [elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:108) [elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) [elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) [elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) [elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) [elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) [elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) [elasticsearch-cli-6.8.2.jar:6.8.2]
	at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-cli-6.8.2.jar:6.8.2]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116) [elasticsearch-6.8.2.jar:6.8.2]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) [elasticsearch-6.8.2.jar:6.8.2]
[2019-09-01T06:09:45,111][INFO ][o.e.e.NodeEnvironment    ] [45eSasN] using [1] data paths, mounts [[/ (rootfs)]], net usable_space [41.9gb], net total_space [46.9gb], types [rootfs]
[2019-09-01T06:09:45,112][INFO ][o.e.e.NodeEnvironment    ] [45eSasN] heap size [990.7mb], compressed ordinary object pointers [true]
[2019-09-01T06:09:45,115][INFO ][o.e.n.Node               ] [45eSasN] node name derived from node ID [45eSasNbScGS8amGSXmqtA]; set [node.name] to override
[2019-09-01T06:09:45,116][INFO ][o.e.n.Node               ] [45eSasN] version[6.8.2], pid[24758], build[default/tar/b506955/2019-07-24T15:24:41.545295Z], OS[Linux/2.6.32-642.el6.x86_64/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_192/25.192-b12]

 

网上老哥解决办法:

elasticsearch.yml 添加 :

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

 

文件数数和线程数不够:

 

 第三个报错解决完之后,其实是运行起来的,但是只能用127.0.0.1:9200访问,用本机IP访问不了,所以我就把elasticsearch.yml的network,host改成本机IP,就出现了这个错

报这个错还以为IP配置错了,网上一查说是文件数数和线程数不够。

解决办法:  参考  https://www.jianshu.com/p/2285f1f8ec21

回到root用户   超过soft的值就会警告,但不会报错。超过hard就不行了。

nofile 是文件数,nproc是线程数

vim /etc/security/limits.conf

 

 

上面的nproc好像不管用

vim /etc/security/limits.d/90-nproc.conf

改为4096

 

 vi /etc/sysctl.conf

 

 sysctl -p
执行命令sysctl -p生效

 

虚拟机安装 elasticsearch,本机不能IP:9200不能访问:

网上试了很多方法:

感觉靠谱的有下面两个:

 

 后来关了防火墙,挑来挑去,结果就是关了防火墙,只打开network.host: 就管用了

 

转载于:https://www.cnblogs.com/helloworld6379/p/11440706.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值