Spark计算Pi——IDEA、内网,阿里云Spark集群问题汇总

本文详细介绍了在阿里云环境下配置Spark集群的过程,包括解决内外网地址映射、全端口内网穿透、SparkUI服务启动失败等问题。通过调试代码、检查系统环境变量和清理旧数据,最终实现了Spark集群的成功运行。

1.spark-env.sh中SPARK_MASTER_HOST配置为阿里云内网地址,代码中setMaster设置为阿里云外网地址
2.需要全端口内网穿透,使用的nat123-免访问者,使内网机器可以与云服务器互相通信
3.代码中spark.driver.host设置为内网穿透域名,本地hosts中需要将该域名配置成127.0.0.1,否则就会报Cannot assign requested address: bind: Service 'sparkDriver' failed after 16 retries异常

第一次运行成功,之后再次运行一直报错(更换了新域名):Address already in use: Service 'SparkUI' failed after 16 retries
问题排查
a.排除了nat123内网穿透、Spark环境资源不足、Spark/Scala版本、清理旧数据等问题
b.调试跟踪代码(Spark集群、本地均为2.4.3版本)
  切换工程中Spark为较低版本时(2.3.0之下),打印日志:parkui buid on 域名,域名为第一次运行时的域名,并报了其他错误,并没有报'SparkUI' failed
  此时工程中已经没有原域名相关信息,调试代码查找原域名来源
  到WebUI中131行时,host值为原域名,跟进到SparkConf.scala中475行System.getenv(name) name = SPARK_LOCAL_IP
  查看本地系统环境变量,SPARK_LOCAL_IP为原域名(代码创建),修改该变量为新域名
  再次运行失败
  打开任务管理器,杀掉explorer.exe,重启
  work中日志重复打印Asked to launch executor app-20190808125050-0000/1-X for SparkTest
  wget http://+日志中内网穿透域名:端口,激活域名,云服务器和内网主机成功通信,运行成功,计算出Pi

github:git@github.com:baixianghui/spark_demo.git

转载于:https://www.cnblogs.com/grow1016/p/11322074.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值