当前位置: 首页 > 知识库问答 >
问题:

Cassandra服务器上的错误:无法与任何种子八卦

唐伟
2023-03-14

我将向单节点cassandra集群添加第二个节点,并获得第二个节点上的堆栈跟踪:

ERROR 18:13:42,841 Exception encountered during startup
java.lang.RuntimeException: Unable to gossip with any seeds
        at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1193)
        at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:446)
        at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:655)
        at org.apache.cassandra.service.StorageService.initServer(StorageService.java:611)
        at org.apache.cassandra.service.StorageService.initServer(StorageService.java:504)
        at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:378)
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:496)
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:585)
java.lang.RuntimeException: Unable to gossip with any seeds
        at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1193)
        at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:446)
        at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:655)
        at org.apache.cassandra.service.StorageService.initServer(StorageService.java:611)
        at org.apache.cassandra.service.StorageService.initServer(StorageService.java:504)
        at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:378)
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:496)
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:585)
Exception encountered during startup: Unable to gossip with any seeds
ERROR 18:13:42,885 Exception in thread Thread[StorageServiceShutdownHook,5,main]
java.lang.NullPointerException
        at org.apache.cassandra.gms.Gossiper.stop(Gossiper.java:1270)
        at org.apache.cassandra.service.StorageService$1.runMayThrow(StorageService.java:572)
        at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
        at java.lang.Thread.run(Thread.java:744)

阿帕奇·卡桑德拉:无法与任何种子八卦

新的cassandra节点不能和种子八卦

Datastax Enterprise正在崩溃,无法与任何种子错误八卦

- seeds: "<host1>"
listen_address:
broadcast_address:
endpoint_snitch: GossipingPropertyFileSnitch
internode_encryption: all
cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA]
- seeds: "<host1>"
listen_address:
broadcast_address:
endpoint_snitch: GossipingPropertyFileSnitch
internode_encryption: all
cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA]

好吧,第二天。我在这两台机器上都升级到了Java1.7.0_60。Gossip现在可以使用internode_encryption:none。我非常怀疑新的结果是否与JDK中的变化有关;这更有可能与擦洗目录之类的粗心大意有关。

我已经注释了每个配置文件中列出密码的行。Gossip仍然以与internode_encryption:all相同的方式失败。种子节点的日志是干净的,但其他节点记录过滤出TLS_RSA_WITH_AES_256_CBC_SHA、TLS_DHE_RSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,因为它不受套接字支持,直到gossip失败。我认为日志条目与失败有关。为什么一个记录这个而另一个不记录,我不知道。它们都是运行相同jdk版本的debian。

编辑:

启用debug后,种子节点记录:

DEBUG 22:44:57,409 Error reading the socket d862c40[SSL_NULL_WITH_NULL_NULL: Socket[addr=/10.128.139.94,port=60611,localport=7001]]
javax.net.ssl.SSLHandshakeException: no cipher suites in common

按照http://www.datastax.com/documentation/cassandra/2.0/cassandra/security/securesslcertificates_t.html?scroll=task_ds_c14_xjy_2k的说明,我已经非常仔细地为这两个服务器创建了证书。

共有1个答案

潘琨
2023-03-14

它现在可以使用未加密或加密的通信。在两台服务器上安装JCE扩展并更改证书生成后,加密通信开始工作。为Cassandra2.0准备服务器证书的Datastax指令删除了Cassandra1.2指令中的一个参数。包括参数似乎会有所不同。附加参数是-keyalg rsa:

Seed server:
keytool -genkey -alias prod01 -keystore .keystore -keyalg RSA
keytool -export -alias prod01 -file prod01.cer -keystore .keystore -keyalg RSA

Other server:
keytool -genkey -alias prod00 -keystore .keystore -keyalg RSA
keytool -export -alias prod00 -file prod00.cer -keystore .keystore -keyalg RSA

然后,确保两台服务器都有证书,并使用它们在两台服务器上使用以下命令创建信任存储:

keytool -import -v -trustcacerts -alias prod00 -file prod00.cer -keystore .truststore
keytool -import -v -trustcacerts -alias prod01 -file prod01.cer -keystore .truststore
chmod go-rwx .keystore
 类似资料:
  • 我在我的本地专用网络中有卡桑德拉,我正在尝试从另一台PC访问,但在连接到卡桑德拉服务器时,我收到此错误。 ('无法连接到任何服务器',{'192.168.1.170':ConnectionRefusedError(10061,“尝试连接到[('192.188.1.170',9042)]。上一个错误:由于目标计算机主动拒绝,无法建立连接”)}) 有人能帮帮我吗?

  • 我已经构建了Cassandra Server2.0.3,然后运行它。它开始,然后用消息停止: 我可以改变什么来运行它?

  • 我正在尝试使用mongodb连接mongodb。MongoClient。带有简单url连接字符串集的connect()。当我启动服务器时,它会抛出错误 这是我的代码,我要通过三个mongodb服务器,如下所示 mongoDB版本=2.2.3 mongdb lib版本=1.3.18 但我不知道会有什么问题。这个问题也发生在我的生产设置中。

  • 我的节点应用程序向我发送了这样一条消息:“无法连接到MongoDB Atlas群集中的任何服务器。请确保您当前的IP地址在Atlas群集中的IP白名单上。”。 我已经添加了我当前的IP地址以及IP白名单上的0.0.0.0。 下面是错误消息的图片和我编写的连接它的代码。我是node.js和mongoDB的新手。我查看了这里的所有解决方案,但没有一个能够解决这个问题。 这是我在运行nodemon后收到

  • 我有一个问题已经一个月了,但我没有找到解决办法。我的笔记本电脑和个人电脑都有这些问题(我以前启动过mongod): 错误:无法连接到服务器 127.0.0.1:27017 src/mongo/shell/mongo.js:91 异常:连接失败 错误:无法连接到服务器127.0.0.1:27017 src/mongo/shell/mongo。js:93异常:连接失败 错误:无法连接到服务器127.0

  • C:\用户\跨度t 2\下载\apache-cassandra-3.11.5\bin 启动 Cassandra 服务器 C:\用户\跨度t 2\下载\apache-cassandra-3.11.5\bin 连接错误:('无法连接到任何服务器',{'127.0.0.1':错误(10061,"尝试连接到[('127.0.0.1',9042)]。最后一个错误:无法进行连接,因为目标机器主动拒绝它")})