Amazon ec2 如何使用sstableloader填充Cassandra集群?
我已经使用Whirr在EC2上建立了一个3节点的Cassandra集群。我还有一个第四个EC2实例,我正在使用它来编写以下sstables 编写sstables后,我将尝试加载Cassandra群集,但我不断得到:Amazon ec2 如何使用sstableloader填充Cassandra集群?,amazon-ec2,cassandra,Amazon Ec2,Cassandra,我已经使用Whirr在EC2上建立了一个3节点的Cassandra集群。我还有一个第四个EC2实例,我正在使用它来编写以下sstables 编写sstables后,我将尝试加载Cassandra群集,但我不断得到: Starting client (and waiting 30 seconds for gossip) ... java.lang.IllegalStateException: Cannot load any sstable, no live member found in the
Starting client (and waiting 30 seconds for gossip) ...
java.lang.IllegalStateException: Cannot load any sstable, no live member found in the cluster
我已将sstableloader cassandra.yaml中的种子配置为集群中的一个节点,并打开了集群中种子节点与sstableloader实例之间的端口。我能够从sstableloader实例使用cassandra cli访问种子节点,因此我认为这些配置都是正确的
我还缺什么吗?sstableloader是否必须在其中一个群集节点上运行才能正常工作?节点之间打开了哪些端口?端口7000(默认情况下)是gossip特别需要的。7000和9160(TCP),这是两个实例上yaml中指定的存储端口和rpc端口。我的最佳选择是它没有使用您认为是的conf文件。您是否在某个时候从软件包中安装了cassandra,现在通过下载运行?sstableloader脚本在查找本地目录之前,将先查找/etc/cassandra和/usr/share/cassandra等位置。您可以通过将“CASSANDRA_HOME”设置为包含要使用的conf/dir的目录来覆盖此行为。它肯定使用了正确的配置文件。接下来,通过设置环回地址,我能够将sstableloader连接到在同一个框上运行的第二个cassandra实例。我可以查看cassandra实例的日志,并查看BrancherLoader连接并开始加载。但仍无法连接到远程群集。