2016-07-21 4 views
0

このコードは、masterをlocalhostに設定すると完璧に動作します。この問題は、2つのワーカー・ノードを持つクラスタでサブミットすると発生します。google cloudクラスタのマルチノードスパークジョブのモジュールエラー

すべてのマシンに同じバージョンのpythonとパッケージがあります。また、目的のPythonバージョン、つまり3.5.1を指すようにパスを設定しました。私がマスターsshセッションで私のスパークジョブを提出するとき。次のエラーが表示されます。

py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.runJob. : org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 2.0 failed 4 times, most recent failure: Lost task 0.3 in stage 2.0 (TID 5, .c..internal): org.apache.spark.api.python.PythonException: Traceback (most recent call last): File "/hadoop/yarn/nm-local-dir/usercache//appcache/application_1469113139977_0011/container_1469113139977_0011_01_000004/pyspark.zip/pyspark/worker.py", line 98, in main command = pickleSer._read_with_length(infile) File "/hadoop/yarn/nm-local-dir/usercache//appcache/application_1469113139977_0011/container_1469113139977_0011_01_000004/pyspark.zip/pyspark/serializers.py", line 164, in _read_with_length return self.loads(obj) File "/hadoop/yarn/nm-local-dir/usercache//appcache/application_1469113139977_0011/container_1469113139977_0011_01_000004/pyspark.zip/pyspark/serializers.py", line 419, in loads return pickle.loads(obj, encoding=encoding) File "/hadoop/yarn/nm-local-dir/usercache//appcache/application_1469113139977_0011/container_1469113139977_0011_01_000004/pyspark.zip/pyspark/mllib/init.py", line 25, in import numpy ImportError: No module named 'numpy'

人がワーカーノードにアクセスできない他の投稿を見ました。私がやります。私は他のワーカーノードに対して同じメッセージを受け取ります。いくつかの環境設定が不足しているかどうかはわかりません。どんな助けでも大歓迎です。

+0

numpyをインストールしようとしましたか? http://stackoverflow.com/questions/1273203/cant-import-numpy-in-python –

+0

はい、すべてのノードに最新のnumpyをインストールしました。 – sumoka

答えて

0

これが解決策になるかどうかは不明です。私はgoogleプラットフォームでdataprocを使用して同じ仕事を提出し、それは何の問題もなく働いた。私はGoogleのクラスターでジョブを実行する最善の方法は、Googleプラットフォームで提供されているユーティリティを介していると考えています。 dataprocユーティリティは、環境に関連する問題を解消すると思われます。

関連する問題