在启动cqlsh shell时,它给了我连接到cassandra数据库的错误
我正在尝试连接cqlsh,但它给我以下错误:在启动cqlsh shell时,它给了我连接到cassandra数据库的错误,cassandra,cqlsh,Cassandra,Cqlsh,我正在尝试连接cqlsh,但它给我以下错误: Connection error: ('Unable to connect to any servers', {'127.0.0.1': error(111, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")}) 我已在终端上尝试了cqlsh命令: cqlsh 这是因为您没有为cqlsh提供要连接的IP地址。然后它假设“主”I
Connection error: ('Unable to connect to any servers', {'127.0.0.1':
error(111, "Tried connecting to [('127.0.0.1', 9042)].
Last error: Connection refused")})
我已在终端上尝试了cqlsh命令:
cqlsh
这是因为您没有为cqlsh提供要连接的IP地址。然后它假设“主”IP(127.0.0.1),我猜您没有一个正在运行的Cassandra节点绑定到该地址 首先,
grep
用于节点绑定到的地址:
$ grep "_address:" cassandra.yaml
listen_address: 192.168.1.3
broadcast_address: 10.2.1.30
rpc_address: 192.168.1.3
broadcast_rpc_address: 10.2.1.30
如果您的广播
地址与定义的侦听/rpc地址不同,则应使用该地址(内部IP与外部IP…您需要外部IP)。在这种情况下,cqlsh命令将如下所示:
cqlsh 10.2.1.30 -u username -p password
这是因为您没有为cqlsh提供要连接的IP地址。然后它假设“主”IP(127.0.0.1),我猜您没有一个正在运行的Cassandra节点绑定到该地址 首先,
grep
用于节点绑定到的地址:
$ grep "_address:" cassandra.yaml
listen_address: 192.168.1.3
broadcast_address: 10.2.1.30
rpc_address: 192.168.1.3
broadcast_rpc_address: 10.2.1.30
如果您的广播
地址与定义的侦听/rpc地址不同,则应使用该地址(内部IP与外部IP…您需要外部IP)。在这种情况下,cqlsh命令将如下所示:
cqlsh 10.2.1.30 -u username -p password
有几个场景可以回答您的问题: 1) 卡桑德拉没有跑 2) Cassandra没有使用该主机/IP(127.0.0.1)侦听/运行 3) 卡桑德拉没有监听9042端口 4) 防火墙正在阻止该主机/端口 1) 检查它是否正在运行
ps -ef | grep cassandra (or dse if using dse)
2) 检查cassandra.yaml中的本机_传输_地址以查看用于主机的IP。0.0.0.0非常好(如果您设置本机\u传输\u广播\u地址)
3) 检查cassandra.yaml中的本机_传输_端口以查看所使用的端口
4) Telnet连接到主机/端口,以确保没有任何阻碍
telnet 127.0.0.1 9042
您应该看到类似以下内容的输出:
Connected to XXXXXXXX.
Escape character is '^]'.
如果你不这样做,并且所有其他检查都通过了,那么就有东西挡住了去路(防火墙)
请注意,cassandra.yaml中使用的参数适用于cassandra 3.11(我相信dse 5.X+)。如果使用旧版本,则参数不同
-Jim有几个场景可以回答您的问题: 1) 卡桑德拉没有跑 2) Cassandra没有使用该主机/IP(127.0.0.1)侦听/运行 3) 卡桑德拉没有监听9042端口 4) 防火墙正在阻止该主机/端口 1) 检查它是否正在运行
ps -ef | grep cassandra (or dse if using dse)
2) 检查cassandra.yaml中的本机_传输_地址以查看用于主机的IP。0.0.0.0非常好(如果您设置本机\u传输\u广播\u地址)
3) 检查cassandra.yaml中的本机_传输_端口以查看所使用的端口
4) Telnet连接到主机/端口,以确保没有任何阻碍
telnet 127.0.0.1 9042
您应该看到类似以下内容的输出:
Connected to XXXXXXXX.
Escape character is '^]'.
如果你不这样做,并且所有其他检查都通过了,那么就有东西挡住了去路(防火墙)
请注意,cassandra.yaml中使用的参数适用于cassandra 3.11(我相信dse 5.X+)。如果使用旧版本,则参数不同
-Jim我得到了一个解决方案,两个查询必须在终端上逐个运行
我得到了一个解决方案,两个查询必须在终端上逐个运行
请添加更多信息-什么操作系统、什么Cassandra版本、什么Java版本等。请添加更多信息-什么操作系统、什么Cassandra版本、什么Java版本等。