SETMaster解析一直失败

来源:3-4 实战Wordcount

Sky_YiBai

2019-02-12

老师,您好:
我的环境!!!
我的本机电脑是win7环境,IDE使用的是Eclipse。
我在本机电脑中使用VMware搭建了一个虚拟机: CentOS6 JDK8 32位,网络IP是192.168.224.190(自己设置的)
我在搭建的虚拟机中按照你的教程部署了一个单机版的spark,可以正确使用spark-shell,通过将spark_local_ip由127.0.0.1修改为192.168.224.190,也可以正常的在本机浏览器上通过访问192.168.224.190:4040查看spark web ui
重点如下!!!!
我在本机eclipse编写wordcount时,setmaster怎么写也不对,我尝试了直接写192.168.224.190,也尝试了配置host的方式,还是会报如下错误: Exception in thread “main” org.apache.spark.SparkException: Could not parse Master URL: '192.168.224.190’
希望老师给予解答,如果这个弄不好感觉会后边的实践也不好做!!!

写回答

2回答

Sky_YiBai

提问者

2019-02-12

谢谢老师的回答,我还是有些问题。

按照你上边说的,我也觉得应该是第二种写法: spark://ip:port,我的ip肯定是写192.168.224.190,port应该写什么呢?

而且我比较疑问的是,按照你教程说的安装完spark单机版之后,spark本身并没有启动,当启动了spark-shell之后,能够看到有一个java进程存在,通过netstat查看该进程的端口等信息有如下截图,我把port写成4040端口后,发现spark-shell中会基于http协议接收到一些格式不正确的数据,所以一想4040本身是web ui的端口,我们要找的应该是一个tcp端口把

[root@SparkOne ~]# jps

2688 Jps

2620 SparkSubmit

[root@SparkOne ~]# netstat -nap|grep 2620

tcp        0      0 ::ffff:192.168.224.190:4040 :::*                        LISTEN      2620/java           

tcp        0      0 ::ffff:192.168.224.19:52532 :::*                        LISTEN      2620/java           

tcp        0      0 ::ffff:192.168.224.19:34837 :::*                        LISTEN      2620/java


0
10
Sky_YiBai
呃呃呃。。。我觉得说的有点儿晕了。。。老师,你看下我给你发的问题中我的环境,或者你这么回答这也行,我这种用虚拟机玩儿的方式,不就是ide是远程访问spark环境吗,你那种在同一台机器上不就是localhost的方式吗,所以我理解这两种方式应该都是可以成功演示例子的单机环境,但是我现在这种演示不了
2019-02-12
共10条回复

Wotchin

2019-02-12

setMaster有这么几个写法,
对于单机的,可以写成
setMaster(“local[4]”)表明使用的核数
setMaster(“spark://localhost:7077”)
如果是在yarn上使用,可以写成
setMaster(“yarn-cluster”)

你应该是没有指定端口号和协议类型,按照第二种写法改一下应该就行了

0
2
Sky_YiBai
123
2019-02-12
共2条回复

掌握Spark机器学习库 大数据开发技能更进一步

案例+原理+代码 提升大数据处理能力

476 学习 · 81 问题

查看课程