1

カサンドラからデータを読み取り、Map Reduce を使用してサマリーを作成し、別のキースペースに書き戻す BI プロセスに取り組んでいます。

単一ノードから始めて、すべてが期待どおりに機能しましたが、マルチノードに移行すると、トポロジと構成を完全に理解しているかどうかわかりません。

私は3つのノードでセットアップしています。それぞれに、Cassandra ノード (バージョン 1.1.9)、データ ノード、およびタスク トラッカー (バージョン 0.20.2+923.421- CDH3U5) があります。NameNode とジョブ トラッカーは別のサーバーにあります。この時点で、DataNode サーバーから Pig スクリプトを実行しようとしています。

よくわからないのは、豚の引数 PIG_INITIAL_ADDRESS です。クエリはすべての Cassandra ノードで実行され、各タスク トラッカーはローカルの Cassandra ノードのみをクエリし、リデューサーは重複を処理すると想定しました。その仮定に基づいて、PIG_INITIAL_ADDRESS は localhost であるべきだと思いました。しかし、豚のスクリプトを実行すると失敗します。

java.io.IOException: サーバー localhost:9160 に接続できません

私の質問は、初期アドレスは Cassandra ノードのいずれかである必要がありますか、クラスター上のマップの分割は Cassandra キー パーティションから行われますか (必要なディストリビューションを取得できますか)? Java map reduce をどこで使用する場合でも、最初のアドレスを提供する必要がありますか? 現在の実装は、pig が Cassandra ノードから実行されていることを前提としていますか?

4

1 に答える 1

1

PIG_INITIAL_ADDRESSは、リング内のCassandraノードの1つのアドレスです。HadoopジョブでCassandraからデータを読み取ったり、Cassandraにデータを書き込んだりするには、いくつかのプロパティを設定する必要があります。これらのプロパティは、ジョブのプロパティまたはジョブを実行しているサーバーのデフォルトのHadoop構成で設定することもできます。それ以外は、ジョブトラッカーにジョブを送信するようなものです。

詳細については、examples/pigの下にあるcassandraソースのダウンロードにあるreadmeを参照してください。そこにもたくさんの説明があります。

于 2013-02-21T17:34:16.603 に答える