1.扩容准备(前提是集群集成了SearchGuard,并在正常运行):
到ssl工具的目录下
cd /home/hadoopadmin/ES/search-guard-tlstool
cd tools/out
vim root-ca.readme
记住root的密码,并将root的密码拷贝到tlsconfig.yml中,用生产上已经有的root-ca.pem来生成节点证书和客户端证书。
cd /home/hadoopadmin/ES/search-guard-tlstool/config
vim tlsconfig.yml
将pkPassword密码更改为上面的root-ca.readme中的root pkPassword密码
2.备份之前的节点证书
cp out/ outBak
修改tlsconfig.yml配置文件,将新增的机器节点加入进来
用root.pem重新生产节点证书和客户端证书
./sgtlstool.sh -c …/config/tlsconfig.yml -crt out/root-ca.pem -o
3.证书分发,重启旧节点
第一步:更改配置
先将其中的一个节点的证书分发出去并更改该节点的配置文件
cp ES-node-181* root-ca.pem /home/hadoopadmin/ES/elasticsearch-5.4.3/config/
cp admin* client* root-ca.pem /home/hadoopadmin/ES/elasticsearch-5.4.3/plugins/search-guard-5/tools/
根据新生成的ES-node-181_elasticsearch_config_snippet.yml 中的密码更改ElasticSearch配置文件中的密码
vim elasticsearch.yml
在discovery.zen.ping.unicast.hosts参数中增加新节点的ip和port信息
在配置文件中新增节点的dn信息
第二步:节点重启前准备:
提升同一个node上同时可写入写出的分片个数,增加恢复速度
PUT _cluster/settings
{
“transient”: {
“cluster.routing.allocation.node_concurrent_incoming_recoveries”:“4”,
“cluster.routing.allocation.node_concurrent_outgoing_recoveries”:“4”
}
}
提升同一个node上同时可写入写出的分片个数,增加恢复速度
PUT _cluster/settings
{
“transient”: {
“cluster.routing.allocation.node_concurrent_incoming_recoveries”:“4”,
“cluster.routing.allocation.node_concurrent_outgoing_recoveries”:“4”
}
}
第三步:先暂停集群的shard自动均衡。
停止数据自动回复
PUT _cluster/settings
{
“transient”: {
“cluster.routing.allocation.enable”:“none”
}
}
停掉一个旧节点
如果恢复的是数据不在增加的索引,可在分片恢复前执行下POST _flush/synced,方便从本地恢复shard数据。
重新启动旧节点
节点正常启动并且能够和其他节点正常通讯
第四步:恢复数据
PUT _cluster/settings
{
“transient”: {
“cluster.routing.allocation.enable”:“all”
}
}
观察ElasticSearch-head,重复执行上述步骤直到旧节点重启完毕,先滚动重启重启数据节点,重启一个后观察集群状态为绿色后在重启下一个节点,然后滚动重启备用master节点,并且可以观察到在重启过后,集群的masternode换了节点,最后重启activemaster节点。保证原集群的数据接入功能
4.新节点加入
准备两台新的节点保证节点数为(2n+1)
按照ES的安装流程,在新的节点上安装好ES ,并分别按照生成的ES-node-201_elasticsearch_config_snippet.yml配置文件配置好elasticsearch.yml
将节点证书和auditlog的依赖包拷贝过来
拷贝依赖(新增了auditlog的依赖)
scp dlic-search-guard-module-auditlog-5.3-7-jar-with-dependencies.jar [email protected]节点201:/home/lixiang/ES/elasticsearch-5.4.3/plugins/search-guard-5
scp dlic-search-guard-module-auditlog-5.3-7-jar-with-dependencies.jar [email protected]节点201:/home/hadoopadmin/ES/elasticsearch-5.4.3/plugins/search-guard-5
拷贝证书
scp admin* client* root-ca.pem [email protected]节点182:/home/hadoopadmin/ES/elasticsearch-5.4.3/plugins/search-guard-5/tools/
scp admin* client* root-ca.pem [email protected]节点201:/home/lixiang/ES/elasticsearch-5.4.3/plugins/search-guard-5/tools/
scp ES-node-182* root-ca.pem [email protected]节点182:/home/hadoopadmin/ES/elasticsearch-5.4.3/config/
scp ES-node-201* root-ca.pem [email protected]节点201:/home/lixiang/ES/elasticsearch-5.4.3/config/
最后启动新加入的节点,恢复ES自动路由功能
:/home/hadoopadmin/ES/elasticsearch-5.4.3/config/
scp ES-node-201* root-ca.pem [email protected]节点201:/home/lixiang/ES/elasticsearch-5.4.3/config/
最后启动新加入的节点,恢复ES自动路由功能