文章目录
一、安装 Spark
1. 解压安装包
将 spark 安装包解压并移动到 /usr/local/src 路径,并重命名目录。
tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz
mv spark-2.1.1-bin-hadoop2.7 /usr/local/src
cd /usr/local/src
mv spark-2.1.1-bin-hadoop2.7 spark
2. 配置环境变量
- 设置 spark 环境变量,只对 root 用户生效,修改 /root/.bash_profile 文件。
- 如果要设置全局变量则修改 /etc/profile 文件
vi /root/.bash_profile
在文末追加以下文字:
# set spark environment
export SPARK_HOME=/usr/local/src/spark
export PATH=$PATH:$SPARK_HOME/bin
让环境变量生效
source /root/.bash_profile
二、配置 spark
- spark 的配置文件都放在 spark/conf 目录下。
1. 修改 spark-env.sh 文件
- 因为没有 spark-env.sh,所以要复制 spark-env.sh.template 成 spark-env.sh
cd /usr/local/src/spark/conf/
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
- 修改 spark-env.sh 文件,添加以下内容:
export JAVA_HOME=/usr/local/src/jdk1.8.0_162
export HADOOP_CONF_DIR=/usr/local/src/hadoop-2.7.7/etc/hadoop
export SPARK_MASTER_HOST=master
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_MEMORY=4g
export SPARK_WORKER_CORES=3
export SPARK_WORKER_INSTANCES=1
export SPARK_EXECUTOR_MEMORY=4g
export SPARK_EXECUTOR_CORES=3
根据自己的软件安装目录设置路径。
2. 修改 slaves 文件
- 因为没有 slaves ,所以要复制 slaves.template 成 slaves
cp slaves.template slaves
vi slaves
- 修改 slaves 文件,添加以下内容(所拥有的节点,有哪个就写哪个,没配置映射就写ip):
master
slave1
slave2
2. 修改 spark-defaults.conf 文件
- 因为没有 spark-defaults.conf,所以要复制 spark-defaults.conf.template 成 spark-defaults.conf
cp spark-defaults.conf.template spark-defaults.conf
vi spark-defaults.conf
- 修改 spark-defaults.conf 文件,添加以下内容:
spark.master spark://master:7077
spark.eventLog.enabled true
spark.eventLog.dir hdfs://master:8021/directory
三、节点配置 spark
1. 传输文件
- 用 scp 把环境变量文件以及 spark 解压后的安装文件到 slave1、slave2 节点。
- 如果不知道怎么使用 scp,转到 Linux 之间传输文件。
scp -r /usr/local/src/spark root@slave1:/usr/local/src/
scp -r /usr/local/src/spark root@slave2:/usr/local/src/
scp /root/.bash_profile root@slave1:/root/
scp /root/.bash_profile root@slave2:/root/
2. 修改 spark-env.sh 文件
在 slave1 和 slave2 分别修改 /conf/spark-env.sh 文件。
ssh root@slave1
cd /usr/local/src/spark/conf/
vi spark-env.sh
添加:
export SPARK_LOCAL_IP=192.168.1.102 # 本节点的IP,在哪个节点就填对应节点的IP。
# export SPARK_LOCAL_IP=192.168.1.103
四、启动和验证
1. 启动 spark
- 在 master 节点启动集群。
cd /usr/local/src/spark/sbin/
./start-all.sh
./start-history-server.sh hdfs://master:8021/directory
- 关闭集群
cd /usr/local/src/spark/sbin/
./stop-all.sh
./stop-history-server.sh hdfs://master:8021/directory
2. 验证
- 查看集群是否启动成功:
master 节点在 Hadoop 的基础上新增了 Master 和 Worker
slave 节点在 Hadoop 的基础上新增了 Worker
- Spark监控——http://master:8080
- 如果访问不了就关闭防火墙。
systemctl stop firewalld