Amazon ec2 使用远程couchbase和AWS ec2时超时

Amazon ec2 使用远程couchbase和AWS ec2时超时,amazon-ec2,couchbase,Amazon Ec2,Couchbase,出于开发目的,我想将本地计算机连接到安装在远程ec2上的couchbase。 我成功地建立了连接,但在尝试访问数据时超时 我搜索了这个问题,发现这个问题可能与couchbase返回了内部IP这一事实有关,该IP不能在AWS之外使用 但是,我没有找到任何解决办法。有什么想法吗 谢谢 This is my output: In [19]: c = couchbase.Couchbase().connect(host='107.20.181.77',bucket='amit') In [20]:

出于开发目的,我想将本地计算机连接到安装在远程ec2上的couchbase。 我成功地建立了连接,但在尝试访问数据时超时

我搜索了这个问题,发现这个问题可能与couchbase返回了内部IP这一事实有关,该IP不能在AWS之外使用

但是,我没有找到任何解决办法。有什么想法吗

谢谢

This is my output:

In [19]: c = couchbase.Couchbase().connect(host='107.20.181.77',bucket='amit')

In [20]: c
Out[20]: <couchbase.connection.Connection bucket=amit, nodes=['10.185.248.101:8091'] at 0x2f20870>

In [21]: c.set("12345",{'a':100})
---------------------------------------------------------------------------
TimeoutError                              Traceback (most recent call last)
<ipython-input-21-4df1cb7c8c9a> in <module>()
----> 1 c.set("12345",{'a':100})

/usr/local/lib/python2.7/dist-packages/couchbase/connection.pyc in set(self, key, value, cas, ttl, format, persist_to, replicate_to)
    318         """
    319         return _Base.set(self, key, value, cas, ttl, format,
--> 320                          replicate_to, persist_to)
    321 
    322     def add(self, key, value, ttl=0, format=None, persist_to=0, replicate_to=0):

TimeoutError: <Key=u'12345', RC=0x17[Operation timed out], Operational Error, Results=1, C Source=(src/multiresult.c,286)>
这是我的输出:
在[19]中:c=couchbase.couchbase().connect(host='107.20.181.77',bucket='amit')
In[20]:c
出[20]:
在[21]中:c.set(“12345”,{'a':100})
---------------------------------------------------------------------------
TimeoutError回溯(最近一次呼叫上次)
在()
---->1 c.set(“12345”,{'a':100})
/集合中的usr/local/lib/python2.7/dist-packages/couchbase/connection.pyc(self、key、value、cas、ttl、format、persist\u to、replicate\u to)
318         """
319返回基本设置(self、key、value、cas、ttl、format、,
-->320复制到,持久化到)
321
322 def add(self、key、value、ttl=0、format=None、persist\u to=0、replicate\u to=0):
时间错误:

几乎所有云平台都存在相同的问题。客户端将使用节点名称或IP地址连接到集群的节点。对于通过internet连接的应用程序,专用IP不起作用。解决方法是为节点使用公共名称或IP地址。如果您希望提高效率,可以仍然使用DNS欺骗来确保本地通信仍然通过私有IP进行,但确保名称解析为节点之间的私有IP。没有特定于AWS的帖子,但Azure上的这篇帖子可能会有所帮助:
希望这能有所帮助。

也有同样的问题。像Cihan B一样,Couchbase解决私有IP似乎有问题

我尝试按照本教程的步骤1-7进行操作


另一个可行的解决方案是停止服务器,删除配置文件并重新启动服务器。您现在可以在web应用程序中配置IP地址。

我遇到了相同的问题,原因是一旦您连接到它,它将返回自己的内部拓扑,因此如果您使用专用IP地址创建群集,它将重新启动将您的ip设为私有,这意味着您无法在AWS之外连接到它

解决办法是: 1) 从集群中删除节点

2) 再平衡

3) 使用其公共dns名称将其添加回(公共ip地址将无法正常工作,您可以从中看到:)

4) 重新平衡它

对所有节点重复上述操作,希望集群中的节点不要太多