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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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
Amazon ec2 EC2上的datastax cassandra群集-节点如何找到彼此?_Amazon Ec2_Cassandra_Datastax - Fatal编程技术网

Amazon ec2 EC2上的datastax cassandra群集-节点如何找到彼此?

Amazon ec2 EC2上的datastax cassandra群集-节点如何找到彼此?,amazon-ec2,cassandra,datastax,Amazon Ec2,Cassandra,Datastax,我按照Datastax指令在EC2上设置集群 一切正常,集群已创建 我的问题是怎么做? 实例之间如何相互了解? 最初我假设它是从元数据中读取的,但我没有在那里找到信息。Cassandra使用“种子节点”将节点拓扑信息传播到整个集群,包括所有节点的地址。根据,AMI设置所有种子节点。我希望AMI修改每个节点的cassandra.yaml文件来配置这些种子节点 编辑: 它会找到种子节点,因为您在创建集群时在每个节点上的cassandra.yaml文件中对它们进行了配置,或者AMI代表您进行了配置。当

我按照Datastax指令在EC2上设置集群 一切正常,集群已创建

我的问题是怎么做? 实例之间如何相互了解? 最初我假设它是从元数据中读取的,但我没有在那里找到信息。

Cassandra使用“种子节点”将节点拓扑信息传播到整个集群,包括所有节点的地址。根据,AMI设置所有种子节点。我希望AMI修改每个节点的cassandra.yaml文件来配置这些种子节点

编辑:


它会找到种子节点,因为您在创建集群时在每个节点上的cassandra.yaml文件中对它们进行了配置,或者AMI代表您进行了配置。当每个节点出现时,它会在其cassandra.yaml中查找种子节点列表,联系它们,它们会提供它们知道的所有节点的列表。换句话说,所有与它们联系的节点。当新节点加入时,存在通过集群传播,种子节点保留主列表。

我相信我有一个答案:Reflector,一个集中式datastax服务,通过保留id从每个服务器和组获取请求。 一段时间后,每个成员都可以查询并获取其他成员的IP

“反射器用于跟踪正在启动的DSE/C群集中的IP。反射器接收内部IP地址、公共dns、保留id和clustername以跟踪集群的种子。此数据保存到SQLite数据库中。如果在5分钟不活动后发送了对php文件的另一个请求,则数据库将被清除并重新启动,以尽可能保持IP列表的最新状态,以避免冲突并保护您的隐私。”

对反射器的呼叫已接通

基本上,您已经为它们的连接打开了一些tcp端口。 7000端口用于内部节点通信,9042端口用于CQL本机传输


因此,您可以在命令行中检查这些端口。它们都应该打开。

我的问题是每个节点如何发现其他节点(包括种子节点)。