#java #apache-spark
Вопрос:
Мой работник spark не может подключиться к мастеру. Я пытался:
- добавляя
spark-env.sh
, как и некоторые ответы, которые я нашел, setSPARK_MASTER_HOST
=IP - перезапустил как главного, так и рабочего
Ни один из них не сработал.
Вот что я сделал:
start spark master
starting org.apache.spark.deploy.master.Master, logging to /<MY-PATH>/spark-3.1.2-bin-hadoop3.2/logs/spark-<MY-USERNAME>-org.apache.spark.deploy.master.Master-1-<SPARK_ID>.out
start spark worker: spark://<SPARK_ID>:7077
starting org.apache.spark.deploy.worker.Worker, logging to /<MY-PATH>/spark-3.1.2-bin-hadoop3.2/logs/spark-<MY-USERNAME>-org.apache.spark.deploy.worker.Worker-1-<SPARK_ID>.out
Запускается мастер искры, и я могу получить URL-адрес мастера. Рабочий тоже начинает. Однако он не может подключиться к мастеру, потому что:
21/08/06 15:33:07 INFO Worker: Connecting to master <SPARK_ID>:7077...
21/08/06 15:33:10 WARN Worker: Failed to connect to master <SPARK_ID>:7077
org.apache.spark.SparkException: Exception thrown in awaitResult:
at org.apache.spark.util.ThreadUtils$.awaitResult(ThreadUtils.scala:301)
at org.apache.spark.rpc.RpcTimeout.awaitResult(RpcTimeout.scala:75)
at org.apache.spark.rpc.RpcEnv.setupEndpointRefByURI(RpcEnv.scala:101)
at org.apache.spark.rpc.RpcEnv.setupEndpointRef(RpcEnv.scala:109)
at org.apache.spark.deploy.worker.Worker$anon$1.run(Worker.scala:298)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Failed to connect to <SPARK_ID>/192.168.1.175:7077
at org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:287)
at org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:218)
at org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:230)
at org.apache.spark.rpc.netty.NettyRpcEnv.createClient(NettyRpcEnv.scala:204)
at org.apache.spark.rpc.netty.Outbox$anon$1.call(Outbox.scala:202)
at org.apache.spark.rpc.netty.Outbox$anon$1.call(Outbox.scala:198)
... 4 more
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: <SPARK_ID>/192.168.1.175:7077
Caused by: java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:715)
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:330)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:702)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
21/08/06 15:33:12 INFO Worker: Retrying connection to master (attempt # 4)
21/08/06 15:33:12 INFO Worker: Connecting to master <SPARK_ID>:7077...
21/08/06 15:33:13 ERROR Worker: RECEIVED SIGNAL TERM
Ответ №1:
Проверьте, запущен ли мастер, проверив файлы журналов в разделе $SPARK_HOME/журналы. Вы должны увидеть журналы, как показано ниже:
21/08/07 02:56:04 INFO Utils: Successfully started service 'sparkMaster' on port 7077.
21/08/07 02:56:04 INFO Master: Starting Spark master at spark://<your host>:7077
21/08/07 02:56:05 INFO Master: Running Spark version 3.1.2
21/08/07 02:56:05 INFO Utils: Successfully started service 'MasterUI' on port 8080.
21/08/07 02:56:05 INFO MasterWebUI: Bound MasterWebUI to 0.0.0.0, and started at http://<your IP>:8080
21/08/07 02:56:05 INFO Master: I have been elected leader! New state: ALIVE
при запуске рабочего передайте главный URL-адрес, который вы получаете из вышеприведенного журнала.
Комментарии:
1. Я подтверждаю, что мой мастер искр запустился. У меня такой же журнал, как ты написал. Однако, когда я запускаю своего рабочего, localhost:8080 по-прежнему показывает 0 рабочих, а в журнале отображается та же ошибка, которую я описал выше.