ElasticSearch7.x集群搭建详细步骤


前言

文章详细介绍了在 Centos7 环境下搭建 ES 7.9.0 集群。
部署ES集群,三台机器同样的操作


一、准备环境

采用三台 CentOS7.9 部署Elasticsearch集群。

系统节点名称IP地址
centos 7.9node01192.168.60.201
centos 7.9node02192.168.60.202
centos 7.9node03192.168.60.203

二、Elasticsearch集群搭建

1.安装JDK

Elasticsearch是基于Java开发是一个Java程序,运行在Jvm中,所以第一步要安装JDK。
详细请移步 :
Centos7 安装JDK1.8详细过程

2.下载elasticsearch

https://www.elastic.co/cn/downloads/elasticsearch,是ELasticsearch的官方站点,如果需要下载最新的版本,进入官网下载即可。可以下载到本地电脑然后再导入CentOS中,也可以直接在CentOS中下载。

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.0-linux-x86_64.tar.gz

3.安装elasticsearch

tar -zxvf elasticsearch-7.9.0-linux-x86_64.tar.gz 

4.配置目录

安装完毕后会生成很多文件,包括配置文件日志文件等等,下面几个是最主要的配置文件路径

/usr/local/src/elasticsearch-node01/config/elasticsearch.yml 			#elasticsearch的配置文件                           
/usr/local/src/elasticsearch-node01/config/jvm.options					#JVM相关的配置,内存大小等等

/usr/local/src/elasticsearch-node01/	# elasticsearch 安装目录
/data/elk1/data                         # 数据存放路径
/data/elk1/logs							# 日志存放路径

5.创建用于存放数据与日志的目录

数据文件会随着系统的运行飞速增长,所以默认的日志文件与数据文件的路径不能满足我们的需求,需要手动创建日志与数据文件路径。

mkdir -p /data/elk1/data
mkdir -p /data/elk1/logs

6.集群配置

vim /usr/local/src/elasticsearch-node01/config/elasticsearch.yml
cluster.name: my-application                       # 集群名称
node.name: node-1                                  # 节点名称,仅仅是描述名称,用于在日志中区分

#是不是有资格竞选主节点
node.master: true 

#是否存储数据
node.data: true

path.data: /data/elk1/data                 		   # 数据的存放路径
path.logs: /data/elk1/logs                         # 日志的存放路径

network.host: 192.168.60.201                       # 当前节点的IP地址
http.port: 9200                                    # 对外提供服务的端口,9300为集群服务的端口
#添加如下内容
#culster transport port
transport.tcp.port: 9300
transport.tcp.compress: true

discovery.seed_hosts: ["192.168.60.201:9300", "192.168.60.202:9300", "192.168.60.203:9300"]       		# 集群每个节点IP地址。
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]		     #es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
discovery.zen.minimum_master_nodes: 2              # 为了避免脑裂,集群节点数最少为 半数+1

#只要指定数量的节点加入集群,就开始进行恢复
gateway.recover_after_nodes: 2
#如果期望的节点数量没有达标,那么会等待一定的时间,然后就开始进行shard recovery,默认是等待5m
gateway.recover_after_time: 5m
#要求必须有多少个节点在集群中,当加入集群中的节点数量达到这个期望数值之后,每个node的local shard的恢复就会理解开始,默认的值是0,也就是不会做任何的等待
gateway.expected_nodes: 2

#查询结果在分片上找到的条目超过了限定的10000个,官网限制在10000是为了其性能考虑的。需要调大search.max_buckets这个参数。
search.max_buckets: 90000000

#es的查询参数限制,默认是限制只能传入1024个参数
indices.query.bool.max_clause_count: 10240
#将阻止主副本分片被分配到同一台物理机,提高可用性。
cluster.routing.allocation.same_shard.host:true

#ES默认开启了内存地址锁定,为了避免内存交换提高性能。但是Centos6不支持SecComp功能,启动会报错,Centos7支持
bootstrap.memory_lock: true
#设置是否压缩tcp传输时的数据,默认为false,不压缩。 
transport.tcp.compress: true
# 是否支持跨域
http.cors.enabled: true
# *表示支持所有域名
http.cors.allow-origin: "*"

三台机器不一样的配置点如下

