Elasticsearch7.15.2 分布式集群安装(linux环境)
2022-09-06 22:39:47


前言:一到六演示采用伪分布式,七单独介绍分布式集群方式

文章目录

一、前期准备

ip

端口

节点

192.168.159.134

9200

node1

192.168.159.134

9201

node2

192.168.159.134

9202

node3

请使用root用户操作,需要es用户操作的地方,我会提前说明。

​https://www.elastic.co/cn/​

Elasticsearch7.15.2 分布式集群安装(linux环境)_集群


Elasticsearch7.15.2 分布式集群安装(linux环境)_集群_02

1. 下载

我存放的目录在/app下面

cd /app
wget
2. 解压
tar
3.创建es用户

es7不能使用root用户启动,因此,需要创建es操作用户

adduser es
passwd
4. 增加资源分配

增加资源分配,资源分配不够进程会自动关闭服务

vim
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

Elasticsearch7.15.2 分布式集群安装(linux环境)_集群_03

5. 内核参数
vim

添加内容:

vm.max_map_count=262145

Elasticsearch7.15.2 分布式集群安装(linux环境)_elasticsearch_04

6. 刷新 配置
sysctl -p

Elasticsearch7.15.2 分布式集群安装(linux环境)_elasticsearch_05

为了演示方便,这里演示采用伪集群配置,本文末尾附上,集群配置

二、node1节点

使用root用户操作

2.1. 重命名
cd /app
mv
2.1. 编辑配置
cd /app/elasticsearch-node1/config/
vim
  • 添加以下内容:
cluster.name: dianping-app
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.seed_hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]
cluster.initial_master_nodes: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]
  • 具体调整地方
    第1处
#修改集群名称:

Elasticsearch7.15.2 分布式集群安装(linux环境)_elasticsearch_06


第2处

#修改node名称:

Elasticsearch7.15.2 分布式集群安装(linux环境)_vim_07


第3处

# 本机运行es服务器地址:
network.host: 0.0.0.0

# http端口是为了响应restful的请求
http.port: 9200

# transport做集群之间指令通信的
transport.tcp.port: 9300

# 允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"

Elasticsearch7.15.2 分布式集群安装(linux环境)_root用户_08


第4处

# 发现es集群节点
discovery.seed_hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]

# 初始化竞选主master(3台有资格,最终master节点通过算法决定的)
cluster.initial_master_nodes: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]

Elasticsearch7.15.2 分布式集群安装(linux环境)_vim_09

三、node2节点

使用root用户操作

3.1. 复制node-1
cd /app
cp
3.2. 修改配置
cd /app/elasticsearch-node2/config/
vim
  • 调整内容如下:
node.name: node-2
http.port: 9201
transport.tcp.port: 9301
  • 具体调整地方

第1处
修改node名称:

node.name: node-2

Elasticsearch7.15.2 分布式集群安装(linux环境)_vim_10


第2处

# http端口是为了响应restful的请求
http.port: 9201

# transport做集群之间指令通信的
transport.tcp.port: 9301

Elasticsearch7.15.2 分布式集群安装(linux环境)_集群_11

四、node3节点

使用root用户操作

4.1. 复制node-1
cd /app
cp
3.2. 修改配置
cd /app/elasticsearch-node3/config/
vim
  • 调整内容如下:
node.name: node-3
http.port: 9202
transport.tcp.port: 9302
  • 具体调整地方

第1处

#修改node名称:

Elasticsearch7.15.2 分布式集群安装(linux环境)_集群_12


第2处

# http端口是为了响应restful的请求
http.port: 9202

# transport做集群之间指令通信的
transport.tcp.port: 9302

Elasticsearch7.15.2 分布式集群安装(linux环境)_集群_13

五、赋予权限和启动

使用root用户操作

5.1. 赋予权限
cd /app
chown es.es elasticsearch-node1/ -R
chown es.es elasticsearch-node2/ -R
chown
5.2. 切换用户
su
5.3. es启动node1
cd
5.4. es启动node2
cd
5.5. es启动node3
cd
5.6. 防火墙配置
  • 第1种:关闭防火墙
systemctl stop firewalld
  • 第2种:防火墙允许9200/9201/9202端口访问
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --zone=public --add-port=9201/tcp --permanent
firewall-cmd --zone=public --add-port=9202/tcp --permanent
firewall-cmd --reload
六、服务验证
6.1. 本机验证
curl

Elasticsearch7.15.2 分布式集群安装(linux环境)_root用户_14

6.2. 浏览器验证
http://192.168.159.134:9200/_cat/health

Elasticsearch7.15.2 分布式集群安装(linux环境)_vim_15

http://192.168.159.134:9200/_cat/health

Elasticsearch7.15.2 分布式集群安装(linux环境)_vim_16

七、集群配置

ip

端口

节点

192.168.159.134

9200

node1

192.168.159.135

9200

node2

192.168.159.136

9200

node3

7.1. node1

在192.168.159.134服务器操作

cluster.name: dianping-app
node.name: node-1
path.data: /app/elasticsearch-7.15.2/data
path.logs: /app/elasticsearch-7.15.2/logs
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.seed_hosts: ["192.168.159.134:9200", "192.168.159.135:9200", "192.168.159.136:9300"]
cluster.initial_master_nodes: ["192.168.159.134:9200", "192.168.159.135:9200", "192.168.159.136:9300"]
7.2. node2

在192.168.159.135服务器操作

cluster.name: dianping-app
node.name: node-2
path.data: /app/elasticsearch-7.15.2/data
path.logs: /app/elasticsearch-7.15.2/logs
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.seed_hosts: ["192.168.159.134:9200", "192.168.159.135:9200", "192.168.159.136:9300"]
cluster.initial_master_nodes: ["192.168.159.134:9200", "192.168.159.135:9200", "192.168.159.136:9300"]
7.1. node3

在192.168.159.136服务器操作

cluster.name: dianping-app
node.name: node-3
path.data: /app/elasticsearch-7.15.2/data
path.logs: /app/elasticsearch-7.15.2/logs
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.seed_hosts: ["192.168.159.134:9200", "192.168.159.135:9200", "192.168.159.136:9300"]
cluster.initial_master_nodes: ["192.168.159.134:9200", "192.168.159.135:9200", "192.168.159.136:9300"]


本文摘自 :https://blog.51cto.com/g


更多科技新闻 ......