如何配置spark
展开全部
之前一直纠结怎么在Eclipse下调试用Java编写的spark程序,这里给大家讲一下步骤。实际上,没有几步,但是在网络上面不好找,几乎没有这样的文章或者技术贴。
在Eclipse下调试spark程序时,通常会用两种错误,第一种是hadoop的winUtils.exe有问题,第二种是序列化问题,错误表现是akka连接不上。
工具/原料
winUtils.exe
spark
方法/步骤
设置环境变量:HADOOP_HOME,在windows下调试Eclipse时,并不需要在windows下安装hadoop,只需要配置一下环境变量就好了,然后HADOOP_HOME执行的位置的bin下要有winUtils.exe,设置环境变量的方式不用讲了吧!
在Eclipse项目中添加spark-assembly-1.4.1-hadoop2.4.0.jar,这里添加你需要的版本。
注意,不要使用spark的分散的jar包,这一点主要是maven时需要注意,因为maven时它会下载好多jar,这里会引进第二个问题,序列化问题,应该是scala的问题。
设置环境变量SPARK_CLASSPATH,这个环境变量不是必须的,你看一下你的服务器是不是设置了。
其实这一步和下面的一步本质作用是一样的,都是告诉spark依赖的jar,而告诉spark依赖jar的方法有两种,一种是设置环境变量,另一种是addJar方式。作者是这样认为,如果公用的jar,那么就通过设置环境变量的方式,如果是算法私有的jar,就通过addJar方式。
注意,环境变量SPAKR_CLASSPATH的值是unix方式,就是跟服务器设置的一样,不要用win的方式“;”,为啥呢?作者认为,通过设置环境变量的方式时,在初始化spark上下文时,并没有分发jar到各个worker,所以需要指定jar在服务器的位置。(有问题的话,请留言,嘴拙)
addJar方式,上面讲过了。与环境变量的方式区别在于,驱动程序启动,初始化上下文时,需要分发jar到各个worker,所以针对私有的jar,最好使用addJar方式。
到了这里,应该全部配置完成了,如果我讲述的比较清晰的话,你应该可以随意调试了。
如果存在问题,请指正。如果有疑问,请留言。
END
注意事项
SPAKR_CLASSPATH,如果不知道怎么弄,那么就不要设置了,全用addJar方式
在Eclipse下调试spark程序时,通常会用两种错误,第一种是hadoop的winUtils.exe有问题,第二种是序列化问题,错误表现是akka连接不上。
工具/原料
winUtils.exe
spark
方法/步骤
设置环境变量:HADOOP_HOME,在windows下调试Eclipse时,并不需要在windows下安装hadoop,只需要配置一下环境变量就好了,然后HADOOP_HOME执行的位置的bin下要有winUtils.exe,设置环境变量的方式不用讲了吧!
在Eclipse项目中添加spark-assembly-1.4.1-hadoop2.4.0.jar,这里添加你需要的版本。
注意,不要使用spark的分散的jar包,这一点主要是maven时需要注意,因为maven时它会下载好多jar,这里会引进第二个问题,序列化问题,应该是scala的问题。
设置环境变量SPARK_CLASSPATH,这个环境变量不是必须的,你看一下你的服务器是不是设置了。
其实这一步和下面的一步本质作用是一样的,都是告诉spark依赖的jar,而告诉spark依赖jar的方法有两种,一种是设置环境变量,另一种是addJar方式。作者是这样认为,如果公用的jar,那么就通过设置环境变量的方式,如果是算法私有的jar,就通过addJar方式。
注意,环境变量SPAKR_CLASSPATH的值是unix方式,就是跟服务器设置的一样,不要用win的方式“;”,为啥呢?作者认为,通过设置环境变量的方式时,在初始化spark上下文时,并没有分发jar到各个worker,所以需要指定jar在服务器的位置。(有问题的话,请留言,嘴拙)
addJar方式,上面讲过了。与环境变量的方式区别在于,驱动程序启动,初始化上下文时,需要分发jar到各个worker,所以针对私有的jar,最好使用addJar方式。
到了这里,应该全部配置完成了,如果我讲述的比较清晰的话,你应该可以随意调试了。
如果存在问题,请指正。如果有疑问,请留言。
END
注意事项
SPAKR_CLASSPATH,如果不知道怎么弄,那么就不要设置了,全用addJar方式
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询