Cassandra 卡桑德拉:可以';t将请求的地址分配到

Cassandra 卡桑德拉:可以';t将请求的地址分配到,cassandra,Cassandra,我有datastax cassandra 1.2.5,在.yaml文件中有以下设置 存储端口:7000 ssl_存储_端口:7001 侦听地址:localhost rpc_端口:9160 我一直收到这个。我尝试过更换一次存储端口,但效果很好,但在做了同样的事情之后效果更好。我无法重新启动卡桑德拉 INFO 16:33:02,714 Completed flushing /var/lib/cassandra/data/system/local/system-local-ic-17-Da

我有datastax cassandra 1.2.5,在.yaml文件中有以下设置

  • 存储端口:7000
  • ssl_存储_端口:7001
  • 侦听地址:localhost
  • rpc_端口:9160
我一直收到这个。我尝试过更换一次存储端口,但效果很好,但在做了同样的事情之后效果更好。我无法重新启动卡桑德拉

    INFO 16:33:02,714 Completed flushing /var/lib/cassandra/data/system/local/system-local-ic-17-Data.db (241 bytes) for commitlog position ReplayPosition(segmentId=1371684781848, position=50142)
ERROR 16:33:02,793 Exception encountered during startup
java.lang.RuntimeException: java.net.BindException: Can't assign requested address
    at org.apache.cassandra.net.MessagingService.getServerSocket(MessagingService.java:446)
    at org.apache.cassandra.net.MessagingService.listen(MessagingService.java:389)
    at org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:583)
    at org.apache.cassandra.service.StorageService.initServer(StorageService.java:548)
    at org.apache.cassandra.service.StorageService.initServer(StorageService.java:445)
    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:325)
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:413)
    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:456)
Caused by: java.net.BindException: Can't assign requested address
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:344)
    at sun.nio.ch.Net.bind(Net.java:336)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:199)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:67)
    at org.apache.cassandra.net.MessagingService.getServerSocket(MessagingService.java:436)
    ... 7 more
java.lang.RuntimeException: java.net.BindException: Can't assign requested address
    at org.apache.cassandra.net.MessagingService.getServerSocket(MessagingService.java:446)
    at org.apache.cassandra.net.MessagingService.listen(MessagingService.java:389)
    at org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:583)
    at org.apache.cassandra.service.StorageService.initServer(StorageService.java:548)
    at org.apache.cassandra.service.StorageService.initServer(StorageService.java:445)
    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:325)
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:413)
    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:456)
Caused by: java.net.BindException: Can't assign requested address
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:344)
    at sun.nio.ch.Net.bind(Net.java:336)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:199)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:67)
    at org.apache.cassandra.net.MessagingService.getServerSocket(MessagingService.java:436)
    ... 7 more
Exception encountered during startup: java.net.BindException: Can't assign requested address
ERROR 16:33:02,798 Exception in thread Thread[StorageServiceShutdownHook,5,main]
java.lang.NullPointerException
    at org.apache.cassandra.service.StorageService.stopRPCServer(StorageService.java:321)
    at org.apache.cassandra.service.StorageService.shutdownClientServers(StorageService.java:362)
    at org.apache.cassandra.service.StorageService.access$000(StorageService.java:88)
    at org.apache.cassandra.service.StorageService$1.runMayThrow(StorageService.java:513)
    at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
    at java.lang.Thread.run(Thread.java:722)

很可能网络配置有问题:
localhost
解析为DHCP分配的无效主机名(类似于
192-168-1-10.local
)或本地IPv6地址(
::1
),并且在java中禁用IPv6

  • 检查
    /etc/hosts
  • 检查
    hostname
    命令的输出
  • 尝试将
    listen\u address
    设置为
    127.0.0.1
    或有效的IP地址
  • 检查
    cassandra.yaml
    中的
    rpc\u地址设置。尝试将其设置为
    127.0.0.1

您的种子列表/集群体系结构是什么?感谢Wildfire,在将侦听地址从本地地址更改为我的本地ip地址后,问题得到了解决。将
侦听地址
rpc\u地址
设置为
127.0.0.1
对我有效!这个问题正好发生在我身上。运行虚拟机,然后将虚拟机从以太网切换到wifi,从而更改了我的网络设置。已检查主机文件并将其设置为127.0.0.1。然而,当我从虚拟机ping我的本地主机时,我得到了192.x.x.x。所以它没有正确地解决。然后我设置为上面最后提到的127.0.0.1,瞧!