1. 介绍

之前hadoop2.7.2+spark1.6.2环境搭建教程一文对于spark的安装其实讲的比较简单,而且也不是真正意义上的集群部署。本篇将对spark集群进行完整的安装。

2. 安装spark

在开始spark的安装前,请确保已经安装了hadoop集群。我们采用的hadoop集群总共3台机器:mysql3(master,slave),mysql4(slave),mysql5(slave)。由于spark也要集群之间互相无密码等设置。为了方便起见,我们就采用hadoop的3台机器部署spark集群,方便我们快速假设起环境进行测试和学习。

PS:spark貌似不能修改监听的HDFS端口。无奈只能自己把hadoop的HDFS端口改成8020了

2.1 安装scala

在所有节点上都安装scala并配置环境变量。

2.1 修改slaves文件

在$SPARK_HOME/conf下配置salves文件,添加所有salves的hostname

2.2 配置spark-env.sh

export JAVA_HOME=/root/Downloads/jdk1.8.0_77
export SPARK_HOME=/root/Downloads/spark-2.0.0-bin-without-hadoop
export HADOOP_HOME=/root/Downloads/hadoop-2.7.2
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_DIST_CLASSPATH=$(/root/Downloads/hadoop-2.7.2/bin/hadoop classpath)
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_LIBARY_PATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$HADOOP_HOME/lib/native
SPARK_MASTER_HOST=10.45.10.33
SPARK_MASTER_WEBUI_PORT=28686
SPARK_LOCAL_DIRS=/root/Downloads/spark-2.0.0-bin-without-hadoop/sparkdata/local
SPARK_WORKER_DIR=/root/Downloads/spark-2.0.0-bin-without-hadoop/sparkdata/work
SPARK_LOG_DIR=/root/Downloads/spark-2.0.0-bin-without-hadoop/logs

2.3 配置spark-defaults.conf

#eventLog的文件存放位置
spark.eventLog.dir      hdfs://10.45.10.33/spark-event-log

2.4 拷贝hadoop相关配置文件

将hadoop中的hdfs-site.xml,yarn-site.xml,core-site.xml配置文件拷贝一份到spark的conf目录中

2.5 拷贝配置好的spark目录到所有节点

这个用lrzsz或者alluxio copyDir都可以

2.6 添加slf4j包

maven仓库下载slf4j包放到spark主目录的jars目录中(所有节点上均这么做)。

2.7 运行spark

在 spark主目录的sbin下执行start-all.sh(区别hadoop的)

3. 测试

使用命令行spark-shell --master spark://10.45.10.33:7077进入spark shell