カサンドラからデータを読み取り、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 ノードから実行されていることを前提としていますか?