写了一个shell脚本,关闭集群内ES的,已经互相做了免密登录
#! /bin/bash
case $1 in
"stop"){
for i in node0 node1 node2
do
echo "-----------关闭 $i elasticsearch 开始---------------"
ssh $i "kill -9 $(lsof -i:9200|awk '{if(NR==2) printf $2}')"
echo "-----------关闭 $i elasticsearch 结束---------------"
done
};;
esac
集群内三个节点 node0、node1、node2,启动脚本只能 kill node0 节点的进程,其它两个节点没反应,启动脚本结果如下:
如上图在 node0 上 lsof -i:9200 可以看到进程已经没了,但其它节点的进程依然还在,如下图: