Не удается запустить автономный кластер apache spark

У меня есть некоторые проблемы с запуском кластера Spark с мастером и рабочим. Я скачал и установил Hadoop 2.7.3 и Spark 2.0.0 на Ubuntu 16.04 LTS. Я сделал файл conf/slaves с IP-адресом моего подчиненного, и это мой spark-env.sh

#!/usr/bin/env #bash

export SPARK_DIST_CLASSPATH=$(hadoop classpath)


export SPARK_WORKER_CORES=2

export SPARK_MASTER_IP=192.168.1.6
export SPARK_LOCAL_IP=192.168.1.6

export SPARK_YARN_USER_ENV="JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre"

Запустил мастер с помощью start-master.sh и все ок. У меня есть некоторые проблемы, когда я пытаюсь запустить worker.

Я пробовал с:

(1) - start-slave.sh spark://192.168.1.6:7077 (from worker)
(2) - start-slaves.sh (from master)
(3) - ./bin/spark-class org.apache.spark.deploy.worker.Worker spark://192.168.1.6:7077 (from worker)

С (1) e (2) ведомое устройство, по-видимому, запускается, но в ведущем: 8080 это не отображается. Используя (3), он выдает это исключение:

16/08/31 14:17:03 INFO worker.Worker: Connecting to master master:7077...
16/08/31 14:17:03 WARN worker.Worker: Failed to connect to master master:7077
org.apache.spark.SparkException: Exception thrown in awaitResult
    at org.apache.spark.rpc.RpcTimeout$$anonfun$1.applyOrElse(RpcTimeout.scala:77)
    at org.apache.spark.rpc.RpcTimeout$$anonfun$1.applyOrElse(RpcTimeout.scala:75)
    at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36)
    at org.apache.spark.rpc.RpcTimeout$$anonfun$addMessageIfTimeout$1.applyOrElse(RpcTimeout.scala:59)
    at org.apache.spark.rpc.RpcTimeout$$anonfun$addMessageIfTimeout$1.applyOrElse(RpcTimeout.scala:59)
    at scala.PartialFunction$OrElse.apply(PartialFunction.scala:167)
    at org.apache.spark.rpc.RpcTimeout.awaitResult(RpcTimeout.scala:83)
    at org.apache.spark.rpc.RpcEnv.setupEndpointRefByURI(RpcEnv.scala:88)
    at org.apache.spark.rpc.RpcEnv.setupEndpointRef(RpcEnv.scala:96)
    at org.apache.spark.deploy.worker.Worker$$anonfun$org$apache$spark$deploy$worker$Worker$$tryRegisterAllMasters$1$$anon$1.run(Worker.scala:216)
    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 master/192.168.1.6:7077
    at org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:228)
    at org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:179)
    at org.apache.spark.rpc.netty.NettyRpcEnv.createClient(NettyRpcEnv.scala:197)
    at org.apache.spark.rpc.netty.Outbox$$anon$1.call(Outbox.scala:191)
    at org.apache.spark.rpc.netty.Outbox$$anon$1.call(Outbox.scala:187)
    ... 4 more
Caused by: java.net.ConnectException: Connection refused: master/192.168.1.6: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:224)
    at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:289)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
    ... 1 more
16/08/31 14:17:40 ERROR worker.Worker: All masters are unresponsive! Giving up.

Мастер и рабочий размещаются на виртуальной машине VMWare, установленной на одном хосте Windows 10 с использованием мостового соединения.

Я также отключил брандмауэр.

Что мне делать??

Заранее спасибо.


person Gabriele Lombari    schedule 31.08.2016    source источник
comment
Проверьте, имеет ли (простой ping) доступ вашей основной машины к вашей рабочей машине и наоборот.   -  person Ravikumar    schedule 31.08.2016


Ответы (2)


В журналах:

16/08/31 14:17:03 INFO worker.Worker: Connecting to master master:7077...

Вы видите, он пытается подключиться master:7077

Убедитесь, что имя главного хоста разрешается в заданный IP-адрес (192.168.1.6).

Вы можете проверить имена хостов в файле /etc/hosts.

person Nishu Tayal    schedule 31.08.2016
comment
Имя хоста разрешается в правильный IP. Я пробовал оба, имя хоста и ip. Спасибо за ответ. - person Gabriele Lombari; 31.08.2016

просто чтобы уточнить это. Поскольку он ищет мастер, у вас есть два варианта: либо отредактировать файл:

/etc/hosts

# add to following anywhere in the file  

192.168.1.6 master

или попробуйте перейти в каталог конфигурации spark (возможно, /opt/spark/conf) и отредактировать spark-defaults.conf

# you may just want to change //master:7077 to 192.168.1.6 to the actual hostname 
spark.master                     spark://master:7077
person ziad.rida    schedule 13.08.2020