2017-08-30 6 views
0

を開始できません:は、私はこれらの設定を持つすべてのスパークの労働者に私のspark-env.shで

SPARK_LOCAL_IP=127.0.0.1 
SPARK_MASTER_HOST=127.0.0.1 
SPARK_WORKER_INSTANCES=2 
SPARK_WORKER_MEMORY=1000m 
SPARK_WORKER_CORES=1 

私はstart-master.shを使用してマスターを開始し、その後、私はstart-slave.sh spark://localhost:7077
母校のWeb UIをされて使用してスレーブ/労働者を開始します罰金を示しているが、それは1人の労働者だけが開始したことを示す これは(正常に動作している)最初のワーカーのログです:

スパークコマンドします。/ usr/lib/jvmの/ javaの-8-OpenJDKの-AMD64/binに/ javaの-cp /メディア/ ahmedn1/Ahmedn12/spark/conf /:/ media/ahmedn1/Ahmedn12/spark/jars/* -Xmx1g org.apache.spark.deploy.worker.Worker - webbui-port 8081 spark:// localhost:7077

17/08/30 12:19:31情報ワーカー:プロセス名のデーモンを起動しました:28769 @ ahmedn1-Inspiron-5555
17/08/30 12:19:31 INFO SignalUtils:TERMの登録シグナルハンドラ
17/08/30 12:19:31 INFO SignalUtils:HUPの登録シグナルハンドラ
17/08/30 12:19:31 INFU SignalUtils:INTの登録シグナルハンドラ
17/08/30 12:19:33 INFO SecurityManager:ビューaclsをahmedn1に変更
17/08/30 12:19 :33 INFOのSecurityManager:変更にACLを変更します。 午前12時19分33秒17/08/30
ahmedn1 INFOのSecurityManager:に グループビューのACLを変更する:
17/08/30午前12時19分33秒INFOのSecurityManager:変更 aclsグループを次のように変更します。
17/08/30 12:19:33 INFO SecurityManager: SecurityManager:認証が無効です。 ui acls disabled;表示権限を持つユーザー :Set(ahmedn1);表示権限を持つグループ: Set();変更権限を持つユーザー:Set(ahmedn1); を持つグループは、パーミッションを変更します。セット()
17/08/30 12時19分34秒INFO Utilsの:正常 ポート43479.
17/08/30 12時19分35秒INFO ワーカー上のサービス 'sparkWorker' を開始しました:起動スパーク作業者127.0.0.1:43479 2コア、1000.0 MB RAM
17/08/30 12:19:35 INFOワーカー:Running Sparkバージョン2.2.0
17/08/30 12:19:35 INFOワーカー:スパーク家: /メディア/ ahmedn1/Ahmedn12 /火花
17/08/30 12時19分35秒INFO ExternalShuffleService:ポート7337上でシャッフルサービスを開始(AUTH が=有効false)
の 17/08/30 12時19分35秒INFO Utilsの:ポートで正常に開始 サービス 'WorkerUI' 8081
17/08/30 12時19分35秒INFO WorkerWebUI:127.0.0.1へ バウンドWorkerWebUI、およびローカルホストをマスターするの接続::7077 ...
17/08/30 12時19分36秒INFOのTransportClientFactory:正常に作成された 接続は/ 127.0 localhostに
17/08/30 12時19分35秒INFOワーカーhttp://127.0.0.1:8081で開始.0.1:3077 ms後に7077( ブートストラップに0msを費やした)
17/08/30 12:19:37 INFOワーカー: をmaster spark://127.0.0で正常に登録しました。1:7077

、これは明らかに起動に失敗した第二のワーカーのログです:

スパークコマンドします。/ usr/lib/jvmの/ javaの-8-OpenJDKの-AMD64/binに/ Javaの-cp /メディア/ ahmedn1/Ahmedn12 /火花/ confに/:/メディア/ ahmedn1/Ahmedn12 /火花/瓶/ *

-Xmx1G org.apache.spark.deploy.worker.Worker --webuiポート8082 spark:// localhost:7077

17/08/30 12:19:34 INFO Worker:プロセスnamでデーモンを起動しましたe:28819 @ ahmedn1-Inspiron-5555
17/08/30 12:19:34 INFO SignalUtils:TERMの登録シグナルハンドラ
17/08/30 12:19:34 INFO SignalUtils:HUPの登録シグナルハンドラ
17/08/30 12:19:34 INFO SignalUtils:INTの登録シグナルハンドラー
17/08/30 12:19:36 INFO SecurityManager:表示aclsをahmedn1に変更
17/08/30 12:19 :36 INFOのSecurityManager:変更にACLを変更します。 12時19分36秒17/08/30
ahmedn1 INFOのSecurityManager:に グループビューのACLを変更する:
17/08/30 12時19分36秒INFOのSecurityManager:変更改変fy aclsグループへ:
17/08/30 12:19:36 INFO SecurityManager: SecurityManager:認証が無効です。 ui acls disabled;表示権限を持つユーザー :Set(ahmedn1);表示権限を持つグループ: Set();変更権限を持つユーザー:Set(ahmedn1); を持つグループは、パーミッションを変更します。セット()
17/08/30午前12時19分37秒INFO Utilsの:正常 ポート46067.
17/08/30午前12時19分38秒INFO ワーカー上のサービス 'sparkWorker' を開始しました:起動スパーク作業者127.0.0.1:46067 2コア、1000.0 MB RAM
17/08/30 12:19:38 INFOワーカー:Running Sparkバージョン2.2.0
17/08/30 12:19:38 INFOワーカー:スパーク家: /メディア/ ahmedn1/Ahmedn12 /火花
17/08/30 12時19分38秒INFO ExternalShuffleService:ポート7337上でシャッフルサービスを開始(AUTH が=有効false) 17/08/30 12:19:38エラー受信トレイ:無視するエラー java.net.BindException: sun.nio.ch.Net.bind0でアドレスが既に使用されています(ネイティブメソッド) sun.nio.ch .Net.bind(Net.java:433)at sun.nio.ch.Net.bind(Net.java:425)at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) at io.netty.channel.AbstractChannel $ AbstractUnsafe.bind(AbstractChannel.java:501) io.netty.channelで でio.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:127) 。 DefaultChannelPipeline $ HeadContext.bind(DefaultChannelPipeline.java:1218) at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:496) でio.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:481) io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipelineで.java:965) at io.netty.channel.AbstractChannel.bind(AbstractChannel。Javaの:210) io.netty.bootstrap.AbstractBootstrapの$ 2.run(AbstractBootstrap.java:353) でio.nettyで io.netty.util.concurrent.SingleThreadEventExecutor.runAllTask​​s(SingleThreadEventExecutor.java:399) で io.netty.util.concurrent.DefaultThreadFactory $ DefaultRunnableDecoratorで io.netty.util.concurrent.SingleThreadEventExecutorの$ 2.run(SingleThreadEventExecutor.java:131) で.channel.nio.NioEventLoop.run(NioEventLoop.java:446) .RUN java.lang.Thread.runで(DefaultThreadFactory.java:144) (Thread.java:748)

だから、私はこの問題はである見ますポートに関連する可能性があるアドレスバインディング。しかし、自動的にフリーポートを選択するのではないですか?

答えて

0

したがって、私は、2番目のワーカーの外部シャッフルサービスを開始しようとした後に例外が発生することに気付きました。
source codesを掘り下げた後、クラスタごとに1つのシャッフルサービスが実行されていることがわかりました。

// With external shuffle service enabled, if we request to launch multiple workers on one host, 
// we can only successfully launch the first worker and the rest fails, because with the port 
// bound, we may launch no more than one external shuffle service on each host. 
// When this happens, we should give explicit reason of failure instead of fail silently. For 
// more detail see SPARK-20989. 
val externalShuffleServiceEnabled = conf.getBoolean("spark.shuffle.service.enabled", false) 
val sparkWorkerInstances = scala.sys.env.getOrElse("SPARK_WORKER_INSTANCES", "1").toInt 
require(externalShuffleServiceEnabled == false || sparkWorkerInstances <= 1, 
    "Starting multiple workers on one host is failed because we may launch no more than one " + 
    "external shuffle service on each host, please set spark.shuffle.service.enabled to " + 
    "false or set SPARK_WORKER_INSTANCES to 1 to resolve the conflict.") 

だから、私の条件に私は1つのクラスタのみを持っているか、使用してシャッフルサービスをオフにする必要があります:私はこれをしなかった場合は

spark.dynamicAllocation.enabled false 
spark.shuffle.service.enabled false 

は、それが問題を解決しました。

関連する問題