我已经在默认的公共子网中将Cassandra部署在Amazon EC2实例上,并安装了python驱动程序。然后,我就能够在那个core.py实例上成功地运行- EC2。效果很好。
现在,我在默认的公共子网中又生成了一个EC2实例,在它上安装了python驱动程序,并尝试执行上面提到的python文件,将第一个EC2实例的公共IP地址替换为第33行的127.0.0.1,其中完成了基于单个节点的cassandra安装,但是它失败了,出现了以下错误-
[ec2-user@ip-172-31-43-142 ~]$ python example.py
2018-05-02 09:50:23,061 [WARNING] cassandra.cluster: Cluster.__init__ called
with contact_points specified, but no load_balancing_policy. In the next
major version, this will raise an error; please specify a load-balancing
policy. (contact_points = ['54.244.59.178'], lbp = None)
2018-05-02 09:50:23,064 [DEBUG] cassandra.cluster: Connecting to cluster,
contact points: ['54.244.59.178']; protocol version: 4
2018-05-02 09:50:23,064 [DEBUG] cassandra.io.asyncorereactor: Validated loop
dispatch with cassandra.io.asyncorereactor._AsyncorePipeDispatcher
2018-05-02 09:50:23,064 [DEBUG] cassandra.pool: Host 54.244.59.178 is now
marked up
2018-05-02 09:50:23,067 [DEBUG] cassandra.cluster: [control connection]
Opening new connection to 54.244.59.178
2018-05-02 09:50:23,073 [WARNING] cassandra.cluster: [control connection]
Error connecting to 54.244.59.178:
Traceback (most recent call last):
File "cassandra/cluster.py", line 2798, in
cassandra.cluster.ControlConnection._reconnect_internal
return self._try_connect(host)
File "cassandra/cluster.py", line 2820, in
cassandra.cluster.ControlConnection._try_connect
connection = self._cluster.connection_factory(host.address,
is_control_connection=True)
File "cassandra/cluster.py", line 1205, in
cassandra.cluster.Cluster.connection_factory
return self.connection_class.factory(address, self.connect_timeout,
*args, **kwargs)
File "cassandra/connection.py", line 332, in
cassandra.connection.Connection.factory
conn = cls(host, *args, **kwargs)
File "/usr/local/lib64/python2.7/site-
packages/cassandra/io/asyncorereactor.py", line 344, in __init__
self._connect_socket()
File "cassandra/connection.py", line 371, in
cassandra.connection.Connection._connect_socket
raise socket.error(sockerr.errno, "Tried connecting to %s. Last error: %s" %
([a[4] for a in addresses], sockerr.strerror or sockerr))
error: [Errno 111] Tried connecting to [('54.244.59.178', 9042)]. Last
error:
Connection refused
2018-05-02 09:50:23,079 [ERROR] cassandra.cluster: Control connection failed
to connect, shutting down Cluster:
Traceback (most recent call last):
File "cassandra/cluster.py", line 1270, in
cassandra.cluster.Cluster.connect
self.control_connection.connect()
File "cassandra/cluster.py", line 2766, in
cassandra.cluster.ControlConnection.connect
self._set_new_connection(self._reconnect_internal())
File "cassandra/cluster.py", line 2809, in
cassandra.cluster.ControlConnection._reconnect_internal
raise NoHostAvailable("Unable to connect to any servers", errors)
NoHostAvailable: ('Unable to connect to any servers', {'54.244.59.178':
error(111, "Tried connecting to [('54.244.59.178', 9042)]. Last error:
Connection refused")})
2018-05-02 09:50:23,082 [DEBUG] cassandra.cluster: Shutting down Cluster
Scheduler
2018-05-02 09:50:23,082 [DEBUG] cassandra.cluster: Shutting down control
connection
Traceback (most recent call last):
File "example.py", line 73, in <module>
main()
File "example.py", line 22, in main
session = cluster.connect()
File "cassandra/cluster.py", line 1247, in
cassandra.cluster.Cluster.connect
File "cassandra/cluster.py", line 1283, in
cassandra.cluster.Cluster.connect
File "cassandra/cluster.py", line 1270, in
cassandra.cluster.Cluster.connect
File "cassandra/cluster.py", line 2766, in
cassandra.cluster.ControlConnection.connect
File "cassandra/cluster.py", line 2809, in
cassandra.cluster.ControlConnection._reconnect_internal
cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers',
{'54.244.59.178': error(111, "Tried connecting to [('54.244.59.178', 9042)].
Last error: Connection refused")})
[ec2-user@ip-172-31-43-142 ~]$
你能提供解决这个问题的建议吗?
请注意,在我的安全组中,下列入站端口是开放的-
发布于 2018-05-02 03:21:23
检查您的cassandra.yaml,它可能是一个配置问题。将Cassandra设置为侦听本地计算机IP地址上的连接,而不是“localhost”,这是从远程客户端连接Cassandra所必需的。
检查cassandra.yaml中的变量“rpc_address”和“cassandra.yaml”,例如:
listen_address: 54.244.59.178
rpc_address: 54.244.59.178
在您的设置中使用您机器的IP地址。
https://stackoverflow.com/questions/50133234
复制