node.name: node-1      #192.168.60.201
node.name: node-2      #192.168.60.202
node.name: node-3      #192.168.60.203

network.host: 192.168.60.201	#192.168.60.201
network.host: 192.168.60.202	#192.168.60.202
network.host: 192.168.60.203	#192.168.60.203

7.JVM配置

由于Elasticsearch是Java开发的,所以可以通过/etc/elasticsearch/jvm.options配置文件来设定JVM的相关设定。如果没有特殊需求按默认即可。
不过其中还是有两项最重要的-Xmx1g-Xms1gJVM的最大最小内存。如果太小会导致Elasticsearch刚刚启动就立刻停止。太大会拖慢系统本身。

vim /usr/local/src/elasticsearch-node01/config/jvm.options
-Xms1g   修改为 ===>  -Xms2g
-Xmx1g   修改为 ===>  -Xmx2g

设置为物理内存一半最佳,可根据服务器内存去选择调。

ElasticSearch内存调优详情,请移步 : ElasticSearch内存调优

8.使用ROOT账户执行以下命令

elasticsearch的相关配置已经完成,下面需要启动elasticsearch集群。但是由于安全的考虑,elasticsearch不允许使用root用户来启动,所以需要创建一个新的用户,并为这个账户赋予相应的权限来启动elasticsearch集群。

添加用户

useradd elk

修改ES目录权限

chown -R elk:elk /usr/local/src/elasticsearch-node01/
chown -R elk:elk /data/elk1

9.需要修改以下配置文件

vim /etc/sysctl.conf
vm.max_map_count=655360   #末尾添加一行 

加载参数

sysctl -p

加载成功显示 :
在这里插入图片描述

10.启动服务

需切换为elk用户

su elk

启动服务(当前的路径为:/usr/local/src/elasticsearch-node01/)

./bin/elasticsearch

后台运行es :

nohup ./bin/elasticsearch >>elasticsearch.log &

验证服务是否正常运行

curl localhost:9200

正常运行显示以下结果 :
在这里插入图片描述

  • 其他两台服务器按照以上操作即可。

11. ElasticSearch IK分词器插件的安装

12. Elasticsearch jieba 分词插件的安装

13. Elasticsearch-head插件的安装

14. Kibana 7.9.0插件的安装

15. ElasticSearch 修改各节点的分片上限

16. ElasticSearch 返回值数量超过10000条解决方案

17. 使用 curl 命令操作Elasticsearch


总结

如果此篇文章有帮助到您, 希望打大佬们能关注、点赞、收藏、评论支持一波,非常感谢大家!
如果有不对的地方请指正!!!

  • 8
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
搭建elasticsearch集群,你需要按照以下步骤进行操作: 1. 首先,安装Node.js,这是运行elasticsearch-head插件所需的依赖项。你可以从官方网站下载并安装Node.js。 2. 修改elasticsearch.yml配置文件。在配置文件中,你需要设置集群名称、节点名称、HTTP端口、主节点、数据节点、集群列表等参数。确保每个节点的名称不同,并且集群名称相同。你还可以根据需要进行其他配置。 3. 配置文件示例: ``` cluster.name: elasticsearch-cluster node.name: es-node1 http.port: 9200 node.master: true node.data: true discovery.seed_hosts: \["192.168.130.101", "192.168.130.102", "192.168.130.103"\] cluster.initial_master_nodes: \["es-node1"\] ``` 4. 在每个节点上重复步骤2和步骤3,确保所有节点的配置文件都正确设置。 5. 启动elasticsearch集群。在每个节点上运行elasticsearch命令来启动节点。确保所有节点都能够正常启动,并且能够互相发现和加入集群。 6. 验证集群状态。你可以使用elasticsearch-head插件或通过发送HTTP请求到任意节点的9200端口来验证集群的状态。确保所有节点都能够正常工作,并且集群状态为绿色。 这样,你就成功搭建elasticsearch集群。你可以通过浏览器访问elasticsearch-head插件来查看集群中的数据。请注意,这只是一个简单的示例,你可以根据自己的需求进行更详细的配置和调整。 #### 引用[.reference_title] - *1* *3* [ElasticSearch集群搭建](https://blog.csdn.net/Me_xuan/article/details/114790161)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Elasticsearch集群的搭建](https://blog.csdn.net/dwhdome/article/details/107556520)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lfwh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值