🌟 一文掌握《Elasticsearch:7.0 》的 集群


theme: vue-pro highlight: atelier-sulphurpool-light

一、什么是《Elasticsearch:7.0 》的 集群

Elasticsearch 7.0的集群是由多个节点组成的系统,这些节点共同协作以执行任务。集群中包含主节点、数据节点和协调节点,分别负责管理集群变更、保存数据和执行数据操作,以及接收客户端请求并协调数据收集与整合。通过集群,Elasticsearch能够保持数据的一致性并实现高性能的搜索与数据分析。

二、《Elasticsearch:7.0 》集群实战(Linux版)

2.1 下载软件

elasticsearch-7.8.0-linux:百度网盘下载链接

elasticsearch-7.8.0-linux:官方地址下载链接

2.2 准备三台centos 129、131、132

2.3 解压压缩包

进入压缩包的文件夹解压

cd /java/elasticsearch/

ls

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

2.4 创建centos用户

  • 为确保Elasticsearch的安全稳定运行,我们需在每个节点创建专属的非root用户。此举能有效隔离并降低以root权限运行带来的风险,同时符合系统安全的最佳实践。

useradd es #新增 es 用户

passwd es #为 es 用户设置密码

给文件夹加权限

chown -R es:es /java/elasticsearch/elasticsearch-7.8.0

修改/etc/security/limits.conf,在末尾添加该配置

vi /etc/security/limits.conf

es soft nofile 65536
es hard nofile 65536

修改/etc/security/limits.d/20-nproc.conf,在末尾添加该配置

vi /etc/security/limits.d/20-nproc.conf

es soft nofile 65536
es hard nofile 65536
* hard nproc 4096

修改/etc/sysctl.conf,在末尾添加该配置

vi /etc/sysctl.conf

vm.max_map_count=655360

重新加载

sysctl -p

上面的操作每台centos都执行一次

2.5 修改配置文件elasticsearch.yml

①修改IP:129配置文件

进入该路径的文件夹

cd /java/elasticsearch/elasticsearch-7.8.0/config

双击elasticsearch.yml

在配置文件末尾添加该配置

# 加入如下配置
#集群名称
cluster.name: cluster-es
#节点名称,每个节点的名称不能重复
node.name: node-1
#ip 地址,每个节点的地址不能重复
network.host: 192.168.118.129
#是不是有资格主节点
node.master: true
node.data: true
http.port: 9200
# head 插件需要这打开这两个配置
http.cors.allow-origin: "*"
http.cors.enabled: true
http.max_content_length: 200mb
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-1"]
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["192.168.118.129:9300","192.168.118.131:9300","192.168.118.132:9300"]
gateway.recover_after_nodes: 2
network.tcp.keep_alive: true
network.tcp.no_delay: true
transport.tcp.compress: true
#集群内同时启动的数据任务个数,默认是 2 个
cluster.routing.allocation.cluster_concurrent_rebalance: 16
#添加或删除节点及负载均衡时并发恢复的线程个数,默认 4 个
cluster.routing.allocation.node_concurrent_recoveries: 16
#初始化数据恢复时,并发恢复线程的个数,默认 4 个
cluster.routing.allocation.node_initial_primaries_recoveries: 16

②启动elasticsearch

切换到es用户并启动es

su es

cd /java/elasticsearch/elasticsearch-7.8.0/bin/

./elasticsearch

在浏览器输入http://192.168.118.129:9200/_cat/nodes

③修改IP:131配置文件

进入该路径的文件夹

cd /java/elasticsearch/elasticsearch-7.8.0/config

双击elasticsearch.yml

在配置文件末尾添加该配置

# 加入如下配置
#集群名称
cluster.name: cluster-es
#节点名称,每个节点的名称不能重复
node.name: node-2
#ip 地址,每个节点的地址不能重复
network.host: 192.168.118.131
#是不是有资格主节点
node.master: true
node.data: true
http.port: 9200
# head 插件需要这打开这两个配置
http.cors.allow-origin: "*"
http.cors.enabled: true
http.max_content_length: 200mb
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-1"]
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["192.168.118.129:9300","192.168.118.131:9300","192.168.118.132:9300"]
gateway.recover_after_nodes: 2
network.tcp.keep_alive: true
network.tcp.no_delay: true
transport.tcp.compress: true
#集群内同时启动的数据任务个数,默认是 2 个
cluster.routing.allocation.cluster_concurrent_rebalance: 16
#添加或删除节点及负载均衡时并发恢复的线程个数,默认 4 个
cluster.routing.allocation.node_concurrent_recoveries: 16
#初始化数据恢复时,并发恢复线程的个数,默认 4 个
cluster.routing.allocation.node_initial_primaries_recoveries: 16

④启动elasticsearch

切换到es用户并启动es

su es

cd /java/elasticsearch/elasticsearch-7.8.0/bin/

./elasticsearch

在浏览器输入http://192.168.118.131:9200/_cat/nodes

⑤修改IP:132配置文件

进入该路径的文件夹

cd /java/elasticsearch/elasticsearch-7.8.0/config

双击elasticsearch.yml

在配置文件末尾添加该配置

# 加入如下配置
#集群名称
cluster.name: cluster-es
#节点名称,每个节点的名称不能重复
node.name: node-3
#ip 地址,每个节点的地址不能重复
network.host: 192.168.118.132
#是不是有资格主节点
node.master: true
node.data: true
http.port: 9200
# head 插件需要这打开这两个配置
http.cors.allow-origin: "*"
http.cors.enabled: true
http.max_content_length: 200mb
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-1"]
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["192.168.118.129:9300","192.168.118.131:9300","192.168.118.132:9300"]
gateway.recover_after_nodes: 2
network.tcp.keep_alive: true
network.tcp.no_delay: true
transport.tcp.compress: true
#集群内同时启动的数据任务个数,默认是 2 个
cluster.routing.allocation.cluster_concurrent_rebalance: 16
#添加或删除节点及负载均衡时并发恢复的线程个数,默认 4 个
cluster.routing.allocation.node_concurrent_recoveries: 16
#初始化数据恢复时,并发恢复线程的个数,默认 4 个
cluster.routing.allocation.node_initial_primaries_recoveries: 16

⑥启动elasticsearch

切换到es用户并启动es

su es

cd /java/elasticsearch/elasticsearch-7.8.0/bin/

./elasticsearch

在浏览器输入http://192.168.118.132:9200/_cat/nodes

三、总结

本文详细介绍了Elasticsearch 7.0集群的概念,并通过实战步骤展示了如何在Linux环境下搭建一个三节点的Elasticsearch集群。文中首先介绍了集群的组成和作用,然后详细阐述了从软件下载、节点准备、用户创建、配置文件修改到启动集群的整个过程。每个步骤都包含具体的命令行操作和配置内容,为初学者提供了清晰的指南。通过本文,读者可以了解到Elasticsearch集群的搭建流程和注意事项,为后续的搜索和数据分析工作打下坚实基础。


这是一个从 https://juejin.cn/post/7368276508136669247 下的原始话题分离的讨论话题