please check that any required plugins are installed, or check the breaking changes documentation f
2022-01-26 08:52:58
今天在部署es集群的时候,发现它报了下面这样的一个错误:
"Caused by: java.lang.IllegalArgumentException: unknown setting [discovery.send_hosts] please check that any required plugins are installed, or check the breaking changes documentation for removed settings",
"at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:532) ~[elasticsearch-7.6.2.jar:7.6.2]",
"at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:477) ~[elasticsearch-7.6.2.jar:7.6.2]",
"at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:448) ~[elasticsearch-7.6.2.jar:7.6.2]",
"at org.elasticsearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:419) ~[elasticsearch-7.6.2.jar:7.6.2]",
"at org.elasticsearch.common.settings.SettingsModule.<init>(SettingsModule.java:149) ~[elasticsearch-7.6.2.jar:7.6.2]",
"at org.elasticsearch.node.Node.<init>(Node.java:356) ~[elasticsearch-7.6.2.jar:7.6.2]",
"at org.elasticsearch.node.Node.<init>(Node.java:257) ~[elasticsearch-7.6.2.jar:7.6.2]",
"at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:221) ~[elasticsearch-7.6.2.jar:7.6.2]",
"at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:221) ~[elasticsearch-7.6.2.jar:7.6.2]",
"at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:349) ~[elasticsearch-7.6.2.jar:7.6.2]",
"at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170) ~[elasticsearch-7.6.2.jar:7.6.2]",
开始的时候,我以为是JDK的问题,当我在linux上面重新安装了一个JDK之后,发现还是没有解决根本的问题,错误依然存在。后来,我就开始查看自己写的快速部署ES集群的脚本,集群shell脚本如下:
for port in $(seq 1 3); \
do \
mkdir -p /mydata/elasticsearch/master-${port}/config
mkdir -p /mydata/elasticsearch/master-${port}/data
chmod -R 777 /mydata/elasticsearch/master-${port}
cat <<EOF> /mydata/elasticsearch/master-${port}/config/elasticsearch.yml
cluster.name: my-es
node.name: es-master-${port}
node.master: true
node.data: false
network.host: 0.0.0.0
http.host: 0.0.0.0
http.port: 920${port}
transport.tcp.port: 930${port}
discovery.zen.ping_timeout: 10s
discovery.send_hosts: ["172.18.12.21:9301","172.18.12.22:9302","172.18.12.23:9303"]
cluster.initial_master_nodes: ["172.18.12.21"]
docker run --name elasticsearch-node-${port} \
-p 920${port}:920${port} -p 930${port}:930${port} \
--network=mynet --ip 172.18.12.2${port} \
-e ES_JAVA_OPTS="-Xms300m -Xmx300m" \
-v /mydata/elasticsearch/master-${port}/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/master-${port}/plugins:/usr/share/elasticsearch/plugins \
--privileged=true \
-d elasticsearch:7.6.2
发现脚本里面有一个discovery.send_hosts,这个是去设置集群节点IP的,可是错误里面显示又没有这个设置,然后百度了一下,我将discovery.send_hosts替换成了discovery.zen.ping.unicast.hosts,修改之后的脚本如下:
for port in $(seq 1 3); \
do \
mkdir -p /mydata/elasticsearch/master-${port}/config
mkdir -p /mydata/elasticsearch/master-${port}/data
chmod -R 777 /mydata/elasticsearch/master-${port}
cat <<EOF> /mydata/elasticsearch/master-${port}/config/elasticsearch.yml
cluster.name: my-es
node.name: es-master-${port}
node.master: true
node.data: false
network.host: 0.0.0.0
http.host: 0.0.0.0
http.port: 920${port}
transport.tcp.port: 930${port}
discovery.zen.ping_timeout: 10s
discovery.zen.ping.unicast.hosts: ["172.18.12.21:9301","172.18.12.22:9302","172.18.12.23:9303"]
discovery.zen.minimum_master_nodes: 2
cluster.initial_master_nodes: ["172.18.12.21"]
docker run --name elasticsearch-node-${port} \
-p 920${port}:920${port} -p 930${port}:930${port} \
--network=mynet --ip 172.18.12.2${port} \
-e ES_JAVA_OPTS="-Xms300m -Xmx300m" \
-v /mydata/elasticsearch/master-${port}/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/master-${port}/plugins:/usr/share/elasticsearch/plugins \
--privileged=true \
-d elasticsearch:7.6.2
然后我再运行这个脚本,发现成功启动了ES集群。
discovery.seed_hosts是一种新的配置方式,
discovery.zen.ping.unicast.hosts是一种过时的配置方式,可以在 elasticsearch.yml 配置文件中使用discovery.zen.ping.unicast.hosts静态设置设置主机列表。
discovery.zen.ping.unicast.hosts: [“host1”, “host2”]
具体的值是一个主机数组或逗号分隔的字符串。
因为我的shell脚本里面配置的都是写在elasticsearch.yml这个配置文件中,是静态设置的主机列表,故需要使用discovery.zen.ping.unicast.hosts来进行设置。
在调试的过程中,可能需要频繁的创建docker容器或者删除docker容器,现在将调试命令贡献给大家,大家可以按需使用:
查询docker运行日志:
docker logs 容器id
批量停止es集群容器:
docker stop $(docker ps -a | grep elasticsearch-node-* | awk ‘{ print $1}’)
批量删除es集群容器:
docker rm $(docker ps -a | grep elasticsearch-node-* | awk ‘{ print $1}’)
check_mk插件
This repository holds a copy of LGB check_mk plugins. Each sub-directory contains
one plugin including a README with installation instructions.
I uploaded the mk packages to http://exchange.check-mk.org/
Fork the project
Commit and push until you are happy with your contribution
Send a pull request with a description of your changes
Wait for merge ;-)
自定义分析器
虽然Elasticsearch内置了一系列的分析器,但是真正的强大之处在于定制你自己的分析器。你可以通过在配置文件中组合字符过滤器,分词器和表征过滤器,来满足特定数据的需求。
分析器 是三个顺序执行的组件的结合(字符过滤器,分词器,表征过滤器)。
字符过滤器
字符过滤器是让字符串在被分词前变得更加“整洁”。例如,如果我们的文 本是HTML格式,它可能会
ubuntu环境下使用apt-get install elasticsearch安装es,一路掉坑,做个简单记录,避免再次踩坑。systemctl start elasticsearch 方式启动,通过 journalctl -xe 和 查看 elasticsearch日志进行排错。当前的elasticserch版本是8.6,日志默认位置在/var/log/elasticsearch/elasticsearch.log.优先使用。搜索答案,其次参考网络其他答案。
下载汉语分词器插件:elasticsearch-analysis-ik
代码地址:https://github.com/medcl/elasticsearch-analysis-ik
命令行安装:
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.0/elasticsearch-analysis
Docker elasticsearch 报错 unknown setting [cluster.initial_master_nodes] 的解决办法
在 根目录 docker-compose.yml 文件中找到并删除行 - cluster.initial_master_nodes=laradock-node
elasticsearch:
build: ./elasticsearch
volumes:
- elasticsearch:/usr/share/ela
java.lang.RuntimeException: java.lang.IllegalArgumentException: unknown setting [mode] please check that any required plugins are installed, or check the breaking changes documentation for removed settings
at com.alibaba.otter.c
升级原因:kibana 升级至6.4 无法正常启动连接 6.2 版本es集群数据;
x-pack 插件错误:
[2018-09-19×××7:12:54,555][ERROR][o.e.b.Bootstrap ] Exception
java.lang.IllegalArgumentException: property [name] ...
1.报错:此时不应有 \java\jdk1.8.0_20
2.报错:‘elasticsearch.bat’ 不是内部或外部命令,也不是可运行的程序或批处理文件
3报错unknown setting [node.master] please check that any required plugins are installed, or check the breaking changes documentation
Elasticsearch问题解决:unknown setting [xpack.security.transport.ssl.enabled] please check that any required plugins are installed
今天有个小伙伴说Elasticsearch从高版本的java客户端换成原生的TransportClient后,连不上ES集群了,我查看并测试了这个问题。
一、查看现有集群信息
我使用他提供的ES集群链接信息,在服务器上看了一下集群的基本信息,发现es是7.10
ELK是由Elasticsearch、Logstash、Kiban三个开源软件的组合。在实时数据检索和分析场合,三者通常是配合共用,而且又都先后归于 Elastic.co 公司名下,故有此简称。
这几天在做openapi中的一些数据推送,测试环境已经通过,到压测环境java连接es时候报异常:xception in thread "main" NoNodeAvailableException[None of the configured nodes are available...... 搜了一下网上的解决方案. 1、代码配置ip,端口号2、es集群起了clustername与集群配置不一...
手把手教学:使用Elastic search和Kibana进行数据探索(Python语言)
https://www.evget.com/article/2017/7/20/26615.html
Kibana基本使用
http://blog.csdn.net/ming_311/article/details/50619859
Elasticsearch索引
1、问题出现环境,OS版本:CentOS-7-x86_64-Minimal-1708;ES版本:elasticsearch-6.2.2。
1、max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量
ul...
摘要:通过JAVA API操作elasticsearch5.6.1的连接及连接过程中所遇到的问题,问题分析,问题解决。作为一个ES的JAVA操作的新生参考与记录。0. 官方文档JAVA操作ES的文档:
https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/index.html
如果安装了xpack一定要查看这个
今天在部署es集群的时候,发现它报了下面这样的一个错误:
uncaught exception in thread [main]
java.lang.IllegalArgumentException: unknown setting [discovery.send_hosts] please check that any required plugins are installed, or check the breaking changes documentation for removed settin