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可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
26天前
|
自然语言处理 Java 网络架构
elasticsearch学习三:elasticsearch-ik分词器的自定义配置 分词内容
这篇文章是关于如何自定义Elasticsearch的ik分词器配置以满足特定的中文分词需求。
108 0
elasticsearch学习三:elasticsearch-ik分词器的自定义配置 分词内容
|
6天前
|
存储 监控 安全
|
10天前
|
测试技术 API 开发工具
ElasticSearch的IK分词器
ElasticSearch的IK分词器
32 7
|
25天前
|
存储 缓存 监控
深入解析:Elasticsearch集群性能调优策略与最佳实践
【10月更文挑战第8天】Elasticsearch 是一个分布式的、基于 RESTful 风格的搜索和数据分析引擎,它能够快速地存储、搜索和分析大量数据。随着企业对实时数据处理需求的增长,Elasticsearch 被广泛应用于日志分析、全文搜索、安全信息和事件管理(SIEM)等领域。然而,为了确保 Elasticsearch 集群能够高效运行并满足业务需求,需要进行一系列的性能调优工作。
52 3
|
26天前
|
自然语言处理 搜索推荐 关系型数据库
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
这篇文章是关于Elasticsearch全文搜索引擎的学习指南,涵盖了基本概念、命令风格、索引操作、分词器使用,以及数据的增加、修改、删除和查询等操作。
17 0
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
|
27天前
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
92 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
|
2月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
3月前
|
数据可视化 Docker 容器
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
这篇文章提供了通过Docker安装Elasticsearch和Kibana的详细过程和图解,包括下载镜像、创建和启动容器、处理可能遇到的启动失败情况(如权限不足和配置文件错误)、测试Elasticsearch和Kibana的连接,以及解决空间不足的问题。文章还特别指出了配置文件中空格的重要性以及环境变量中字母大小写的问题。
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
|
3月前
|
JSON 自然语言处理 数据库
Elasticsearch从入门到项目部署 安装 分词器 索引库操作
这篇文章详细介绍了Elasticsearch的基本概念、倒排索引原理、安装部署、IK分词器的使用,以及如何在Elasticsearch中进行索引库的CRUD操作,旨在帮助读者从入门到项目部署全面掌握Elasticsearch的使用。
|
3月前
|
Ubuntu Oracle Java
如何在 Ubuntu VPS 上安装 Elasticsearch
如何在 Ubuntu VPS 上安装 Elasticsearch
35 0