豚のストリーミングの実行に問題があります。インタラクティブな豚のインスタンスを起動すると (参考までに、SSH/Putty を介してインタラクティブな豚の AWS EMR インスタンスのマスター ノードでこれを実行しています)、1 台のマシンのみで豚のストリーミングが完全に機能します (Windows Cloudera VM イメージでも機能します)。 )。ただし、複数のコンピューターを使用するように切り替えると、単に動作が停止し、さまざまなエラーが発生します。
ご了承ください:
- 複数のコンピューターのインスタンスで問題なくストリーム コマンドを持たない Pig スクリプトを実行できます。
- 私のすべての豚の作業は、-x ローカル モードではなく、豚の MapReduce モードで行われています。
- 私のpythonスクリプト(stream1.py)はこれを一番上に持っています #!/usr/bin/env python
以下は、これまでに試したオプションの小さなサンプルです (以下のコマンドはすべて、ssh/putty 経由でアクセスしているマスター/メイン ノードの grunt シェルで実行されます)。
これは、Pythonファイルをマスターノードに取得して使用できるようにする方法です。
cp s3n://darin.emr-logs/stream1.py stream1.py
copyToLocal stream1.py /home/hadoop/stream1.py
chmod 755 stream1.py
これらは私のさまざまなストリーム試行です:
cooc = stream ct_pag_ph through `stream1.py`
dump coco;
ERROR 2090: Received Error while processing the reduce plan: 'stream1.py ' failed with exit status: 127
cooc = stream ct_pag_ph through `python stream1.py`;
dump coco;
ERROR 2090: Received Error while processing the reduce plan: 'python stream1.py ' failed with exit status: 2
DEFINE X `stream1.py`;
cooc = stream ct_bag_ph through X;
dump coco;
ERROR 2090: Received Error while processing the reduce plan: 'stream1.py ' failed with exit status: 127
DEFINE X `stream1.py`;
cooc = stream ct_bag_ph through `python X`;
dump coco;
ERROR 2090: Received Error while processing the reduce plan: 'python X ' failed with exit status: 2
DEFINE X `stream1.py` SHIP('stream1.py');
cooc = STREAM ct_bag_ph THROUGH X;
dump cooc;
ERROR 2017: Internal error creating job configuration.
DEFINE X `stream1.py` SHIP('/stream1.p');
cooc = STREAM ct_bag_ph THROUGH X;
dump cooc;
DEFINE X `stream1.py` SHIP('stream1.py') CACHE('stream1.py');
cooc = STREAM ct_bag_ph THROUGH X;
ERROR 2017: Internal error creating job configuration.
define X 'python /home/hadoop/stream1.py' SHIP('/home/hadoop/stream1.py');
cooc = STREAM ct_bag_ph THROUGH X;