用于识别NODE是否为SEED的命令

时间:2018-03-07 14:27:56

标签: cassandra datastax

如果NODE是SEED,要在3节点Cassandra集群(生产环境中的5个节点)中快速识别,我提供了以下内容:

if grep "^\s*- seeds: .*$(/sbin/ip -o -4 addr list eth0| awk '{print $4}' | cut -d/ -f1).*$" /etc/*/*/cassandra.yaml > /dev/null then echo "It is a SEED." else echo "It is not a SEED." fi

,这可以作为一个单行:

if grep "^\s*- seeds: .*$(/sbin/ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1).*$" /etc/*/*/cassandra.yaml > /dev/null ; then echo "It is a SEED." ;else echo "It is not a SEED."; f

在我的情况下,我的外围有两个版本,Datastax和Community Edition,因此我用好奇的子树来查找cassandra.yaml。

有更好/更清洁/更快捷的方式吗?

1 个答案:

答案 0 :(得分:2)

在使用 nodetool getseeds https://issues.apache.org/jira/browse/CASSANDRA-14190https://issues.apache.org/jira/browse/CASSANDRA-11406发布Cassandra 4之前,看起来唯一的方法是获取信息来自cassandra.yaml

您的在线资讯似乎有效,但仅限于eth0