1.4常规es报错问题

news/2025/2/26 10:03:15

问题一:unable to install syscall filter

[2016-11-06T16:27:21,712][WARN ][o.e.b.JNANatives ] unable to install syscall filter:

Java.lang.UnsupportedOperationException: seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMPandCONFIG_SECCOMP_FILTERcompiledinatorg.elasticsearch.bootstrap.Seccomp.linuxImpl(Seccomp.java:349) ~[elasticsearch-5.0.0.jar:5.0.0]

at org.elasticsearch.bootstrap.Seccomp.init(Seccomp.java:630) ~[elasticsearch-5.0.0.jar:5.0.0]

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

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

问题二:可创建文件数太小

ERROR: bootstrap checks failed

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

原因:无法创建本地文件问题,用户最大可创建文件数太小

解决方案:

切换到root用户,编辑limits.conf配置文件, 添加类似如下内容:

vi /etc/security/limits.conf

添加如下内容:

*  soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

备注:* 代表Linux所有用户名称(比如 hadoop)

保存、退出、重新登录才可生效

问题三:可创建线程数太小

max number of threads [1024] for user [es] likely too low, increase to at least [2048]

原因:无法创建本地线程问题,用户最大可创建线程数太小

解决方案:切换到root用户,进入limits.d目录下,修改90-nproc.conf 配置文件。

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

找到如下内容:

* soft nproc 1024

#修改为

* soft nproc 2048

问题四:最大虚拟内存太小

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

原因:最大虚拟内存太小

解决方案:切换到root用户下,修改配置文件sysctl.conf

vi /etc/sysctl.conf

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl -p

然后重新启动elasticsearch,即可启动成功。

问题五:ElasticSearch启动找不到主机或路由

原因:ElasticSearch 单播配置有问题

解决方案:

检查ElasticSearch中的配置文件

vi  config/elasticsearch.yml

找到如下配置:

discovery.zen.ping.unicast.hosts: ["172.16.31.220", "172.16.31.221","172.16.31.224"]  

一般情况下,是这里配置有问题,注意书写格式

问题六:Failed to deserialize exception response from stream

org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response from stream

原因:ElasticSearch节点之间的jdk版本不一致

解决方案:ElasticSearch集群统一jdk环境

问题七:Unsupported major.minor version 52.0

原因:jdk版本问题太低

解决方案:更换jdk版本,ElasticSearch5.0.0支持jdk1.8.0

问题八:Unknown plugin license

bin/elasticsearch-plugin install license

ERROR: Unknown plugin license

原因:ElasticSearch5.0.0以后插件命令已经改变

解决方案:使用最新命令安装所有插件

bin/elasticsearch-plugin install x-pack

问题九:bootstrap checks failed

启动异常:ERROR: bootstrap checks failed

system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

问题原因:因为Centos6不支持SecComp,而ES5.2.1默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。详见 :https://github.com/elastic/elasticsearch/issues/22899

解决方法:在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

问题十:Failed to send join request to master

