次のSparkの例をHadoop2.6で実行しようとしていますが、次のエラーが発生します。
INFO RMProxy:/0.0.0.0:8032でResourceManagerに接続すると、クライアントは接続しようとしてループに入ります。マスターとスレーブの2台のマシンのクラスターを実行しています。
./bin/spark-submit --class org.Apache.spark.examples.SparkPi \
--master yarn-cluster \
--num-executors 3 \
--driver-memory 2g \
--executor-memory 2g \
--executor-cores 1 \
--queue thequeue \
lib/spark-examples*.jar \
10
これは私が得るエラーです:
15/12/06 13:38:28 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-Java classes where applicable
15/12/06 13:38:29 INFO RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
15/12/06 13:38:30 INFO Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
15/12/06 13:38:31 INFO Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
15/12/06 13:38:32 INFO Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
15/12/06 13:38:33 INFO Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 3 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
15/12/06 13:38:34 INFO Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 4 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
jps
hduser @ master:/ usr/local/spark $ jps
4930 ResourceManager
4781 SecondaryNameNode
5776 Jps
4608 DataNode
5058 NodeManager
4245 Worker
4045 Master
私の/ etc/Host /
/etc/hosts
192.168.0.1 master
192.168.0.2 slave
次の行は、IPv6対応のホストに適しています
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
このエラーは主に、ホスト名が正しく構成されていない場合に発生します...ホスト名が正しく構成されており、Resourcemanagerで説明したものと同じであるかどうかを確認してください...
私も同じ問題に直面していました。私はそれを解決しました。
次の手順を実行します。
<property>
<name>yarn.resourcemanager.address</name>
<value>127.0.0.1:8032</value>
</property>
./bin/yarn-session.sh -n 2 -tm 2000を実行するときに、同様のエクスポートHADOOP_CONF_DIR =/etc/hadoop/confが、flink onyarnの場合の良いアイデアでした。
ご覧のとおり、 ここyarn.resourcemanager.address
は、デフォルト値が0.0に設定されているyarn.resourcemanager.hostname
に基づいて計算されます。 .0.0。したがって、正しく構成する必要があります。
Hadoopインストールのベースから、etc/hadoop/yarn-site.xml
ファイルを編集し、このプロパティを追加します。
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
start-yarn.sh
を再度実行すると、新しい設定が有効になります。
また、spark-submitを使用してsparkジョブを送信できなかったという同じ問題が発生しました。
この問題は、Sparkジョブの起動中にHADOOP_CONF_DIRパスが欠落していることが原因でした。したがって、ジョブを送信するときは常に、HADOOP_CONF_DIRを適切なHADOOP CONFディレクトリに設定してください。export HADOOP_CONF_DIR =/etc/hadoop/conf
私も同じ問題を抱えています。私の原因は、Resource Managerがマスターマシン上にないため、マシン間で時間が同じではないことです。わずか1秒の違いが糸の接続の問題を引き起こす可能性があります。さらに数秒の違いにより、名前ノードと日付ノードを開始できなくなる可能性があります。 ntpdを使用して時刻同期を構成し、時刻が完全に同じであることを確認します。
あなたはyarn-site.xmlがクラスパス上にあることを確認する必要があります。また、関連するプロパティがtrue要素でマークされていることを確認する必要があります。