Elasticsearch集群验证(3):Elasticsearch 8.x的集群化(不支持HTTPS)
[上次] Elasticsearch集群验证(2):引入Elasticsearch 8.x
首先
这次将设置一个由3个节点组成的Elasticsearch集群。
-
- node1: AlmaLinux8-1
node2: AlmaLinux8-2
node3: AlmaLinux8-3
在node1上执行以下任务(管理员权限)。
防火墙设置
- ノード間通信を可能にするため、ポート9200、9300へのアクセス許可
# firewall-cmd --add-port={9200,9300}/tcp --zone=public --permanent
# firewall-cmd --reload
# firewall-cmd --list-port
9200/tcp 9300/tcp
在/etc/hosts中添加3个节点的IP地址。
172.21.192.11 node1
172.21.192.12 node2
172.21.192.13 node3
删除Elasticsearch的数据目录。
- Elasticsearchが既にシングルノードのクラスタで開始されたため、停止しデータディレクトリを削除
# systemctl stop elasticsearch
# rm -rf /var/lib/elasticsearch/*
更改Elasticsearch的配置文件。
在/etc/elasticsearch/elasticsearch.yml中设置并保存以下项目。
-
- クラスタ名
cluster.name: mycluster
クラスタ参加ノード
discovery.seed_hosts: [“node1”, “node2”, “node3”]
Elasticsearchサービスに他のノードからアクセス可能に
network.host: 0.0.0.0
セキュリティ機能を一旦無効に
xpack.security.enabled: false
xpack.security.enrollment.enabled: false
※ クラスタ検証に集中するためで、実運用では有効にすべき
セキュリティ機能は重要であり、別途取り上げる予定です
启动Elasticsearch并检查状态。
# systemctl start elasticsearch
# curl -q http://localhost:9200
{
"name" : "node1",
"cluster_name" : "mycluster",
"cluster_uuid" : "1ry3LhAFRWCpBk2oGtowZA",
"version" : {
"number" : "8.3.3",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "801fed82df74dbe537f89b71b098ccaff88d2c56",
"build_date" : "2022-07-23T19:30:09.227964828Z",
"build_snapshot" : false,
"lucene_version" : "9.2.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
在node2上执行与上述相同的步骤。
在node3上执行与以上相同的步骤。
在任何一个节点上,可以查看集群的状态。
# curl -q http://localhost:9200/_cat/nodes?v
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
172.21.192.12 23 96 4 0.24 0.20 0.08 cdfhilmrstw * node2
172.21.192.13 18 93 3 0.19 0.17 0.08 cdfhilmrstw - node3
172.21.192.11 20 96 4 0.11 0.10 0.03 cdfhilmrstw - node1
按照期望,集群中有三个节点,其中的 master 是 node1。
最后
我已经成功构建了一个由3个节点组成的Elasticsearch集群。
请期待下一次的继续。