一个诡异的spark-submit运行问题(已解决)

今天在测试刚刚部署好的spark集群的时候,碰到了一个诡异的spark-submit问题。搜了一圈也没发现,结果意外的找到了原因,真是欲哭无泪!


问题:写好了一个计算Pi的程序,编译打包成 ComputePi.jar包,放到spark集群的master上,然后用命令

spark-submit --master spark://master1:7077 --class com.ibm.james.spark.basic.ComputePi --executor-memory 128M --total-executor-cores 2 JavaSparkComputePi.jar 2
运行。

没几秒后程序运行结束,但是啥结果也没有。正常应该打印出对Pi的估算。再运行,还是一样。马上去WebUI上看spark集群里面的application,诡异的是居然没有任何记录!!

然后就是各种试,发现如果把master1换成本机的IP,就可以正常的出现结果,Web UI里面也出现了application的记录。需要说明的是命令里的master1是这个master机器的hostname。只是hostname本身是Master1,首字母大写了。


因为根据在windows和linux里面,无论是大小写的hostname都可以ping通,所以就根本没有觉得这个命令里面的hostname会有啥问题。于是就开始满世界的搜到底为什么用hostname+7077端口就不信,还仔细看log去找spark系统的原因。


各种查找都没发现问题,几乎要放弃。最后决定试一试大小写,见鬼啦!!!

改成首字母大写的hostname后,居然就可以正常运行啦!!!!!

到这里才发现spark不会默认把域名都改成小写然后去check本机的/etc/hosts文件啊。这算是个bug不???!?!

你可能感兴趣的:(数据挖据,大数据)