如果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。
有更好/更清洁/更快捷的方式吗?
答案 0 :(得分:2)
在使用 nodetool getseeds (https://issues.apache.org/jira/browse/CASSANDRA-14190和https://issues.apache.org/jira/browse/CASSANDRA-11406发布Cassandra 4之前,看起来唯一的方法是获取信息来自cassandra.yaml
您的在线资讯似乎有效,但仅限于eth0