Spark集群搭建
在安装spark之前,需要安装hadoop集群环境
集群列表
服务器 |
地址 |
角色 |
备注 |
hadoop1 |
192.168.11.81 |
master |
32G 12C 800G |
hadoop2 |
192.168.11.82 |
slaves |
32G 12C 800G |
hadoop3 |
192.168.11.83 |
slaves |
32G 12C 800G |
一.基础环境设置
关闭防火墙
1 2
| systemctl stop firewalld systemctl disable firewalld
|
关闭selinux
1 2
| sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config setenforce 0
|
添加hosts
1 2 3 4
| vi /etc/hosts 192.168.11.81 hadoop1 192.168.11.82 hadoop2 192.168.11.83 hadoop3
|
二.安装spark集群
下载spark包
1 2 3
| https://archive.apache.org/dist/spark
https://archive.apache.org/dist/spark/spark-2.4.2/spark-2.4.2-bin-hadoop2.6.tgz
|
上传解压spark安装包
1
| tar -xzvf spark-2.4.2-bin-hadoop2.6.tgz -C /data
|
配置环境变量
1 2 3 4 5 6 7
| cat >>/etc/profile <<EOF # spark export SPARK_HOME=/data/spark-2.4.2 export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin EOF
source /etc/profile
|
配置spark参数
配置文件放在$SPARK_HOME/conf下
1 2 3 4 5 6 7 8 9 10 11 12 13
| cd $SPARK_HOME/conf cp spark-env.sh.template spark-env.sh vi spark-env.sh
export JAVA_HOME=/jdk1.8.0_271 export SCALA_HOME=/scala-2.12.4/ export HADOOP_HOME=/data/hadoop-2.6.4 export HADOOP_CONF_DIR=/data/hadoop-2.6.4/etc/hadoop SPARK_MASTER_IP=hadoop1 SPARK_LOCAL_DIRS=/data/spark-2.4.2 SPARK_DRIVER_MEMORY=1G PYSPARK_PYTHON=/usr/bin/python3.6
|
配置工作节点
1 2 3 4 5
| cp slaves.template slaves vi slaves
hadoop2 hadoop3
|
注:以上配置需要复制到其它节点中
启动服务
启动hadoop后 在启动spark集群
1 2 3
| cd $SPARK_HOME/sbin/ ./start-all.sh ./start-history-server.sh
|
关闭服务
1 2 3
| cd $SPARK_HOME/sbin/ ./stop-all.sh ./stop-history-server.sh
|
四.web可视化
1 2
| http://192.168.11.81:8080/
|
五.安装scala
spark既可以使用Scala作为开发语言,也可以使用python作为开发语言。
spark中已经默认带有scala,如果没有或者要安装其他版本可以下载安装包安装。
下载scala安装包
1
| https://www.scala-lang.org/download/
|
上传解压scala安装包
1
| tar -zxvf scala-2.12.4.tgz -C /
|
添加环境变量
1 2 3 4 5 6 7
| cat >>/etc/profile <<EOF # scala export SCALA_HOME=/scala-2.12.4/ export PATH=$PATH:$SCALA_HOME/bin EOF
source /etc/profile
|
注:其它节点中也要配置安装scala
测试是否安装成功
1 2
| [root@hadoop1 pkg] Scala code runner version 2.12.4 -- Copyright 2002-2017, LAMP/EPFL and Lightbend, Inc.
|
启动Spark shell界面
1 2 3
| spark-shell --master spark://hadoop1:7077
pyspark --master spark://hadoop1:7077
|