前言:已经完成了es单节点搭建和kibana的搭建,还不知道的可以点击跳转
Linux搭建es集群(一)
Linux搭建es集群(二)
1、先将elastic拷贝到另外准备好的两台服务器中,同时在两个服务器新增es用户
1
| scp -r root@192.168.152.135:/opt/elasticsearch/ /opt/
|


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
|

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"
|

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


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

7、基本集群已经可用了,还有一个遗漏的就是集群的安全认证,首先生成证书,一路回车先不设置密码账户
1 2
| ./bin/elasticsearch-certutil ca ./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
|

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

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
|

7、修改kibana配置
1 2
| elasticsearch.username: "elastic" elasticsearch.password: "Aa123456"
|
8、页面查看,可以看到已经能正常访问



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