spark start-slave未连接到master

时间:2017-07-26 19:17:51

标签: ubuntu apache-spark networking ubuntu-16.04

我正在使用ubuntu 16并尝试在我的局域网上设置spark群集。

我已设法配置一个spark master,并设法从同一台机器连接一个slave并在localhost上看到它:8080

当我尝试从另一台机器连接时,问题开始了,我按照here所解释的那样配置了无密码ssh

当我尝试连接到master时使用start-slave.sh spark:// master:port解释here

我收到此错误日志

我尝试使用本地IP和本地名称访问主服务器(我设法使用和不使用密码ssh到主服务器。无论是用户还是root用户)

我尝试了端口6066和端口7077

我没有得到错误的按摩,但是新的奴隶并没有在主人的本地主持人:8080页面

并继续收到此错误日志

  

Spark命令:/ usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java -cp   / usr / local / spark / conf /:/ usr / local / spark / jars / * -Xmx1g   org.apache.spark.deploy.worker.Worker --webui-port 8081   火花://纬度:6066   ========================================使用Spark的默认log4j配置文件: org / apache / spark / log4j-defaults.properties 17/07/26 22:09:09   INFO Worker:使用进程名称启动守护程序:   20609 @ name-beckup-laptop 17/07/26 22:09:09 INFO SignalUtils:   TERM 17/07/26的注册信号处理程序22:09:09 INFO SignalUtils:   HUP的注册信号处理程序17/07/26 22:09:09 INFO SignalUtils:   INT 17/07/26 22:09:09注册信号处理程序WARN Utils:你的   hostname,name-beckup-laptop解析为环回地址:   127.0.1.1;使用192.168.14.84代替(在接口wlp2s0上)17/07/26 22:09:09 WARN Utils:如果你需要绑定到另一个,请设置SPARK_LOCAL_IP   地址17/07/26 22:09:09 WARN NativeCodeLoader:无法加载   适用于您平台的native-hadoop库...使用builtin-java类   适用时间17/07/26 22:09:09 INFO SecurityManager:更改视图   acls to:name 17/07/26 22:09:09 INFO SecurityManager:更改修改   acls to:name 17/07/26 22:09:09 INFO SecurityManager:更改视图   acls groups to:17/07/26 22:09:09 INFO SecurityManager:Changing   将acls组修改为:17/07/26 22:09:09 INFO SecurityManager:   SecurityManager:禁用身份验证; ui acls disabled;用户   具有查看权限:设置(名称);具有查看权限的组:Set();   具有修改权限的用户:Set(name);具有修改的组   权限:设置()17/07/26 22:09:09 INFO Utils:已成功启动   service' sparkWorker'在港口34777. 17/07/26 22:09:09 INFO工人:   启动Spark worker 192.168.14.84:34777,包含4个内核,14.6 GB RAM   17/07/26 22:09:09 INFO Worker:运行Spark版本2.2.0 17/07/26   22:09:09 INFO工作者:Spark home:/ usr / local / spark 17/07/26 22:09:10   INFO Utils:成功启动了服务' WorkerUI'在8081港口。   17/07/26 22:09:10 INFO WorkerWebUI:将WorkerWebUI绑定到0.0.0.0,和   开始于http://192.168.14.84:8081 17/07/26 22:09:10 INFO工作人员:   连接到主纬度:6066 ... 17/07/26 22:09:10警告工人:   无法连接到主纬度:6066   org.apache.spark.SparkException:awaitResult:at中抛出异常   org.apache.spark.util.ThreadUtils $ .awaitResult(ThreadUtils.scala:205)     在org.apache.spark.rpc.RpcTimeout.awaitResult(RpcTimeout.scala:75)     在   org.apache.spark.rpc.RpcEnv.setupEndpointRefByURI(RpcEnv.scala:100)     在org.apache.spark.rpc.RpcEnv.setupEndpointRef(RpcEnv.scala:108)at at   org.apache.spark.deploy.worker.Worker $$ anonfun $ $组织阿帕奇$火花$部署$工人$工人$$ tryRegisterAllMasters $ 1 $$不久$ 1.run(Worker.scala:241)     在   java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)     在java.util.concurrent.FutureTask.run(FutureTask.java:266)at   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)     在   java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:617)     在java.lang.Thread.run(Thread.java:748)引起:   java.io.IOException:无法连接到latitude / 192.168.14.83:6066     在   org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:232)     在   org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:182)     在   org.apache.spark.rpc.netty.NettyRpcEnv.createClient(NettyRpcEnv.scala:197)     在org.apache.spark.rpc.netty.Outbox $$ anon $ 1.call(Outbox.scala:194)     在org.apache.spark.rpc.netty.Outbox $$ anon $ 1.call(Outbox.scala:190)     ... 4更多引起:   io.netty.channel.AbstractChannel $ AnnotatedConnectException:Connection   拒绝:纬度/ 192.168.14.83:6066 at   sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)at   sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)     在   io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:257)     在   io.netty.channel.nio.AbstractNioChannel $ AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:291)     在   io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:631)     在   io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:566)     在   io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:480)     在io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:442)at   io.netty.util.concurrent.SingleThreadEventExecutor $ 2.run(SingleThreadEventExecutor.java:131)     在   io.netty.util.concurrent.DefaultThreadFactory $ DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)     ......还有1个

谢谢!

2 个答案:

答案 0 :(得分:0)

发现问题了!

您需要在/ conf / spark-env

中添加文件

添加以下内容:

SPARK_MASTER_IP='<ip of master without port>'

然后

start-master.sh -h <ip of master>:7077

之后

start-slave.sh spark://<master ip>:7077 

会像魅力一样发挥作用。

答案 1 :(得分:0)

我在主节点上运行log4j.logger.my.package = WARN log4j.logger.org.training.service.MyServiceImpl = ERROR 时遇到了同样的问题。

spark/sbin/start-slave.sh

我发现了我的错,我不应该使用hadoop@master:/opt/spark$ sudo ./sbin/start-slave.sh --master spark://master:7077 starting org.apache.spark.deploy.worker.Worker, logging to /opt/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-master.out failed to launch: nice -n 0 /opt/spark/bin/spark-class org.apache.spark.deploy.worker.Worker --webui-port 8081 --master spark://master:7077 Options: -c CORES, --cores CORES Number of cores to use -m MEM, --memory MEM Amount of memory to use (e.g. 1000M, 2G) -d DIR, --work-dir DIR Directory to run apps in (default: SPARK_HOME/work) -i HOST, --ip IP Hostname to listen on (deprecated, please use --host or -h) -h HOST, --host HOST Hostname to listen on -p PORT, --port PORT Port to listen on (default: random) --webui-port PORT Port for web UI (default: 8081) --properties-file FILE Path to a custom Spark properties file. Default is conf/spark-defaults.conf. full log in /opt/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-master.out 关键字,而只是运行命令

--master

按照本教程的步骤进行: https://phoenixnap.com/kb/install-spark-on-ubuntu

此外,我对hadoop@master:/opt/spark$ sudo ./sbin/start-slave.sh spark://master:7077 的配置如下:

/opt/spark/conf/spark-env.sh

是主服务器,是SPARK_MASTER_HOST="master" JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64" 中指定的服务器的主机名