1.在Master节点机器上 安装spark
2 配置环境变量
vim /etc/profile
添加以下:
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
刷新:
source /etc/profile
3 Spark配置
在Master节点主机上进行如下操作:
- 配置slaves文件
- 将 slaves.template 拷贝到 slaves
cd /usr/local/spark/
cp ./conf/slaves.template ./conf/slaves
slaves文件设置Worker节点。编辑slaves内容
vim ./conf/slaves
把默认内容localhost替换成如下内容:
slave01
slave02
配置spark-env.sh文件
将 spark-env.sh.template 拷贝到 spark-env.sh
cp ./conf/spark-env.sh.template ./conf/spark-env.sh
编辑spark-env.sh
vim ./conf/spark-env.sh
添加如下内容:
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SPARK_MASTER_IP=172.17.0.2
SPARK_MASTER_IP 指定 Spark 集群 Master 节点的 IP 地址;
配置好后,将Master主机上的/usr/local/spark文件夹复制到各个节点上。在Master主机上执行如下命令:
cd /usr/local/
tar -zcf ~/spark.master.tar.gz ./spark
cd ~
scp ./spark.master.tar.gz slave01:/home/spark.tar.gz
scp ./spark.master.tar.gz slave02:/home/spark.tar.gz
在slave01,slave02节点上分别执行下面同样的操作:
rm -rf /usr/local/spark/
cd /home
tar -zxvf spark.tar.gz
mv spark/ /usr/local/
4 启动Spark集群
启动Spark集群前,要先启动Hadoop集群。在Master节点主机上运行如下命令:
cd /usr/local/hadoop/
.sbin/start-all.sh
然后启动Spark
启动Master节点
在Master节点主机上运行如下命令:
cd /usr/local/spark/
.sbin/start-master.sh
在Master节点上运行jps命令,可以看到多了个Master进程:
启动所有Slave节点
在Master节点主机上运行如下命令:
.sbin/start-slaves.sh
报错:
spark slave01: JAVA_HOME is not set
解决:
进入对应的slave的spark根目录
cd /usr/local/spark/sbin
在sbin目录下的spark-config.sh 中添加对应的jdk路径!
## JAVA 添加java_home路径
export JAVA_HOME=/usr/java/jdk
export PATH=$PATH:$JAVA_HOME/bin
Shell 命令
分别在slave01、slave02节点上运行jps命令,可以看到多了个Worker进程
5 关闭Spark集群
关闭Master节点
.sbin/stop-master.sh
Shell 命令
关闭Worker节点
.sbin/stop-slaves.sh
Shell 命令
关闭Hadoop集群
cd /usr/local/hadoop/
.sbin/stop-all.sh