当前位置: 首页 > news >正文

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

一、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": "我们去电影院吧"
}'

相关文章:

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

一、Elasticsearch7.7.1集群不能相互发现的问题解决 在使用elasticsearch7.7.1搭建集群,使用了3台服务器作为节点,但在搭建的过程中发现每台服务器的elasticsearch服务都正常,但是不能相互发现,期间进行了一些配置的修改偶尔出现了…...

蓝牙Mesh介绍

蓝牙Mesh(Bluetooth Mesh)是一种基于蓝牙技术的无线通信网络拓扑,用于在设备之间创建大规模的多点到多点网络。蓝牙Mesh网络可以让多个蓝牙设备相互通信和协作,适合需要高覆盖范围和高可靠性的场景,例如智能家居、工业…...

Qt 窗口中鼠标点击事件的坐标探讨

// 鼠标点击事件 void Widget::mousePressEvent(QMouseEvent *event) {/*event->pos()、event->windowPos()和event->localPos()都表示鼠标点击位置在窗口中的位置,它们的值都是一样的,区别在于event->pos()是QPoint类型,event-&…...

服务器虚拟化的全面指南

1. 引言 在数字化转型的浪潮中,服务器虚拟化成为现代IT基础设施的核心组成部分。它通过将物理服务器资源分割成多个虚拟资源,极大地提高了资源利用率和灵活性。本篇文章将深入探讨服务器虚拟化的概念、优势、挑战、技术工具、最佳实践及未来发展趋势。 …...

Linux启动mysql报错

甲方公司意外停电,所有服务器重启后,发现部署在Linux上的mysql数据库启动失败.再加上老员工离职,新接手项目,对Linux系统了解不多,解决起来用时较多,特此记录。 1.启动及报错 1.1 启动语句1 启动语句1&a…...

基于大数据的二手房价数据可视化系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...

C++模拟实现vector容器【万字模拟✨】

更多精彩内容..... 🎉❤️播主の主页✨😘 Stark、-CSDN博客 本文所在专栏: 学习专栏C语言_Stark、的博客-CSDN博客 项目实战C系列_Stark、的博客-CSDN博客 数据结构与算法_Stark、的博客-CSDN博客 座右铭:梦想是一盏明灯&#xff…...

论文笔记:LAFF 文本到视频检索的新基准

整理了ECCV2022 Lightweight Attentional Feature Fusion: A New Baseline for Text-to-Video Retrieval 论文的阅读笔记 背景模型问题定义LAFF(Lightweight Attention Feature Fusion)LAFF Block 实验消融实验可视化对比试验 这篇文章提出了一种新颖灵活的特征融合方式&#x…...

iSTFT 完美重构的条件详解

