废话部分
因为在外地出差临时需要个Spark环境,就搭了一个,其实蛮简单的。想到总是会有萌新刚开始起步,也许就有无从下手的困扰,于是顺便就发个文丰富下内容吧~ 万一有人需要呢~
总的来说,安装一个能跑的Spark环境,无论是在Windows系统还是Linux系统下都草鸡简单。就跟把大象关进冰箱一样,只需要三个步骤:
安装JDK
安装Spark
运行spark-shell
Windows下的安装
安装JDK 1.8
考验你们一下,安装JDK的话,首先要干嘛?当然是先下载啊,不然呢。。。答错的童鞋要努力吖~~
先登陆到JDK8的官网页面,这里说下为毛是JDK8, 而不是JDK7,JDK9,JDK10,因为我喜欢吖,你管我!哈哈哈~ just kidding,真相是我们要装的Spark v2.1.0的官网说了需要JDK 7+,但JDK7真心太老了~ 那就JDK8好了,成熟稳定。ok,继续登陆JDK8的下载页面https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。
下载之前注意,要先接受协议,选中Accept License Agreement选项,然后再下载。大家的操作系统按说应该都是64位的,所以选x64的安装包。下载之后双击安装,一路Next吧。安装完成以后,需要做一点点环境变量的配置。在电脑桌面上找到“计算机”图标,上面单击右键,选”属性”菜单,然后在新窗口的左侧点击”高级系统设置”,会弹出
“系统属性”窗口。默认应该是在”高级”的那个tab页,如果不是的话就切到该页。点击”环境变量”按钮,会出现”环境变量”窗口。在下面的”系统变量”下面点击”新建”按钮,变量名写JAVA_HOME,变量值写JDK8的安装路径,默认应该是在C:\Program Files\Java\jdk1.8.0_201
确定以后,再新建一个环境变量,变量名为CLASSPATH,变量值为.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
点击确定后,JDK就算安装完了。来验证一下,打开命令行窗口(快捷键Win+R,输入cmd,回车),在命令行中输入java -version,看到版本号正确就ok啦。
安装Spark 2.1.0
先去官网http://spark.apache.org/downloads.html下载安装包。默认下载的是最新版本v2.4.1。要选旧版本去哪里?就在下载页面最底部Archived Releases的内容里有个链接Spark release archives,点进去,就能找到v2.1.0的安装包的下载链接https://archive.apache.org/dist/spark/spark-2.1.0/spark-2.1.0-bin-hadoop2.7.tgz。下载该文件,并解压即可。
运行spark-shell
从上面的图中可以看到,我的Spark安装包解压到了D盘根目录下。进命令行窗口运行spark-shell~
关了它吧,重新启动一个试试hello,world
这一次启动,直接运行spark-shell.cmd就可以了,winutils不用管。看下面有sc和spark两个都available就可以构造Dataset输出Hello, world啦
Windows下安装成功哈~
Linux下的安装
Linux下使用Spark是更常见的情况,毕竟正经业务都是用Linux系统。你要是用Windows作为产品环境,这个。。。倒也不是一定说不行吧。但是,还蛮奇怪的哈~~ 不废话了,动手吧 ~ 还是用Spark v2.1.0举例:
安装JDK 1.8
跟Windows一样,还是安装JDK 1.8。在Linux中下载JDK,如果你是安装的带GUI图形界面的Linux系统,可以参照下面Windows安装JDK的部分操作。这里说一下没有图形界面的情况下怎么用wget命令来下载JDK的tar包。JDK8的官网下载页面链接是https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
如果是有GUI的Linux,选中Accept后,直接点tar包链接下载就好了。但是wget直接下载这个链接是不行的。在stackoverflow上有个帖子https://stackoverflow.com/questions/10268583/downloading-java-jdk-on-linux-via-wget-is-shown-license-page-instead查到了wget下载的方法。但是帖子里给出的JDK8的命令行不能直接用,可能是那个下载的url变了。帖子中给的命令行是:
wget —no-cookies —no-check-certificate —header "Cookie: gpw_e24=http%3a%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk8-downloads-2133151.html; oraclelicense=accept-securebackup-cookie;" https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz
wget —no-cookies —no-check-certificate —header “Cookie: gpw_e24=http%3a%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk8-downloads-2133151.html; oraclelicense=accept-securebackup-cookie;” https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz
下载成功后,用tar命令解压
tar -xvf jdk-8u201-linux-x64.tar.gz
我是在root目录里下载的,所以解压后的jdk目录就是/root/jdk1.8.0_201
和Windows安装一样,解压后要配置环境变量,用vi命令修改下.bashrc文件:
保存退出后,刷新一下环境变量,验证是否jdk安装成功:
验证ok,下一步。
安装Spark 2.1.0
这一步和Windows下安装也是差不多的,所以copy一下改一改,少打好多字哇,舒服!
先去官网http://spark.apache.org/downloads.html下载安装包。默认下载的是最新版本v2.4.1。要选旧版本去哪里?就在下载页面最底部Archived Releases的内容里有个链接Spark release archives,点进去,就能找到v2.1.0的安装包的下载链接https://archive.apache.org/dist/spark/spark-2.1.0/spark-2.1.0-bin-hadoop2.7.tgz。下载该文件,并解压即可。解压还是用tar命令:
tar xvf spark-2.1.0-bin-hadoop2.7.tgz
运行spark-shell
解压后就运行吧,这次没有Winutils.exe这个步骤了,直接进目录运行哈:
没有中间商赚差价,就是一把梭,特~别~爽
再来读个本地文件(/root/data.csv)试试:
[root@ecs-930c ~]# head data.csv
col1,col2
831332070,727683725
2071362904,335851518
39799445,562488733
508348230,1068210728
1942304283,1628763840
47379539,1712755443
1450772998,1665424737
200403590,645499051
1143944819,139054896
打完收工!