Java笔记 ·

ELK实时日志管理-报错与解决

本文上接ELK实时日志管理-系统搭建,全放在一篇感觉篇幅过长,故分成几个小篇章。

8.附录2-报错与解决

8.1 Elasticsearch

8.1.1 CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed

错误提示:

java.lang.UnsupportedOperationException: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed

原因:

只是一个警告,主要是因为你Linux版本过低造成的。

解决方案:
1. 重新安装新版本的Linux系统
2. 警告不影响使用,可以忽略

8.1.2 用户授权问题

错误提示 1:

Error: Could not find or load main class org.elasticsearch.tools.JavaVersionChecker

错误提示 2:

No factory method found for class org.apache.logging.log4j.core.appender.RollingFileAppender 

错误提示 3:

Elasticsearch unable to start - Permission issue

原因:启动Elasticsearch的用户权限不够或未能正确配置授权

解决方案:
对用户授权或正确配置权限,用户正常情况下不会出现这类错误。

原因参考:Error: Could not find or load main class org.elasticsearch.tools.JavaVersionChecker

8.1.3 max file descriptors [40960] for elasticsearch process is too low, increase to at least [65536]

错误提示:

max file descriptors [40960] for elasticsearch process is too low, increase to at least [65536]

原因:软硬限制问题,用户最大可打开文件数太小

解决方案:

参考:Configuring system settings。假设启动Elasticsearch 用户为elasticsearch:

临时修改方案:

// https://www.elastic.co/guide/en/elasticsearch/reference/master/setting-system-settings.html#sysconfig

sudo su  ---进入root
ulimit -n 65536 --修改打开文件数的最大值
su elasticsearch --切回elasticsearch用户


永久修改方案:
在/etc/security/limits.conf中添加如下配置,增加用户elasticsearch打开文件数最大为65536:

# /etc/security/limits.conf 永久修改

elasticsearch  -  nofile  65536

8.1.4 max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

错误提示:

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

原因:
一个进程可以拥有的VMA(虚拟内存区域)的数量限制不满足elasticsearch的需求。

解决方案:
参考:Virtual memory

临时修改方案:

// https://www.elastic.co/guide/en/elasticsearch/reference/master/setting-system-settings.html#sysconfig

sysctl -w vm.max_map_count=262144

永久修改方案:

更新/etc/sysctl.conf下的vm.max_map_count值。该方案需要重启服务器。更新后可使用sysctl vm.max_map_count命令验证。

参与评论