python – Spark工作人员不断删除和添加执行程序

python – Spark工作人员不断删除和添加执行程序,第1张

概述我尝试使用本地Ubuntu虚拟机作为主服务器构建一个spark集群,并使用远程Ubuntu虚拟机作为worker. 当本地虚拟机在虚拟机中运行时,为了使远程访客可以访问它,我将虚拟机的7077端口转发到主机的7077端口. 我开始掌握: ./sbin/start-master.sh -h 0.0.0.0 -p 7077 我让它在0.0.0.0上监听,因为如果我使用默认的127.0.1.1,远程访客 我尝试使用本地Ubuntu虚拟机作为主服务器构建一个spark集群,并使用远程Ubuntu虚拟机作为worker.
当本地虚拟机在虚拟机中运行时,为了使远程访客可以访问它,我将虚拟机的7077端口转发到主机的7077端口.
我开始掌握:

./sbin/start-master.sh -h 0.0.0.0 -p 7077

我让它在0.0.0.0上监听,因为如果我使用默认的127.0.1.1,远程访客将无法连接到它.
我通过在远程计算机上执行以下命令来启动worker:

./bin/spark-class org.apache.spark.deploy.worker.Worker   spark://129.22.151.82:7077

工作人员可以连接到主服务器,可以在UI上看到:

然后我尝试运行“pi”示例python代码:

from pyspark import SparkContext,SparkConfconf=SparkConf().setAppname("Pi").setMaster("spark://0.0.0.0:7077)sc=SparkContext(conf=conf)

….
一旦我运行它,程序永远不会停止,我注意到程序总是删除添加执行程序,因为执行程序总是以错误代码1退出.这是执行程序的stderr:

Using Spark's default log4j profile: org/apache/spark/log4j-  defaults.propertIEs    16/02/25 13:22:22 INFO CoarseGrainedExecutorBackend: Registered signal handlers for [TERM,HUP,INT]    16/02/25 13:22:22 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable    16/02/25 13:22:23 INFO SecurityManager: Changing vIEw acls to: kxz138,adminuser    16/02/25 13:22:23 INFO SecurityManager: Changing modify acls to: kxz138,adminuser    16/02/25 13:22:23 INFO SecurityManager: SecurityManager: authentication Disabled; ui acls Disabled; users with vIEw permissions: Set(kxz138,adminuser); users with modify permissions: Set(kxz138,adminuser)    **16/02/25 13:22:23 ERROR UserGroupinformation: PriviledgedActionException as:adminuser (auth:SIMPLE) cause:java.io.IOException: Failed to connect to /10.0.2.15:34935    Exception in thread "main" java.io.IOException: Failed to connect to /10.0.2.15:34935**    at org.apache.spark.network.clIEnt.TransportClIEntFactory.createClIEnt(TransportClIEntFactory.java:216)    at org.apache.spark.network.clIEnt.TransportClIEntFactory.createClIEnt(TransportClIEntFactory.java:167)    at org.apache.spark.rpc.netty.NettyRpcEnv.createClIEnt(NettyRpcEnv.scala:200)    at org.apache.spark.rpc.netty.OutBox$$anon.call(OutBox.scala:187)

我注意到这里的错误实际上是一个网络问题.工作人员实际上是尝试访问10.0.2.15,这是我的虚拟机的本地NAT IP地址,但是失败了.
  当我仅从本地计算机部署worker时,不会发生此错误.
  任何人都知道为什么会出现这个错误?为什么工人试图访问ip地址10.0.2.15而不是我的公共IP?

顺便说一句,我已经设置了从主服务器到服务器的无密钥ssh访问.

解决方法 我通过确保群集中的VM属于同一子网来解决问题.例如,最初,我将IP 192.168.56.101设置为主节点,将192.168.57.1​​01设置为工作节点,并将255.255.255.0作为子网掩码.但这意味着两个IP地址不在同一子网内.将子网掩码更改为例如255.255.0.0后,我可以正常运行我的应用程序.您可能还需要相应地编辑一些配置文件(例如,〜/ .bashrc,conf / spark-env.sh,conf / slaves.sh,conf / spark-default.conf和/ etc / hosts) 总结

以上是内存溢出为你收集整理的python – Spark工作人员不断删除和添加执行程序全部内容,希望文章能够帮你解决python – Spark工作人员不断删除和添加执行程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1196071.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存