本文将介绍spark在windows下本地模式的搭建
Spark的运行模式基本可以分为两种:
本地模式
即Driver程序只在本机运行
集群模式
即Dirver程序会在集群中运行,具体到集群模式,又可以分为spark集群、MESOS、YARN等。
作为初学者入坑,自然是本地模式调通最方便。Spark在Mac、Linux下的安装步骤不必说,基本没有额外的问题,但windows下的安装还是要注意一下的。
基本步骤:
1.到spark官网 https://spark.apache.org/downloads.html 下载with hadoop版本的
这里要注意的是,下载with hadoop版本的,即本地不需要再进行hadoop集群的安装部署。
下载后解压,到bin目录下执行spark-shell.cmd,此时会报
java.lang.IllegalArgumentException: Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState': ........
Caused by: java.lang.reflect.InvocationTargetException: java.lang.IllegalArgumentException: Error while instantiating 'org.apache.spark.sql.hive.HiveExternalCatalog':.................
错误原因是因为没有下载Hadoop windows可执行文件。
2.下载对应版本的hadoop binary文件
下载链接 https://github.com/steveloughran/winutils
下载后将对应版本的HADOOP_HOME添加到环境变量,bin也加到path里
3.这时会报一个The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rw-rw-rw- (on Windows)
这个是/tmp/hive的权限错误,这时到步骤2中下载的hadoop/bin下面,执行 winutils.exe chmod 777 E:\tmp\hive
这里的前缀E:\表示我的spark程序解压在E盘了。\tmp\hive这个是固定的文件夹,即已经创建好了。
这个文件夹比较明显就是spark的临时文件目录了。
至此,LOCAL模式搭建完毕。spark-shell.cmd运行没有错误后,IDE用代码的方式运行spark程序,也不会报错了。
Spark的成功运行标志:
网友评论