elasticsearch集群搭建,以及kibana和ik分词器的安装(7.3.2)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: elasticsearch集群搭建,以及kibana和ik分词器的安装(7.3.2)

elasticsearch的安装和集群的搭建

1.下载elasticsearch压缩包文件,历史版本下载 :

https://www.elastic.co/cn/downloads/past-releases/

2. 将压缩包上传至linux,解压到指定目录:

创建文件夹 mkdir elasticsearch

tar -zxvf elasticsearch-7.3.2-linux-x86_64.tar.gz -C /home/centos/elasticsearch

3. 查看配置文件:(虚拟机内存按需分配)

vi config/jvm.options

vi config/elasticsearch.yml elasticsearch的配置文件(单节点)

#集群名称
cluster.name: sinochem-es
#节点名称
node.name: es-0
#是不是有资格主节点
#node.master: true
#是否存储数据
node.data: true
#最大集群节点数
#node.max_local_storage_nodes: 3
#ip地址(外网可访问使用 0.0.0.0)
network.host: 0.0.0.0
#端口
http.port: 9200
#内部节点之间沟通端口
#transport.tcp.port: 9300
#es7.x 之后新增的配置,节点发现
#discovery.seed_hosts: ["localhost:9300", "localhost:9301", "localhost:9302"]
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
#cluster.initial_master_nodes: ["es-0", "es-1", "es-2"]
#数据和存储路径
path.data: /home/centos/elasticsearch-master/data
path.logs: /home/centos/elasticsearch-master/logs
# 开启跨域
http.cors.enabled: true
# 所有人访问
http.cors.allow-origin: "*"
#用安全性
xpack.security.enabled: false

4. 启动单机版elasticsearch:

1 首先需要创建es用户,root用户无法启动

2 创建es用户:useradd es

3 创建密码:passwd es

4 需要给elasticsearch赋予es用户的执行权限:

chown -R es:es /home/centos/elasticsearch-master/

5 启动:

进入到elasticsearch的bin目录下,执行 ./elasticsearch

6 访问 http://ip:9200/

6 后台启动elasticsearch

bin目录下 执行 ./elasticsearch -d

查看进程: ps aux|grep elasticsearch

3. elasticsearch集群的搭建和配置:

1 将elasticsearch的安装包分别复制3份

cp -R elasticsearch-master elasticsearch-node1

2 分别修改3个节点的配置文件 vi config/elasticsearch.yml

master节点(名字有误 意思是第一个节点 不能准确的说是master)

#集群名称
cluster.name: xxx-es
#节点名称
node.name: es-0
#是不是有资格主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#ip地址
network.host: 0.0.0.0
#端口
http.port: 9200
#内部节点之间沟通端口
transport.tcp.port: 9300
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["localhost:9300", "localhost:9301", "localhost:9302"]
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["es-0", "es-1", "es-2"]
#数据和存储路径
path.data: /home/centos/elasticsearch-master/data
path.logs: /home/centos/elasticsearch-master/logs
# 开启跨域
http.cors.enabled: true
# 所有人访问
http.cors.allow-origin: "*"
#用安全性
xpack.security.enabled: false

node1节点(集群中的第二个节点)

#集群名称
cluster.name: xxx-es
#节点名称
node.name: es-1
#是不是有资格主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#ip地址
network.host: 0.0.0.0
#端口
http.port: 9201
#内部节点之间沟通端口
transport.tcp.port: 9301
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["localhost:9300", "localhost:9301", "localhost:9302"]
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["es-0", "es-1", "es-2"]
#数据和存储路径
path.data: /home/centos/elasticsearch-master/data
path.logs: /home/centos/elasticsearch-master/logs
# 开启跨域
http.cors.enabled: true
# 所有人访问
http.cors.allow-origin: "*"
#用安全性
xpack.security.enabled: false

node-2节点(集群中的第三个节点)

#集群名称
cluster.name: xxx-es
#节点名称
node.name: es-2
#是不是有资格主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#ip地址
network.host: 0.0.0.0
#端口
http.port: 9202
#内部节点之间沟通端口
transport.tcp.port: 9302
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["localhost:9300", "localhost:9301", "localhost:9302"]
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["es-0", "es-1", "es-2"]
#数据和存储路径
path.data: /home/centos/elasticsearch-master/data
path.logs: /home/centos/elasticsearch-master/logs
# 开启跨域
http.cors.enabled: true
# 所有人访问
http.cors.allow-origin: "*"

注意:本集群为单机版的集群搭建,三个节点中的cluster.name必须保持一致,node.name保持不同

3 分别启动三个 elasticsearch

4 查看集群是否搭建成功

访问 http://ip:9201/_cat/health?v

注:es节点启动过程中可能遇到的错误

Could not rename log file 'logs/gc.log' to 'logs/gc.log.09' (Permission denied).
Invalid -Xlog option '-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m', see error log for details.
Error: Could not create the Java Virtual Machine.

