Spark集群安装
从 http://spark.apache.org/downloads.html 下载最新的Spark稳定版本。下载到指定路径下,这里是/opt/h2/下。
tar xvf spark-2.0.2-bin-hadoop2.7.tgz
mv spark-2.0.2-bin-hadoop2.7 spark
设置关键变量
设置好Java配置参数后,需要设置必要的Spark运行的环境变量。假设我们需要3个worker,一个master的集群。
data5.module.prd
node1.prd
node2.prd
node3.prd
在master机器和slave机器上的hosts文件添加:
192.168.220.91 data5.module.prd
192.168.220.14 node1.prd
192.168.220.15 node2.prd
192.168.220.16 node3.prd
Spark环境变量
根据下面命令,设置Spark运行环境变量。 .bashrc文件内容如下:
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
export JAVA_HOME=/usr/local/software/jdk1.8.0_91
export HADOOP_INSTALL=/opt/h2 <br>
export SPARK_HOME=/opt/h2/spark
export HBASE_HOME=/opt/hb
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib/native"
export PATH=$PATH:$HADOOP_INSTALL/bin:$HBASE_HOME/bin:$JAVA_HOME/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin:$SPARK_HOME/bin:$SPARK_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export HADOOP_CONF_DIR=$HADOOP_INSTALL/etc/hadoop
export YARN_HOME=$HADOOP_INSTALL
设置SPARK_HOME和PATH路径参数。
export SPARK_HOME=/opt/h2/spark
export PATH=$PATH:$HADOOP_INSTALL/bin:$HBASE_HOME/bin:$JAVA_HOME/bin
Spark参数设置
编辑conf目录下的配置文件,命令如下所示:
cd spark
cd conf
cp spark-defaults.conf.template spark-defaults.conf
编辑文件:
vi spark-defaults.conf
添加内容:
spark.master spark://data5.module.prd:7077
# 是否记录作业产生的事件或者运行状态(job,stage等使用内存等信息)
spark.eventLog.enabled true
# 如果记录作业产生的事件或者运行状态,则将事件写入什么位置
spark.eventLog.dir hdfs://data5.module.prd:9000/user/hadoop/sparkevtlog
# http history的监听端口号,通过http://hadoop.master:18080访问
spark.history.ui.port 18080
编辑slaves节点:
cp slaves.template slaves
vi slaves
添加内容:
node1.prd
node2.prd
node3.prd
SSH设置
在每台机上运行:
ssh-keygen -t rsa
接着不断按Enter键,记住不能够设置密码。
cd ~/.ssh
进入到.ssh 目录中,运行:
cp id_rsa.pub authorized_keys
每个节点运行上面命令。
然后,运行:
#master machine
ssh-copy-id -i ~/.ssh/id_rsa.pub node1.prd
ssh-copy-id -i ~/.ssh/id_rsa.pub node2.prd
ssh-copy-id -i ~/.ssh/id_rsa.pub node3.prd
#3个slave机器上执行
ssh-copy-id -i ~/.ssh/id_rsa.pub data5.module.prd
master.prd能够直接通过ssh登陆 node1,node2, node3,无需密码,表示配置成功了。 反过来,也可以无密码登陆,表示整个配置正确。
复制文件
重master机器上,copy spark文件到slave机器上。
scp -r /opt/h2/spark node1.prd:/opt/h2/
scp -r /opt/h2/spark node2.prd:/opt/h2/
scp -r /opt/h2/spark node3.prd:/opt/h2/
启动关闭集群
可以使用Spark包提供的脚本启动关闭spark集群。
启动
/opt/h2/spark/sbin/start-all.sh
参看UI界面:
当应用程序运行时,你可以浏览application UI:
关闭
/opt/h2/spark/sbin/stop-all.sh
欢迎订阅微信公众号