ElasticSearch7 集群搭建

服务器环境

集群由三台服务器构成,相关环境如下:

节点 IP
节点1 192.168.112.101
节点2 192.168.112.102
节点3 192.168.112.103

下载安装包

下载ES7的Linux安装包:
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.1-linux-x86_64.tar.gz

安装

安装ES之前需要进行Java的安装,这里不再详述。
上传至服务器执行命令解压到指定目录(每台服务器都要安装ES):

tar -zxvf elasticsearch-7.14.1-linux-x86_64.tar -C /opt/elasticsearch

目录结构如下:

├── bin # 可执行文件,启动脚本也在这个目录中
├── config # 配置文件目录,elasticsearch.yml,jvm.options,log4j2.properties
├── lib
├── LICENSE.txt
├── logs
├── modules
├── NOTICE.txt
├── plugins # 插键文件存放的位置
└── README.textile

配置文件

修改config目录下的elasticsearch.yml文件,每台服务器的配置文件都需要更改,大部分都相同,node.name必须不同,三个服务器的配置文件修改部分如下:

# 192.168.112.101
cluster.name: my-es
node.name: node-1
# node为主节点
node.master: true
# node为存储数据的节点
node.data: true
# 数据存储目录,可以自己随意指定
path.data: /opt/elasticsearch/data
# 日志存储目录,可以自己随意指定
path.logs: /opt/elasticsearch/log
# 设置访问的地址,如果需要从其他服务器上访问以及多态机器搭建集群,我们需要设定 ES 运行绑定的 Host,节点需要绑定非回环的地址。建议设置为主机的公网 IP 或 0.0.0.0
network.host: 0.0.0.0
# REST访问的端口号
http.port: 9200
# 集群内部节点互相访问的端口号
transport.port: 9300
# 启动当前节点时,发现其他节点的初始列表,需要指定端口号9300
discovery.seed_hosts: ["192.168.112.101:9300", "192.168.112.102:9300", "192.168.112.103:9300"]
# 初始的候选 master 节点列表,列表中必须为node.name配置的名称
cluster.initial_master_nodes: ["node-1", "node-2"]
# 传输数据时启用压缩
transport.tcp.compress: true

# 192.168.112.101
cluster.name: my-es
node.name: node-2
node.master: true
node.data: true
path.data: /opt/elasticsearch/data
path.logs: /opt/elasticsearch/log
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["192.168.112.101:9300", "192.168.112.102:9300", "192.168.112.103:9300"]
cluster.initial_master_nodes: ["node-1", "node-2"]
transport.tcp.compress: true

# 192.168.112.101
cluster.name: my-es
node.name: node-2
node.master: true
node.data: true
path.data: /opt/elasticsearch/data
path.logs: /opt/elasticsearch/log
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["192.168.112.101:9300", "192.168.112.102:9300", "192.168.112.103:9300"]
cluster.initial_master_nodes: ["node-1", "node-2"]
transport.tcp.compress: true

添加es用户

因为ES集群无法通过root账户直接启动,所以需要添加一个es用户,依次执行以下命令:

groupadd es
useradd es -g es
passwd es

然后将ES安装目录下的所有文件的所有者和所有组都改为es:

chown -R es:es elasticsearch/

启动ES集群

在安装目录下执行命令(每台服务器都要启动):

su es bin/elasticsearch

浏览器访问9200端口,下图所示表示节点启动成功:

image.png

访问接口http://192.168.112.102:9200/_cat/health?v,查看集群是否有三个节点:
image.png

启动问题解决方案

https://www.cnblogs.com/zhi-leaf/p/8484337.html

你可能感兴趣的:(ElasticSearch7 集群搭建)