准备两台以上Linux服务器,安装好JDK1.8
上传解压安装包
上传spark-2.1.1-bin-hadoop2.7.tgz安装包到Linux上
解压安装包到指定位置
tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz
Spark的部署模式有Local、Local-Cluster、Standalone、Yarn、Mesos,我们选择最具代表性的Standalone集群部署模式。
进入到Spark安装目录
cd /home/hduser/software/spark/conf
将slaves.template复制为slaves
将spark-env.sh.template复制为spark-env.sh
修改slave文件,将work的hostname输入:
修改spark-env.sh文件,添加如下配置:
将配置好的Spark文件拷贝到其他节点上
scp -r spark hduser@cloud11:~/software
scp -r spark hduser@cloud12:~/software
Spark集群配置完毕,目前是1个Master,2个Work,master01上启动Spark集群
/home/hduser/software/spark/sbin/start-all.sh
启动后执行jps命令,主节点上有Master进程,其他子节点上有Work进行,登录Spark管理界面查看集群状态(主节点):http://cloud10:8080/
到此为止,Spark集群安装完毕.
注意:如果遇到 “JAVA_HOME not set” 异常,可以在sbin目录下的spark-config.sh 文件中加入如下配置:
export JAVA_HOME=XXXX
如果遇到Hadoop HDFS的写入权限问题:
org.apache.hadoop.security.AccessControlException
解决方案: 在hdfs-site.xml中添加如下配置,关闭权限验证
dfs.permissions
false
进入到Spark安装目录
cd /home/hduser/software/spark/conf
将spark-default.conf.template复制为spark-default.conf
修改spark-default.conf文件,开启Log:
在HDFS上创建好你所指定的eventLog日志目录:/spark/test
参数描述:
spark.eventLog.dir:Application在运行过程中所有的信息均记录在该属性指定的路径下;
spark.history.fs.logDirectory=hdfs://cloud10:9000/spark/test 配置了该属性后,在start-history-server.sh时就无需再显式的指定路径,Spark History Server页面只展示该指定路径下的信息。
将配置好的Spark文件拷贝到其他节点上
重新启动spark集群。
/home/hduser/software/spark/sbin/start-all.sh
启动后执行
/home/hduser/software/spark/sbin/start-history-server.sh
到此为止,Spark History Server安装完毕.
集群部署完了,但是有一个很大的问题,那就是Master节点存在单点故障,要解决此问题,就要借助zookeeper,并且启动至少两个Master节点来实现高可靠,配置方式比较简单:
Spark集群规划:cloud10,cloud11是Master;cloud11,cloud12,是Worker
安装配置Zookeeper集群,并启动Zookeeper集群
停止spark所有服务,修改配置文件spark-env.sh,在该配置文件中删掉SPARK_MASTER_IP并添加如下配置
Export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=cloud10:2181,cloud11:2181,cloud12:2181 -Dspark.deploy.zookeeper.dir=/sparkmaster0821"
1.在 cloud10节点上修改slaves配置文件内容指定worker节点
2.将配置文件同步到所有节点。
3.在cloud10上执行sbin/start-all.sh脚本,启动集群并启动第一个master节点,然后在cloud11上执行sbin/start-master.sh启动第二个master节点。
4.程序中spark集群的访问地址需要改成:
http://192.168.137.139:8080
http://192.168.137.142:8080
从http://www.scala-lang.org/download/2.10.4.html上下载Scala正确版本进行安装
上传解压安装包
上传scala-2.13.0.tgz安装包到Linux上
解压安装包到指定位置
tar -zxvf scala-2.13.0.tgz
将Scala文件拷贝到其他节点上
scp -r scala hduser@cloud11:~/software
scp -r scala hduser@cloud12:~/software
分别在每台机器上配置环境
SCALA_HOME=/data/spark/scala-2.13.0
PATH=$SCALA_HOME/bin:$PATH
输入source /etc/profile 保存环境变量的配置
输入scala -version查看安装成功与否