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天前
|
安全 Linux 测试技术
在CentOS上安装Elasticsearch和Kibana
在CentOS上安装Elasticsearch和Kibana
8 0
|
1天前
|
JavaScript Windows
window安装配置ElasticSearch
window安装配置ElasticSearch
|
1天前
|
存储 监控 安全
Elasticsearch 8.X 集群 SSL 证书到期了,怎么更换?
Elasticsearch 8.X 集群 SSL 证书到期了,怎么更换?
35 3
|
1天前
|
缓存 JSON 关系型数据库
Elasticsearch 8.X 集群无响应,怎么办?
Elasticsearch 8.X 集群无响应,怎么办?
13 0
|
1天前
|
安全 Linux 数据安全/隐私保护
Windows 部署 Elasticsearch + kibana 8.0 指南
Windows 部署 Elasticsearch + kibana 8.0 指南
20 0
|
1天前
|
存储 安全 网络协议
云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南
云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南
22 0
|
1天前
|
存储 数据可视化 Java
Elasticsearch 集群状态变成黄色或者红色,怎么办?
Elasticsearch 集群状态变成黄色或者红色,怎么办?
11 0
|
1天前
|
Java Maven 开发工具
【ElasticSearch 】IK 分词器安装
【ElasticSearch 】IK 分词器安装
23 1
|
1天前
|
数据可视化 索引
elasticsearch head、kibana 安装和使用
elasticsearch head、kibana 安装和使用
|
1天前
|
存储 负载均衡 索引
linux7安装elasticsearch-7.4.0集群配置
linux7安装elasticsearch-7.4.0集群配置
115 0

热门文章

最新文章

http://www.vxiaotou.com