0%

Linux搭建es集群(三)

前言:已经完成了es单节点搭建和kibana的搭建,还不知道的可以点击跳转

Linux搭建es集群(一)

Linux搭建es集群(二)

1、先将elastic拷贝到另外准备好的两台服务器中,同时在两个服务器新增es用户

1
scp -r root@192.168.152.135:/opt/elasticsearch/ /opt/

image-20230219160251283

image-20230219155913193

2、修改192.168.152.135服务器的配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 集群名称,保证唯一
cluster.name: es
# 节点名称,必须不一样
node.name: node1
#是不是有资格成为主节点
#ip地址.
network.host: 0.0.0.0
#端口
http.port: 9200
#内部节点之间沟通端口
transport.tcp.port: 9300
#是否符合成为主节点的条件
node.master: true
#是否存储数据
node.data: true
#数据存储路径,记得赋权给es用户
path.data: /data01/es
#日志存储路径
path.logs: /data01/logs
#内存锁定,是否禁用交换
bootstrap.memory_lock: false
#系统调用过滤器
bootstrap.system_call_filter: false
#最大集群节点数
#node.max_local_storage_nodes: 3
#节点发现
discovery.zen.ping_timeout: 120s
discovery.zen.ping.unicast.hosts: ["192.168.152.135","192.168.152.135","192.168.152.135"]
#是否允许跨源Rest请求
#client.cors.enabled: true
#允许的源地址
http.cors.allow-origin: "*"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cluster.name: es
node.name: node2
network.host: 0.0.0.0
http.port: 9200
node.master: true
node.data: true
path.data: /data01/es
path.logs: /data01/logs
#node.max_local_storage_nodes: 3
transport.tcp.port: 9300
discovery.zen.ping_timeout: 120s
discovery.zen.ping.unicast.hosts: ["192.168.152.135","192.168.152.135","192.168.152.135"]
discovery.zen.fd.ping_retries: 10
client.transport.ping_timeout: 60s
http.cors.allow-origin: "*"
1
2
3
4
5
6
7
8
9
10
11
12
13
cluster.name: es
node.name: node3
network.host: 0.0.0.0
http.port: 9200
node.master: true
node.data: true
path.data: /data01/es
path.logs: /data01/logs
node.max_local_storage_nodes: 3
transport.tcp.port: 9300
discovery.zen.ping_timeout: 10s
discovery.zen.ping.unicast.hosts: ["192.168.152.135","192.168.152.135","192.168.152.135"]
http.cors.allow-origin: "*"

3、分别启动三个服务器的es,然后随便使用一个服务器访问,可以看到三个节点已经启动

1
curl -XGET http://192.168.152.135:9200/_cat/nodes

image-20230219191138457

4、修改kibana配置

1
2
3
4
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.152.135:9200","http://192.168.152.137:9200","http://192.168.152.139:9200"]
kibana.index: ".kibana"

image-20230219200151850

5、启动kibana又报错了,版本一致!版本一致!版本一致!再来一个kibana,步骤省略

image-20230219165540044

image-20230219165719252

6、查看页面,顺便搞个索引试试,

image-20230219200334763

7、基本集群已经可用了,还有一个遗漏的就是集群的安全认证,首先生成证书,一路回车先不设置密码账户

1
2
./bin/elasticsearch-certutil ca
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

image-20230219204607526

8、将生成的证书同步到其他节点

image-20230219202149551

9、修改每一个节点的elasticsearch.yml配置文件,添加证书配置,重启所有节点

1
2
3
4
5
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

10、设置密码,在一个节点设置即可,会自动同步到其他节点

1
./bin/elasticsearch-setup-passwords interactive

image-20230219204802461

7、修改kibana配置

1
2
elasticsearch.username: "elastic"
elasticsearch.password: "Aa123456"

8、页面查看,可以看到已经能正常访问

image-20230219205443455

image-20230219205503883

image-20230219205526577

总结:完结撒花,其实并不是很复杂,但是需要细心,很多错误其实可以避免

----------本文结束感谢您的阅读----------