2017-09-26 1 views
1

독립형 클러스터 관리자를 사용하여 Spark Apache 응용 프로그램을 배포하고 있습니다. 나는이 실행되는 : 내 아키텍처는 2 윈도우 머신 마스터로 한 세트 및 슬레이브로 또 다른 세트 (근로자)작업자가 Spark Apache에서 master에 연결하지 못했습니다.

마스터 사용 \bin>spark-class org.apache.spark.deploy.master.Master을하고이 웹 UI를 보여줍니다 것입니다 :

노예를 : 있는 나는 실행 \bin>spark-class org.apache.spark.deploy.worker.Worker spark://192.*.*.186:7077 이것은 웹 UI 보여줍니다 무엇 무엇을 :

문제가 작업자 노드가 마스터 노드에 연결할 수 있으며 다음과 같은 오류를 보여줍니다

17/09/26 16:05:17 INFO Worker: Connecting to master 192.*.*.186:7077... 
17/09/26 16:05:22 WARN Worker: Failed to connect to master 192.*.*.186:7077 
org.apache.spark.SparkException: Exception thrown in awaitResult: 
    at org.apache.spark.util.ThreadUtils$.awaitResult(ThreadUtils.scala:205) 
    at org.apache.spark.rpc.RpcTimeout.awaitResult(RpcTimeout.scala:75) 
    at org.apache.spark.rpc.RpcEnv.setupEndpointRefByURI(RpcEnv.scala:100) 
    at org.apache.spark.rpc.RpcEnv.setupEndpointRef(RpcEnv.scala:108) 
    at org.apache.spark.deploy.worker.Worker$$anonfun$org$apache$spark$deploy$worker$Worker$$tryRegisterAllMasters$1$$anon$1.run(Worker.scala:241) 
    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:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
    Caused by: java.io.IOException: Failed to connect to /192.*.*.186:7077 
    at org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:232) 
    at org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:182) 
    at org.apache.spark.rpc.netty.NettyRpcEnv.createClient(NettyRpcEnv.scala:197) 
    at org.apache.spark.rpc.netty.Outbox$$anon$1.call(Outbox.scala:194) 
    at org.apache.spark.rpc.netty.Outbox$$anon$1.call(Outbox.scala:190) 
    ... 4 more 
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection timed out: no further information: /192.*.*.186:7077 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) 
    at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:257) 
    at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:291) 
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:631) 
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:566) 
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:480) 
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:442) 
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) 
    at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) 
    ... 1 more 

두 컴퓨터 모두에서 방화벽이 비활성화되어 있고 (nmap을 사용하여) 둘 사이의 연결을 테스트했음을 알면이 모든 오류가 발생할 수 있습니다. 모든 것이 정상입니다! telnet을 사용하면이 오류가 나타납니다. Connecting To 192.*.*.186...Could not open connection to the host, on port 23: Connect failed

+1

텔넷을 사용하여 수동으로 연결을 시도 했습니까? –

+0

어때? 그리고 그 유틸리티는 무엇입니까? –

+0

텔넷을 활성화해야합니다 (https://social.technet.microsoft.com/wiki/contents/articles/910.windows-7-enabling-telnet-client.aspx 참조). 그리고 나서'telnet 192. *. * .186 7077'. –

답변

0

spark-env.sh conf를 표시 할 수 있습니까? 이것은 당신의 문제를 정확하게 지적하는데 도움이 될 것입니다.

첫 번째 아이디어는 SPARK_MASTER_IP 대신 SPARK_MASTER_HOST=(master ip)spark-env.sh 파일로 내 보내야한다는 것입니다. 마스터와 슬레이브 모두를 위해이 작업을 수행해야합니다. 또한 마스터 및 슬레이브 모두에 ​​대해 SPARK_LOCAL_IP을 내 보냅니다.

+0

이것은 질문에 대한 대답을 제공하지 않습니다. 충분한 [평판] (https://stackoverflow.com/help/whats-reputation)이 있으면 [모든 게시물에 주석 달기] (https://stackoverflow.com/help/privileges/comment) 할 수 있습니다. 대신, [질문자의 설명이 필요없는 답변을 제공하십시오] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do- 대신). - [리뷰 작성] (리뷰/리뷰/저품소/17501968) –

관련 문제