독립형 클러스터 관리자를 사용하여 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
텔넷을 사용하여 수동으로 연결을 시도 했습니까? –
어때? 그리고 그 유틸리티는 무엇입니까? –
텔넷을 활성화해야합니다 (https://social.technet.microsoft.com/wiki/contents/articles/910.windows-7-enabling-telnet-client.aspx 참조). 그리고 나서'telnet 192. *. * .186 7077'. –