2011-03-14 104 views
1

我在ec2中安装了cassandra群集,它的工作正常。但是当我尝试使用php_cassa lib从代码连接cassandra时。它的投掷错误,如“没有服务器可用”如何将cassandra从本地连接到EC2实例

下面的代码其工作。

'ec2-public-ip address','port'=> 9160); $ conn = new Connection('CookieDB',$ servers); $ column_family = new ColumnFamily($ conn,'User'); $ column_family-> insert('row_key',array('username'=>'PHPCASSA')); $ value = $ column_family-> get('row_key'); print_r($ value); ?>

有什么做错了

在此先感谢

回答

1

听起来像是你没有cassandra.yaml编辑rpc_address听取公众接口,而不是本地主机上。

+0

是的,我也做了改变。即使没有连接 – venkat 2011-03-15 05:00:42

-1
  1. 转到EC2管理控制台
  2. 左侧菜单
  3. 上点击网络和安全下的安全组,请选择您的安全组与您的实例相关联,然后单击入站选项卡
  4. 找出什么是源为所有端口(服务)。如果源是sg-xxxxxxxx,则删除它。
  5. 通过选择下列选项中添加新的规则: 创建一个新的规则:所有流量 来源:0.0.0.0/0
  6. 添加规则,然后点击应用规则改变
  7. 要验证,如果你能连接到服务器卡桑德拉,从本机上运行的客户端卡桑德拉象下面这样:

卡桑德拉-CLI -host EC2-XX-XXX-XX-XXX.us - 西2.compute.amazonaws .com - 港口9160

+0

打开所有的港口到世界是矫枉过正的。 9042和9160就足够了,如果使用OpsCenter,则需要8888,而SSH则需要22888。 – pauljm 2015-09-17 15:25:35