Failed to send join request to master        

 [{node-1}{WbcP0pC_T32jWpYvu5is1A}{2_LCVHx1QEaBZYZ7XQEkMg}{10.10.11.200}{10.10.11.200:9300}], reason [RemoteTransportException[[node-1][10.10.11.200:9300][internal:discovery/zen/join]]; nested: IllegalArgumentException[can't add node {node-2}{WbcP0pC_T32jWpYvu5is1A}{p-HCgFLvSFaTynjKSeqXyA}{10.10.11.200}{10.10.11.200:9301}, found existing node {node-1}{WbcP0pC_T32jWpYvu5is1A}{2_LCVHx1QEaBZYZ7XQEkMg}{10.10.11.200}{10.10.11.200:9300} with the same id but is a different node instance]; ]

问题原因:要是部署的时候从一个节点复制elasticsearch文件夹,其他节点可能包含被复制节点的data文件数据,需要把data文件下的文件清空

问题十一:java.lang.RuntimeException:can not run elasticsearch as root

解决方法: 使用普通用户运行

问题十二: 进程最大可同时打开文件数太小,至少要65536

解决方法: #elk是用户名

# echo "elk soft nofile 65536" >> /etc/security/limits.conf

# echo "elk hard nofile 65536" >> /etc/security/limits.conf

# su - elk

$ ulimit -n

65536

问题十三:请求锁内存失败,系统默认能让进程锁住的最大内存为64k

解决方法:

# echo "elk soft memlock unlimited" >> /etc/security/limits.conf

# echo "elk hard memlock unlimited" >> /etc/security/limits.conf

问题十四: elk用户拥有的内存权限太小了,至少需要262114

解决方法:

# echo vm.max_map_count=262144 >> /etc/sysctl.conf

# sysctl -p

vm.max_map_count = 262144

生产问题分析实例:一个10节点的ES集群,集群健康状态red:

{

"cluster_name": "elasticsearch_zach",

"status": "red",

"timed_out": false,

"number_of_nodes": 8,

"number_of_data_nodes": 8,

"active_primary_shards": 90,

"active_shards": 180,

"relocating_shards": 0,

"initializing_shards": 0,

"unassigned_shards": 20

}

我们集群是 red ,意味着我们缺数据(主分片 + 副本分片)了。

我们知道我们集群原先有 10 个节点,但是在这个健康状态里列出来的只有 8 个数据节点。

有两个数据节点不见了。我们看到有 20 个未分配分片。

这就是我们能收集到的全部信息。那些缺失分片的情况依然是个谜:

我们是缺了 20 个索引,每个索引里少 1 个主分片?

还是缺 1 个索引里的 20 个主分片?

还是 10 个索引里的各 1 主 1 副本分片?

具体是哪个索引?

要回答这个问题,我们需要使用 level 参数让 cluster-health 答出更多一点的信息:

GET _cluster/health?level=indices

{

"cluster_name": "elasticsearch_zach",

"status": "red",

"timed_out": false,

"number_of_nodes": 8,

"number_of_data_nodes": 8,

"active_primary_shards": 90,

"active_shards": 180,

"relocating_shards": 0,

"initializing_shards": 0,

"unassigned_shards": 20

"indices": {

"v1": {

"status": "green",

"number_of_shards": 10,

"number_of_replicas": 1,

"active_primary_shards": 10,

"active_shards": 20,

"relocating_shards": 0,

"initializing_shards": 0,

"unassigned_shards": 0

},

"v2": {

"status": "red",

"number_of_shards": 10,

"number_of_replicas": 1,

"active_primary_shards": 0,

"active_shards": 0,

"relocating_shards": 0,

"initializing_shards": 0,

"unassigned_shards": 20

},

"v3": {

"status": "green",

"number_of_shards": 10,

"number_of_replicas": 1,

"active_primary_shards": 10,

"active_shards": 20,

"relocating_shards": 0,

"initializing_shards": 0,

"unassigned_shards": 0

},

....

}

}

我们可以看到 v2 索引就是让集群变 red 的那个索引。

由此明确了,20 个缺失分片全部来自这个索引。

我们还可以看到这个索引曾经有 10 个主分片和一个副本,而现在这 20 个分片全不见了。

可以推测,这 20 个索引就是位于从我们集群里不见了的那两个节点上。


http://www.niftyadmin.cn/n/5868519.html

相关文章

PCEP使用

PCEP(Path Computation Element Protocol)主要用于网络中路径计算的请求和响应,特别是在多协议标签交换(MPLS)和光网络等环境中。以下是 PCEP 的使用方法和步骤: PCEP 的使用步骤 环境准备: 确…

idea + Docker + 阿里镜像服务打包部署

一、下载docker desktop软件 官网下载docker desktop,需要结合wsl使用 启动成功的画面(如果不是这个画面例如一直处理start或者是stop需要重新启动,不行就重启电脑) 打包成功的镜像在这里,如果频繁打包会导致磁盘空间被占满,需…

视频裂变加群推广分享引流源码

源码介绍 视频裂变加群推广分享引流源码 最近网上很火,很多人都在用,适合引流裂变推广 测试环境:PHP7.4(PHP版本不限制) 第一次访问送五次观看次数,用户达到观看次数后需要分享给好友或者群,好友必须点击推广链接后才会增加观看次…

深入解析提示词:从基础到结构化应用

在人工智能蓬勃发展的当下,提示词(Prompt)扮演着至关重要的角色。无论是在与聊天机器人交流,还是驱动复杂智能体完成任务,精准且高效的提示词都能起到事半功倍的效果。本文将带你全面了解提示词,深入探索结…

Flutter - 基础Widget

Flutter 中万物皆 Widget,基础Widget 同步对应 Android View. 普通文本 Text /*** 控制文本样式统一使用 style:TextStyle, 例:fontSize(字体大小),color(颜色),shadows(阴影)等等* 控制文本布局需单独设置:* textAlign(文不对齐方式)* te…

【论文学习】DeepSeek-V3 总结

文章目录 Abstract1. Introduction2. Architecture2.1 Basic Architecture2.2 Multi-Token Prediction 3. Infrastructures3.1 Compute Clusters3.2 Training Framework3.3 FP8 Training 4. Pre-Training4.1 Data Construction4.2 Hyper-Parameters4.3 Long Context Extension4…

大白话React第六章深入学习 React 高级特性及生态

大白话React第六章深入学习 React 高级特性及生态 1. React Hooks 深入探究 React Hooks 就像是给你的 React 工具箱里添加了一堆超好用的小工具,让你在写函数组件的时候更轻松、更强大。 useEffect Hook:它就像一个“副作用管理器”。比如你要在组件…

DiskGenius v5.6.1 硬盘管理 文件恢复 数据恢复 官方版

参考原文:DiskGenius v5.6.1 硬盘管理 文件恢复 数据恢复 官方版 软件介绍 老牌软件了,无论是数据恢复,磁盘管理都非常好用 DiskGenius,集数据恢复、分区管理、备份还原等多功能于一身的超级工具软件。DiskGenius是专业级的数据…