Elasticsearch7.7.1集群不能相互发现的问题解决以及Elasticsearch7.7.1安装analysis-ik中文分词插件的应用

news2024/9/25 16:45:07

一、Elasticsearch7.7.1集群不能相互发现的问题解决

    在使用elasticsearch7.7.1搭建集群,使用了3台服务器作为节点,但在搭建的过程中发现每台服务器的elasticsearch服务都正常,但是不能相互发现,期间进行了一些配置的修改偶尔出现了相互发现,但没过多久又断了联系。蛋疼了一阵子。今天全力排查这方面的问题,目前看集群已经稳定。主要原因还是elasticsearch7.*版本有些不一样,网上的资料各个版本都有,但都比较老,好多配置项在7版本中已经废弃了,而到网上一找到处都充斥着这些老版本的使用教程,新的太少。下面是我使用elasticsearch7.7.1搭建集群最后使用的配置。

    elasticsearch7.7主要的配置项discovery.seed_hosts和cluster.initial_master_nodes,这是7.中重要的发现和集群初始化设置项。

    discovery.seed_hosts: Elasticsearch将绑定到可用的回送地址,并将扫描本地端口9300至9305,以尝试连接到在同一服务器上运行的其他节点,这里ES提供了自动群集检查,而无需进行任何配置。如果要与其他主机上的节点组成集群,则必须设置discovery.seed_hosts,提供集群中其他主机的列表,每个值都采用 host:port 或者 host 形式。

    cluster.initial_master_nodes: 首次启动全新的Elasticsearch集群时,会出现集群选举情况,该步骤确定了在第一次选举中符合主机资格的节点的集合。当你开启新的集群是 生产模式,你必须明确列出首次选举中符合主机资格的节点,使用 cluster.initial_master_nodes参数设置该列表。重新启动集群或者有新节点加入集群时,不应使用此设置。
在elasticsearch7.*中我使用的elasticsearch.yml配置如下:

cluster.name: test-es
node.name: node01
path.data: /opt/elasticsearch/data
path.logs: /opt/elasticsearch/log
network.host: 192.21.17.15
http.port: 9200
discovery.seed_hosts: ["192.21.17.15", "192.41.19.66", "192.88.117.14"]
#只在一台服务器上配置了以下这行,重新启动集群或者有新节点加入集群时,不应使用此设置。
cluster.initial_master_nodes: ["192.21.17.15", "192.41.19.66", "192.88.117.14"]

http.cors.enabled: true
http.cors.allow-origin: "*"

    默认安装的es日志目录在/var/lib/elasticsearch下面,只能root权限查看,建议修改一下path.logs或者改一下原path的权限,日志目录中会有:集群名称.log文件,在这里查看各种日志非常方便排查问题。比如cluster.initial_master_nodes会配置报错以及主服务器挂了之后,会进行主服务器的切换等都有相应的日志。
#配置的时候如果没有配置cluster.initial_master_nodes会报错