解决:root下执行 chmod 777 -R logs 这里根据你所挂载的目录要放开相应的权限

Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException: /data/elasticSearch/elasticsearch-8.0.1-node-2/config/elasticsearch.keystore
Likely root cause: java.nio.file.AccessDeniedException: /data/elasticSearch/elasticsearch-8.0.1-node-2/config/elasticsearch.keystore

解决:

cd /data/elasticSearch/elasticsearch-8.0.1-node-2/config

chown -R es:es elasticsearch.keystore

ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决:

vi /etc/sysctl.conf  

添加 一行 vm.max_map_count=655360

加载参数 sysctl -p

kibana的安装

Kibana是一个针对ElasticSearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana ,可以通过各种图表进行高级数据分析及展示。Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板( dashboard )实时显示Elasticsearch查询动态。

1. Kibana的下载(版本必须与ElasticSearch一致)

历史版本下载:https://www.elastic.co/cn/downloads/past-releases/

将压缩包上传至linux

2. Kibana的安装

1 mkdir kibana 创建一个文件夹

2 解压到文件夹

tar -zxvf kibana-7.3.2-linux-x86_64.tar.gz -C /home/centos/kibana

2 修改kibana 的配置文件

vi config/kibana.yml

server.host: "0.0.0.0"
server.port: 5601
elasticsearch.hosts: ["http://localhost:9200","http://localhost:9201","http://localhost:9202"]
#elasticsearch.hosts: ["http://localhost:9200","http://localhost:9201"]
#elasticsearch.username: "es"
#elasticsearch.password: "es"
#kibana.index: ".kibana"
i18n.locale: "zh-CN"

3. Kibana的启动

1 给kibana安装目录赋予用户权限,不能使用root用户启动

chown -R es:es /home/centos/kibana/kibana-7.3.2-linux-x86_64

2 运行

bin目录下运行 ./kibana

后台运行 nohup ./kibana &

查看进程: ps -ef | grep node

3 访问

http://ip:5601/app/kibana

使用kibana访问节点信息

GET _cat/health?v

ik分词器的安装

1. ik分词器(中文分词器)

分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一一个匹配操作,默认的中文分词是将每个字看成一个词(不使用用IK分词器的情况下),比如“周同学还不发专辑”会被分为”周”,”同”,”学”,”还”,”不”,”发”,”专”,”辑” ,这显然是不符合要求的,所以我们需要安装中文分词器ik来解决这个问题

IK提供了两个分词算法: ik_smart和ik_max_word ,其中ik_smart为最少切分, ik_max_word为最细粒度划分

1. ik分词器的下载与安装

1 下载的版本要与ElasticSearch版本对应

2 下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

3 安装:

将压缩包上传至linux服务器

使用unzip解压,没有unzip命令使用 yum install -y unzip 安装

在elasticsearch的plugins目录下新建ik目录,mkdir ik

使用命令解压 unzip elasticsearch-analysis-ik-7.3.2.zip -d elasticsearch-master/plugins/ik/

4 使用es账户重启es ./elasticsearch -d

5 查看效果

文章持续更新,可以关注下方公众号或者微信搜一搜「 最后一支迷迭香 」第一时间阅读,获取更完整的链路资料。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
1月前
|
自然语言处理 Java 网络架构
elasticsearch学习三:elasticsearch-ik分词器的自定义配置 分词内容
这篇文章是关于如何自定义Elasticsearch的ik分词器配置以满足特定的中文分词需求。
133 0
elasticsearch学习三:elasticsearch-ik分词器的自定义配置 分词内容
|
12天前
|
存储 监控 安全
Elasticsearch 集群
【11月更文挑战第3天】
90 54
|
4天前
|
缓存 监控 Java
Elasticsearch集群JVM调优
Elasticsearch集群JVM调优
17 5
|
8天前
|
监控 API 索引
Elasticsearch集群健康检查
【11月更文挑战第4天】
23 3
|
19天前
|
存储 监控 安全
|
23天前
|
测试技术 API 开发工具
ElasticSearch的IK分词器
ElasticSearch的IK分词器
43 7
|
1月前
|
存储 缓存 监控
深入解析:Elasticsearch集群性能调优策略与最佳实践
【10月更文挑战第8天】Elasticsearch 是一个分布式的、基于 RESTful 风格的搜索和数据分析引擎,它能够快速地存储、搜索和分析大量数据。随着企业对实时数据处理需求的增长,Elasticsearch 被广泛应用于日志分析、全文搜索、安全信息和事件管理(SIEM)等领域。然而,为了确保 Elasticsearch 集群能够高效运行并满足业务需求,需要进行一系列的性能调优工作。
89 3
|
1月前
|
自然语言处理 搜索推荐 关系型数据库
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
这篇文章是关于Elasticsearch全文搜索引擎的学习指南,涵盖了基本概念、命令风格、索引操作、分词器使用,以及数据的增加、修改、删除和查询等操作。
22 0
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
|
12天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
29 5
|
1月前
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
126 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
下一篇
无影云桌面