# Remove nodes that are not running from the cluster
nodes=($(egrep -o '[a-z0-9@-]+' <<< $(sudo rabbitmqctl cluster_status --formatter json | jq .nodes.disc)))
running_nodes=($(egrep -o '[a-z0-9@-]+' <<< $(sudo rabbitmqctl cluster_status --formatter json | jq .running_nodes)))
for node in ${nodes[@]}
do
match_count=0
for rnode in ${running_nodes[@]}
do
if [ "${node}" == "${rnode}" ]
then
match_count=1
break
fi
done
if [ $match_count == 1 ]
then
continue
else
sudo rabbitmqctl forget_cluster_node $node
fi
done
2条答案
按热度按时间1wnzp6jl1#
我自己想出来的
bmvo0sr52#
在我的例子中,建议的脚本没有工作,可能是因为RabbitMQ版本输出与我使用的版本(3.9.13)不同。