目录 引言1. 短时傅里叶变换(STFT)与逆变换(iSTFT)概述2. 完美重构的条件3. 数学推导4. 实现要点5. 示例代码6. 总结 引言 在数字信号处理领域,短时傅里叶变换(Short-Time Fourier Transform,简…...

SSH(安全外壳协议)可以基于多种加密算法

SSH(安全外壳协议)可以基于多种加密算法,确保数据的机密性和完整性。以下是 SSH 中常见的加密类型: 1. 对称加密 对称加密算法用于加密会话中的数据,常见的算法包括: AES(高级加密标准&#…...

Navicat 工具 下载安装

准备工作 下载 下载链接:https://www.123865.com/ps/EF7OTd-kdAnH 演示环境 操作系统:windows10 产品:Navicat 版本: 15.0.25 注意:如果需要其他版本可以自行下载。 安装步骤 1、解压(如果解压中出现提示…...

家用高清投影仪怎么选?目前口碑最好的投影仪推荐

双十一马上要到了,而且今年还有投影仪的家电国补,所以大家入手投影仪的需求也越来越多,但是家用高清投影仪怎么选?什么投影仪最适合家用?家庭投影仪哪个牌子质量最好?今天就给大家做一个2024性价比高的家用…...

阿里云盾同步漏洞之限制请求数

阿里云sdk不支持一次性请求太多,所以我们需要限制每次请求最大1000条,此代码无任何参考意义。仅做记录 func VulList(hole_type string) ([]*sas20181203.DescribeVulListResponseBodyVulRecords, error) {pageSize : 20allItems : make([]*sas20181203…...

docker安装kafka-manager

kafkamanager docker安装_mob64ca12d80f3a的技术博客_51CTO博客 # 1、拉取镜像及创建容器 docker pull hlebalbau/kafka-manager docker run -d --name kafka-manager -p 9000:9000 --networkhost hlebalbau/kafka-manager# 2、增设端口 腾讯云# 3、修改防火墙 sudo firewall-…...

Android Studio 新版本 Logcat 的使用详解

点击进入官方Logcat介绍 一个好的Android程序员要会使用AndroidStudio自带的Logcat查看日志,会Log定位也是查找程序bug的第一关键。同时Logcat是一个查看和处理日志消息的工具,它可以更快的帮助开发者调试应用程序。 步入正题,看图说话。 点…...

基于php摄影门户网站

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…...

uniapp中uni.request的统一封装 (ts版)

文章目录 前言一、我们为什么要去封装?二、具体实现1.创建一个请求封装文件:2.封装 uni.request:3.如何去使用? 总结 前言 在uniapp中如何去更简洁高效的发送我们的请求,下面就介绍了uni.request()二次封装。 一、我们…...

记录一次gRpc流式操作(jedis版)

使用背景: 从redis队列中发送和消费消息.(使用gRpc的流式实现的消费消息) gRpc协议类定义 service方法定义 service MQDataService{ rpc sendFacebookAndroidMsg(google.protobuf.StringValue)returns (ResultProto); rpc receiveFacebookAndroidMsg(empty)returns (stream g…...

20241001国庆学习

n60f/p 这个n是指旋转磁场的速度。 极数表示旋转转子的永磁体极数,具有一对N极/S极的电机称为双极电机。 极数可以是2、4、6、8等。 (从电机控制的角度来看,当极数增加一倍时,转速将减半,当极数增加四倍时…...

基于SSM的农产品仓库管理系统【附源码】

基于SSM的农产品仓库管理系统(源码L文说明文档) 目录 4 系统设计 4.1 系统概要设计 4.2 系统功能结构设计 4.3 数据库设计 4.3.1 数据库E-R图设计 4.3.2 数据库表结构设计 5 系统实现 5.1 管理员功能介绍 5.1.1 用户管…...

fmt:C++ 格式化库

fmt 是一个现代化、快速且安全的 C 格式化库,专注于高效地格式化文本。它提供了类似 Python 的 format 功能,但具有更高的性能和类型安全特性。fmt 库在处理字符串格式化、日志输出以及构建用户友好的输出时尤为强大。自从 C20 标准引入 std::format 后&…...

RabbitMQ MQ的可靠性及消费者的可靠性

1.MQ可靠性: 如何保证消息的可靠性: (1).通过配置可以让交换机、队列、以及发送的消息都持久化。这样队列中的消息会持久化到磁盘,MQ重起消息依然存在。 (2).3.6.0版本开始,RabbitMQ引入了惰性队列模式,这种模式下&am…...

使用 Nexus 代理 Docker Hub 的配置指南

在本篇文章中,我们将详细介绍如何配置 Nexus 以代理 Docker Hub,从而实现更高效的镜像管理。以下步骤涵盖了从 Nexus 的安装到 Docker 客户端的配置。 1. 配置 Nexus 1.1 登录 Nexus 打开浏览器,访问 Nexus 的 URL(例如 http:/…...

笔记整理—linux进程部分(4)进程状态与守护进程

进程的几种重要状态,就绪态;运行态;僵尸态;等待态(浅度睡眠、深度睡眠);停止态。 就单核CPU而言,在同一时间只能运行一个进程,但实际上要运行的进程不止一个,…...

# VirtualBox中安装的CentOS 6.5网络设置为NAT模式时,怎么使用SecureCRT连接CentOS6.5系统?

VirtualBox中安装的CentOS 6.5网络设置为NAT模式时,怎么使用SecureCRT连接CentOS6.5系统? 一、查询 【VirtualBox Host-Only Network】虚拟网卡的网络配置 IP。 1、按键盘上WIN R 组合键,打开【运行】,输入【 ncpa.cpl 】&…...

7-1.Android SQLite 之 SQLiteDatabase 简单编码模板(SQLiteDatabase 使用、SQL 语句编写)

一、SQLiteDatabase SQLite 是一种轻量级的数据库引擎,它非常适合在移动设备(例如,Android)上使用 SQLiteDatabase 允许应用程序与 SQLite 数据库进行交互,它提供了增删改查等一系列方法 二、SQLiteDatabase 简单编码…...

灰度图像重心(质心)求取算法

1、图像的重心坐标计算 假设我们有一个二维图像,其中 (x, y) 表示图像中每个像素的坐标。I(x, y) 表示图像在 (x, y) 处的亮度(或像素值),通常是灰度值。 图像的重心坐标 (X, Y) 可以通过以下公式计算: X = Σ [x * I(x, y)] / Σ I(x, y) Y = Σ [y * I(x, y)] / Σ I(…...

k8s 1.28.2 集群部署 ingress 1.11.1 包含 admission-webhook

文章目录 [toc]证书创建部署 ingress-controlleringress 验证创建测试 nginx pod创建错误的 ingress 配置创建正确的 ingress 配置 ingress 官方 yaml 文件:deploy.yaml基于官方 yaml 文件做了一些修改 官方的 svc 是 ClusterIP 和 LoadBalancer,我这边把…...

pom web 自动化测试框架分享

这是初版的 pom web 测试框架,目录如下同时部分代码也放在下面,详细代码可前往 github 查看,欢迎大家给出宝贵意见。 |--base | base_page.py(封装方法) | |--config | allure_config.py(测试报告配…...

一些以前使用的linux及shell命令,gnuplot脚本

tar tar -cvzf xxx.tar.gz * -c,--create 创建新的tar文件 -v,--verbose 列出每一步处理涉及的文件的信息,只用一个“v”时,仅列出文件名 使用两个“v”时,列出权限、所有者、大小、时间、文件名等信息 -z&#xff0c…...

中央农村工作会议内容和精神体会/东莞seo优化团队

前两天有个小伙伴在后台留言,最近的面试越来越难了,尤其是技术面,考察得越来越细,越来越底层,庆幸的是最终顺利找到了工作。 一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识 比如果这样的问题…...

包装设计接单网站/行业网站有哪些平台

Docker支持以下的CentOS版本 CentOS 7 (64-bit)CentOS 6.5 (64-bit) 或更高的版本前提条件 目前,CentOS 仅发行版本中的内核支持 Docker。 Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。 Docker 运行在 CentOS-6.5 或更高的版本…...

网站续费方案/优化网站的目的

标题:日志统计 小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有N行。其中每一行的格式是: ts id 表示在ts时刻编号id的帖子收到一个"赞"。 现在小明想统计有哪些帖子曾经是"热帖"。如果一…...

百度推广 帮做网站吗/搜索引擎优化方案案例

记录 flutter 环境安装问题 问题描述 前提是 flutter 安装好,jdk 安装好,Android Studio 安装完成 flutter doctor 查看环境缺失,如下: [✓] Flutter (Channel stable, v1.7.8hotfix.4, on Mac OS X 10.14.6 18G95, localezh-H…...

网站建设最流行语言/百度电脑版下载

$str "你好,欢迎使用[args1].我们会马上给你发货,地址:[args2]";如何获取[args1]和[args2];是不是一般都的正则进行匹配?正则水平有点烂,/^(\[)*(\])$/ 匹配有问题呢?请指教&#xf…...

新品发布会策划/青岛网站优化公司哪家好

准备工作:gitup或者码云(gitee)案例:码云上操作(gitup是一样的)一.项目组老大任务1.创建组织,添加小组开发成员入组2.创建仓库3.创建分支(主分支master不需要手动创建)二.组员任务组员的任务当然毋庸置疑是项目开发了1.从项目地址下载远程主分支(master)git clone ssh地址||git…...