首页 > 解决方案 > IP v6 地址套接字创建失败并出现“无法创建 SSL 套接字”错误

问题描述

IP v6 地址套接字创建失败并出现“无法创建 SSL 套接字”错误:

Unable to create ssl socket
Fatal configuration error; unable to start server.  See log for stacktrace.
10:31:36.165 [main] ERROR o.a.c.service.CassandraDaemon - Fatal configuration error
org.apache.cassandra.exceptions.ConfigurationException: Unable to create ssl socket
        at org.apache.cassandra.net.MessagingService.getServerSockets(MessagingService.java:521) ~[apache-cassandra-3.9.jar:3.9]
        at org.apache.cassandra.net.MessagingService.listen(MessagingService.java:501) ~[apache-cassandra-3.9.jar:3.9]
        at org.apache.cassandra.net.MessagingService.listen(MessagingService.java:485) ~[apache-cassandra-3.9.jar:3.9]
        at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:745) ~[apache-cassandra-3.9.jar:3.9]
        at org.apache.cassandra.service.StorageService.initServer(StorageService.java:648) ~[apache-cassandra-3.9.jar:3.9]
        at org.apache.cassandra.service.StorageService.initServer(StorageService.java:548) ~[apache-cassandra-3.9.jar:3.9]
        at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:385) [apache-cassandra-3.9.jar:3.9]
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:601) [apache-cassandra-3.9.jar:3.9]
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:730) [apache-cassandra-3.9.jar:3.9]
Caused by: java.net.SocketException: Protocol family unavailable
        at java.net.PlainSocketImpl.socketBind(Native Method) ~[na:1.8.0_102]
        at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387) ~[na:1.8.0_102]
        at java.net.ServerSocket.bind(ServerSocket.java:375) ~[na:1.8.0_102]
        at org.apache.cassandra.security.SSLFactory.getServerSocket(SSLFactory.java:65) ~[apache-cassandra-3.9.jar:3.9]
        at org.apache.cassandra.net.MessagingService.getServerSockets(MessagingService.java:517) ~[apache-cassandra-3.9.jar:3.9]
        ... 8 common frames omitted

标签: cassandra

解决方案


您需要在文件/etc/cassandra/jvm.options中注释掉以下行

-Djava.net.preferIPv4Stack=true

正如西蒙在下面的答案中提到的那样,您可能还需要取消注释或编辑 cassandra.yaml 中的属性。

rpc_interface_prefer_ipv6=true
listen_interface_prefer_ipv6=true

那应该可以解决问题。有关更多详细信息,请查看链接。


推荐阅读