Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra 用于标识节点是否为种子的命令_Cassandra_Datastax - Fatal编程技术网

Cassandra 用于标识节点是否为种子的命令

Cassandra 用于标识节点是否为种子的命令,cassandra,datastax,Cassandra,Datastax,为了在3节点Cassandra集群(生产环境中为5节点)中快速确定节点是否为种子,我提供了以下内容: 如果grep“^\s*-seeds:.*$(/sbin/ip-o-4 addr list eth0 | awk'{print$4}'| cut-d/-f1)。*$”/etc/*/*/cassandra.yaml>/dev/null 然后回应“这是一粒种子。” 其他的 echo“它不是一粒种子。” fi ,它可以作为一个班轮: if grep“^\s*-seeds:.*$(/sbin/ip-o

为了在3节点Cassandra集群(生产环境中为5节点)中快速确定节点是否为种子,我提供了以下内容:


如果grep“^\s*-seeds:.*$(/sbin/ip-o-4 addr list eth0 | awk'{print$4}'| cut-d/-f1)。*$”/etc/*/*/cassandra.yaml>/dev/null
然后回应“这是一粒种子。”
其他的
echo“它不是一粒种子。”
fi

,它可以作为一个班轮:

if grep“^\s*-seeds:.*$(/sbin/ip-o-4 addr list eth0 | awk'{print$4}'| cut-d/-f1)。*$”/etc/*/*/cassandra.yaml>/dev/null;然后回应“这是一粒种子。”;否则,我会回应“这不是一粒种子。”;f

在我的例子中,我有两个版本,Datastax和Community Edition,在我的周界中,因此我使用好奇的子树来查找cassandra.yaml


有更好/更干净/更快捷的方法吗?

直到Cassandra 4与nodetool getseeds一起发布(而且)看起来唯一的方法是从Cassandra.yaml获取信息


在Cassandra 4与nodetool getseeds一起发布之前,您的在线服务似乎可以正常工作,但它仅限于eth0(并且)看起来唯一的方法是从Cassandra.yaml获取信息


你的在线程序似乎可以运行,但它仅限于eth0

为什么你要尝试识别一个种子节点?正如我所解释的,一个由2个种子加上x个节点组成的Cassandra集群必须以特定的顺序启动(种子优先),以确保流言蜚语能够运行。@dilsingi说。谁在乎呢?让我来证明一下。种子节点仅在单个节点尝试启动的上下文中相关。所以实际上,任何节点都可以是种子节点。您可以有一个3节点集群,其中a使用C作为种子,B使用a作为种子。也许C死了,必须被替换(需要数据),所以它被编辑并使用B作为种子。现在,所有节点都是至少一个节点的种子节点,但不是所有节点的种子节点。重点在于;仅仅知道一个节点是一个种子是不够的,因为它只有在询问“它来自哪个节点是一个种子”时才有意义。在我的5个成员集群的示例中,a和B是C、D和E的种子,是否必须按照a-B-C-D-E顺序启动集群?为什么要尝试识别一个种子节点?正如向我解释的那样,一个由2个种子加上x个节点组成的Cassandra集群必须按照特定的顺序启动(首先是种子),以确保流言蜚语能够奏效。谁在乎呢?让我来证明一下。种子节点仅在单个节点尝试启动的上下文中相关。所以实际上,任何节点都可以是种子节点。您可以有一个3节点集群,其中a使用C作为种子,B使用a作为种子。也许C死了,必须被替换(需要数据),所以它被编辑并使用B作为种子。现在,所有节点都是至少一个节点的种子节点,但不是所有节点的种子节点。重点在于;仅仅知道一个节点是一个种子是不够的,因为它只有在询问“它来自哪个节点是一个种子”时才有意义。在我的5个成员集群的示例中,a和B是C、D和E的种子,是否必须按照a-B-C-D-E顺序启动集群?