一、什么是《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集群的搭建流程和注意事项,为后续的搜索和数据分析工作打下坚实基础。