Elasticsearch 报错处理
1.Elasticsearch启动节点过少:
failed to obtainnode locks, tried [[/home/user1/elasticsearch-5.6.1/data/elasticsearch]] withlock id [0]; maybe these locations are not writable or multiple nodes werestarted without increasing [node.max_local_storage_nodes:
出现这种情况是应为配置文件设置为单节点,而elasticsearch在一台服务器上多启动。需要把多余的elasticsearch 进程杀死即可
ps -ef | grepelastic
kill -9 -进程号(7472)
2. 报错:
ERROR: bootstrap checks failed
system call filters failed to install; check the logs and fix yourconfiguration or disable system call filters at your own risk
原因:
这是在因为Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
解决:
在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
要是出现配置错误,可能是修改配置文件错误:注意空格什么的。(也碰到自己莫名其妙就是错误,别人一改就好的神奇情况)
3. “Elasticsearchrequires at least Java 8 but your Java versionfrom XXXX does not meet this requirement
这个错误忘记截图了,困扰了我蛮久的,我的jdk为1.8刚从官网下载的(还热乎着啊)。
原因:推测是es启动使用的是普通用户,所以java环境可能受到权限限制无法进行访问
解决:直接将es放置在/home目录下的启动用户目录下,如home/user/这样可以有效的避免es启动时各种权限问题。
4.还用一种 bootstrap checks failed错误
system call filters failed to install
; check the logs and fix your configuration or disable system call filters at your
原因:出现错误的原因:是因为centos6.x操作系统不支持SecComp,而elasticsearch 5.5.2默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
解决方案:
在elasticsearch.yml中添加配置项:bootstrap.system_call_filter为false:
1
2
3
|
# ----------------------------------- Memory -----------------------------------
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
|