0

私は cassandra を初めて使用するので、EC2 インスタンスで Cassandra をセットアップする方法についてこのガイドに従いました。すべてのセットアップと準備が整ったのですが、何らかの理由で ruby​​ から接続できません。これが私が試したことです:

 require 'cassandra'
 client = Cassandra.new('PERSON', 'ec2-xx-xx-xxx-xxx.compute-1.amazonaws.com:9160')
   # =>
   #  <Cassandra:0x100cda3b0
   #    @auto_discover_nodes = true,
   #    @column_name_class = {},
   #    @column_name_maker = {},
   #    @is_super = {},
   #    @sub_column_name_class = {},
   #    @sub_column_name_maker = {},
   #    attr_accessor :keyspace = "PERSON",
   #    attr_reader :servers = [
   #      [0] "ec2-xx-xx-xxx-xxx.compute-1.amazonaws.com:9160"
   #    ],
   #    attr_reader :thrift_client_class = ThriftClient < AbstractThriftClient,
   #    attr_reader :thrift_client_options = {
   #      :transport_wrapper => Thrift::FramedTransport < Thrift::BaseTransport,
   #      :thrift_client_class => ThriftClient < AbstractThriftClient,
   #      :protocol => Thrift::BinaryProtocolAccelerated < Thrift::BinaryProtocol
   #    }
   #  >

次に、クライアントを使用しようとすると、次のエラーが発生します。

client.keyspaces
  #=> ThriftClient::NoServersAvailable: No live servers in [ec2-xx-xx-xxx-xxx.compute-1.amazonaws.com:9160].

SSH経由で接続できるので、ここで何が間違っているのかわかりません。

アップデート:

私のセキュリティグループには以下が含まれます:

ポート: 9160

プロトコル: TCP

ソース: sg-xxxxxxxx

4

2 に答える 2

1

Cassandra サーバーへの接続の「ソース」はどこですか?

使用しているセキュリティ グループは、グループsg-xxxxxxxx内のインスタンスに対してポート 9160 のみを開きます。他の場所 (外の世界など) から接続しようとすると、成功しません。

于 2012-10-24T18:14:38.727 に答える
0

確認することが2つあります。

  • クライアントやサーバーでファイアウォールを実行していますか?
  • EC2セキュリティグループでクライアントからサーバーへのアクセスを許可していますか?
于 2012-10-24T15:40:20.123 に答える