master not discovered yet, this node has not previously joined a bootstrapped
[2020-06-17T][WARN ][o.e.c.c.ClusterFormationFailureHelper] [node01] master not discovered yet, this node has not previously joined a bootstrapped (v7+) cluster, and [cluster.initial_master_nodes] is empty on this node: have discovered [{node01}{n7JrlaC_TMGwNBcALLIFnA}{lCwPWtwDQWeUNiGIrScq5A}
#当在集群运行过程中,其中一台主服务器挂了之后,会进行主服务器的切换
[2020-06-17T][INFO ][o.e.c.s.ClusterApplierService] [node02] master node changed {previous [], current [{node03}{A_hBOpISQ12L3tu5DCWjUA}{e3H0NrtBS3WE1HUwOW3P1g

    关于集群的配置number_of_replicas和number_of_shards。number_of_replicas可以热配置,number_of_shards在集群创建的时候配置好,后面不能热更改。更改会报错:{Can't update non dynamic settings [[index.number_of_shards]] for open indices},搭建好的截图如下:

二、Elasticsearch7.7.1安装analysis-ik中文分词插件的应用 

    analysis-ik中文分词插件的GITHUB地址: GitHub - infinilabs/analysis-ik: 🚌 The IK Analysis plugin integrates Lucene IK analyzer into Elasticsearch and OpenSearch, support customized dictionary. 在页面中列出了IK version与ES version的相对应版本,即你所需要下载的IK版本一定要与ES版本相适应,否则就不能用了。比如给Elasticsearch7.7.1安装IK7.4.0版本的话在启动ES时就会报错如下:

org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-7.7.1.jar:7.7.1] Caused by: java.lang.IllegalArgumentException: Plugin [analysis-ik] was built for Elasticsearch version 7.4.0 but version 7.7.1 is running

以下为安装过程记录

#第1种方式:自己下载zip文件安装
user@u007:/usr/share/elasticsearch/plugins/$ mkdir ik; cd ik
user@u007:/usr/share/elasticsearch/plugins/ik$ sudo wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.1/elasticsearch-analysis-ik-7.7.1.zip
user@u007:/usr/share/elasticsearch/plugins/ik$ sudo unzip elasticsearch-analysis-ik-7.7.1.zip
user@u007:/usr/share/elasticsearch/plugins/ik$ sudo rm -f elasticsearch-analysis-ik-7.7.1.zip
#解压完重启ES
user@u007:/usr/share/elasticsearch/plugins/ik$ sudo /etc/init.d/elasticsearch restart
[ ok ] Restarting elasticsearch (via systemctl): elasticsearch.service.
user@u007:/usr/share/elasticsearch/plugins/ik$ cd /usr/share/elasticsearch/bin
#通过elasticsearch-plugin list命令可以查看到已经安装的插件列表
user@u007:/usr/share/elasticsearch/bin$ sudo ./elasticsearch-plugin list
ik

#第2种方式:直接使用elasticsearch-plugin工具安装
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.0/elasticsearch-analysis-ik-7.7.1.zip

 IK分词安装好了之后我们来试一下吧,IK分词器有两种分词设置,ik_max_word和ik_smart,有什么区别呢?
ik_smart: 会做最粗粒度的拆分,比如我们去电影院吧,里面的电影院就直接是电影院。
ik_max_word:会将文本做最细粒度的拆分,比如我们去电影院吧,里面的电影院会拆分成电影院和电影。
可以使用以下进行测试:

curl -XGET 'http://127.0.0.1:9200/online/_analyze?pretty' -H 'Content-Type: application/json' -d '
{
    "analyzer": "ik_smart",
    "text": "我们去电影院吧"
}'

curl -XGET 'http://127.0.0.1:9200/online/_analyze?pretty' -H 'Content-Type: application/json' -d '
{
    "analyzer": "ik_max_word",
    "text": "我们去电影院吧"
}'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2164170.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(附源码)SSM养老院综合服务管理系统-计算机毕设 23237

基于SSM的养老院综合服务管理系统 摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,…

助力解析化学图像生成文本分析,化学大语言模型 ChemVLM 来啦!

ChemVLM 是由上海人工智能实验室于 2024 年推出的首个面向化学领域的开源多模态大型语言模型。该模型旨在解决化学图像理解与文本分析之间的不兼容问题,通过结合视觉 Transformer (ViT)、多层感知机 (MLP) 和大型语言模型 (LLM) 的优势,实现了对化学图像…

万维组态介绍

演示地址:http://121.40.16.189:12000 万维组态本地部署文档万维组态线上部署文档万维组态操作说明文档万维组态接入文档万维组态绑点示例文档万维组态接入源代码说明万维组态扩展图元示例文档万维组态大屏图元示例文档 项目介绍 万维组态是一款功能强大的基于Web的…

sar信号RD域的距离向傅里叶变换

下面可知,举例傅里叶变换时,posp 距离时间和频率 t不等于ft/K。而方位时间和频率时这种线性关系

整合SpringSecurity框架经典报错

报错描述Description: Field userDetailsService in com.atguigu.security.config.WebSecurityConfig required a bean of type org.springframe 这是整合SpringSecurity权限认证中经常出现的一个问题,由于SpringSecurity中这个UserDetailsService未找到 解决方案…

稀疏线性方程组求解技术——超节点法(Supernodal)简介

一、介绍 直接法的基础是矩阵的分解,常见的分解形式有LU分解、Cholesky分解、LDL分解等。 直接法通过将A矩阵分解成两个或多个因子的乘积,使得原方程组转化为若干个较容易求解的子问题。例如LU分解ALU,其中L是单位下三角矩阵,U是…

JavaScript typeof运算符

在js中可以typeof来做到确定一个值到底是什么类型。 <script>var num 100;//数值类型var name "mingzi";//字符串类型var book true;//布尔类型var student {name: " 小明",age: 16,tnum: "213444"}//对象是由多个数据组合而成&#x…

效率工具推荐 | 高效管理客服中心知识库

人工智能AI的广泛应用&#xff0c;令AI知识库管理已成为优化客服中心运营的核心策略之一。一个高效、易用且持续更新的知识库不仅能显著提升客服代表的工作效率&#xff0c;还能极大提升客户的服务体验。而高效效率工具如HelpLook&#xff0c;能够轻松搭建AI客服帮助中心&#…

[论文速读] Multimodal Fusion on Low-quality Data:A Comprehensive Survey 低质多模态数据融合综述

摘要&#xff1a; 多模态融合侧重于整合多种模态的信息&#xff0c;以实现更准确的预测&#xff0c;在自动驾驶和医疗诊断等广泛场景中取得了显着进展。然而&#xff0c;多模态融合的可靠性在很大程度上仍未得到探索&#xff0c;特别是在低质量数据设置下。本文调查了野外多模态…

Android平台使用VIA创建语音交互应用

Android平台使用VIA创建语音交互应用 概述 在 Android 平台上开发一款语音助手应用需要整合多种技术,包括语音识别(ASR)、文字转语音(TTS)、以及热词检测(Hotword Detection)。这些技术共同构成了语音助手应用的核心交互方式,使用户能够通过语音命令与设备进行无缝交…

JavaWeb便利店管理系统

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 spring-mybatis.xml3.5 spring-mvc.xml3.5 login.jsp 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平台Java领域优…

spring里面内置的非常实用的工具

一 、请求数据记录 Spring Boot提供了一个内置的日志记录解决方案&#xff0c;通过 AbstractRequestLoggingFilter 可以记录请求的详细信息。 AbstractRequestLoggingFilter 有两个不同的实现类&#xff0c;我们常用的是 CommonsRequestLoggingFilter。 通过 CommonsRequestL…

Python 烟花展示:使用 Pygame 创建绚丽的夜空

在Python中&#xff0c;使用pygame库可以轻松地创建图形和动画效果&#xff0c;非常适合制作各种游戏和视觉展示。今天&#xff0c;我们将一起探索如何使用pygame来制作一个简单的烟花展示程序。这个程序将模拟烟花在夜空中绽放的壮丽景象&#xff0c;通过随机生成的粒子来模拟…

MQTT客户端实战:从连接到通信。详细说明MQTT客户端和MQTT代理进行通信

EMQX安装 EMQX服务器安装 安装文档&#xff0c;见链接不另外写 https://docs.emqx.com/zh/emqx/latest/deploy/install-ubuntu.html 启动 EMQX 启动为一个 systemd 服务&#xff1a; sudo systemctl start emqx在windows安装客户端 在线 MQTT WebSocket 客户端工具&…

唯众智能化控制箱

为满足智慧城市、雪亮工程、智能交通、智慧农业等领域大数据信息化的管理要求&#xff0c;唯众自主研发设计了智能化控制箱&#xff0c;该产品是一款集智能网络传输、温湿度监测、门锁控制于一体的综合系统。该系统由先进的I/O网络模块、高精度传感器、强大的管理后端以及便捷的…

window下 php 安装 lua扩展

1.执行php -v 看看自己的php是什么版本 2.下载对应版本 https://pecl.php.net/package/lua 3.安装 php_lua.dll 放在 php的ext文件夹下 liblua.dll放在php的根目录下 4.编辑php.ini 5.重启 6. 执行 php -m

计算机毕业设计之:云中e百货微信小程序设计与实现(源码+文档+定制)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

国内可用ChatGPT-4中文镜像网站整理汇总【持续更新】

一、GPT中文镜像网站 ① yixiaai.com 支持GPT4、4o以及o1&#xff0c;支持MJ绘画 ② chat.lify.vip 支持通用全模型&#xff0c;支持文件读取、插件、绘画、AIPPT ③ AI Chat 支持GPT3.5/4&#xff0c;4o以及MJ绘画 二、模型知识 o1/o1-mini&#xff1a;最新的版本模型&am…

跑lvs出现soft connect怎么处理?

首先&#xff0c;我们先了解一下什么是soft connect。简而言之&#xff0c;就是工具会将所有连接在psub上的信号认作soft connect&#xff08;也就是short&#xff09;。如图1所示&#xff0c;VSS和AVSS都接到了p上&#xff0c;它们通过psub便有了soft connect。 如果有soft co…

AfuseKt1.3.6-10110功能强大的安卓网络视频播放器,支持多种在线存储和媒体管理平台!

AfuseKt 是一款功能强大的安卓网络视频播放器&#xff0c;专为满足用户对多样化媒体播放需求而设计。它不仅支持多种流行的在线存储和媒体管理平台&#xff0c;如阿里云盘、Alist、WebDAV和Emby等&#xff0c;还提供了刮削功能和海报墙展示&#xff0c;使得用户能够更加便捷地管…