在网上搜了一些关于Linux下搭建spark环境的一些文章,有的不能用,有的有些老旧,今天,对于在Linux搭建spark环境,做一些笔记
我用的VMWare12和centos7,以及jdk1.7,scala-2.11.6和预编译的spark-1.5.2-bin-hadoop2.6
首先:配置java的环境变量
先进入root用户:su 输入密码
vi /etc/profile
exportJAVA_HOME=/home/spark01/Documents/jdk/jdk1.7.0_79
exportJRE_HOME=$JAVA_HOME/jre
exportPATH=$PATH:$JAVA_HOME/bin
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
拷贝进去
保存并退出,source /etc/profile
检验:javac -version
然后配置scala的环境变量:
vi /etc/profile
追加
exportSCALA_HOME=/home/spark01/Documents/scala/scala-2.11.6
exportPATH=$PATH:$SCALA_HOME/bin
保存并退出,source /etc/profile
检验:scala -version
在配置spark的环境变量
spark版本建议下载预编译版,如果想挑战高难度,也可以直接在git上下载,据说是要翻墙,本人没有用过
在profile文件中追加
exportSPARK_HOME=/home/spark01/Documents/spark/spark-1.5.2-bin-hadoop2.6
exportPATH=$PATH:$SPARK_HOME/bin
保存并退出,source /etc/profile
在spark-1.5.2-bin-hadoop2.6/conf中Copy spark中conf文件夹下的spark-env.sh.template和slaves.template并且去掉后面的模板
找到spark-1.5.2-bin-hadoop2.6/conf/spark-env.sh
Vi /etc/home/spark01/Documents/spark/spark-1.5.2-bin-hadoop2.6/conf/spark-env.sh
export JAVA_HOME=/home/spark01/Documents/jdk/jdk1.7.0_79
export SCALA_HOME=/home/spark01/Documents/scala/scala-2.11.6
exportSPARK_MASTER_IP=192.168.114.100
exportSPARK_WORKER_MEMORY=2g
exportHADOOP_CONF_DIR=/home/spark01/Documents/spark/spark-1.5.2-bin-hadoop2.6/conf
Vi /etc/home/spark01/Documents/spark/spark-1.5.2-bin-hadoop2.6/conf/slaves
copy192.168.114.100
192.168.114.101
192.168.114.102
注意:每个ip地址必须要占一行,如果不用ip也可以绑定主机名,然后再hosts文件中把主机名和ip对应配置保存后:
Cd /home/spark01/Documents/spark/spark-1.5.2-bin-hadoop2.6/conf
回车
./start-all.sh
如果没有配置无密码登陆是要输入密码
如果输入密码后提示没有权限,可以去root用户下配置权限,好像是spark文件夹放的地方普通用户没有权限,也可以直接用root进行测试
因为配的是ip,并且默认端口是8080,ip+8080访问,浏览器查看当前信息,可以集群访问,如果修改端口,根据API:
pleaseadd followings to your conf/spark-env.sh
exportSPARK_MASTER_WEBUI_PORT=98080
master和worker开启之后,就可以直接进入spark-1.5.2-bin-hadoop2.6的bin中
Cd /home/spark01/Documents/spark/spark-1.5.2-bin-hadoop2.6/bin
执行MASTER=spark://192.168.114.100:7077./spark-shell
这时就能看到运行的app了,以及执行的job了