MACOS Cassandra无法远程连接

时间:2017-05-15 05:36:50

标签: macos cassandra homebrew

我已经使用此处给出的说明在我的mac osx sierra上安装了cassandra

https://gist.github.com/hkhamm/a9a2b45dd749e5d3b3ae

安装成功,我可以使用cqlsh

轻松连接到本地的cassandra

当我做netstat -a时,我看到了

~ > netstat -a
Active Internet connections (including servers)
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp4       0      0  localhost.9042         *.*                    LISTEN

当我做nodetool status时,我看到了

Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens       Owns (effective)  Host ID                               Rack
UN  127.0.0.1  156.97 KiB  256          100.0%            1bf6cbd8-22c1-42e5-afdd-c1846be9e322  rack1

所以在这里我们可以看到cassandra正在运行,但它正在监听localhost:9042

如何让它听取0.0.0.0以便我可以远程连接?

如果我尝试远程连接,我会收到此错误

连接错误:('无法连接到任何服务器',{'ABCD':错误(61,“尝试连接到[('ABCD',9042)]。上次错误:连接被拒绝”)})

IP地址A.B.C.D 100%正确,因为我使用完全相同的IP地址的屏幕共享连接到机器。

禁用防火墙。

我编辑了这个文件sudo vi /usr/local/Cellar/cassandra/3.10_1/homebrew.mxcl.cassandra.plist

并将其修改为

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>homebrew.mxcl.cassandra</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/opt/cassandra/bin/cassandra</string>
        <string>-f</string>
        <string>--bind-address=0.0.0.0</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>WorkingDirectory</key>
    <string>/usr/local/var/lib/cassandra</string>
  </dict>
</plist>

但这会导致cassandra甚至拒绝本地连接。

再一次。我在MACOSX上并使用HOMEBREW安装了cassandra。

1 个答案:

答案 0 :(得分:0)

我能够解决它。我编辑了cassandra.yaml并将rpc_address设置为我的IP地址。

这解决了这个问题。