安装scala环境
1、解压scala 的 tar 包
首先我们进入到本系统的/opt/soft
路径下可以看到我们所提供的 scala 安装包,接下来我们在/usr/
下创建 scala 文件夹,然后解压 scala 到我们所创建的 scala 工作路径中,具体操作如下图所示:
[root@master ~]# cd /opt/soft/
[root@master soft]# ls
apache-hive-2.1.1-bin.tar.gz jdk-8u171-linux-x64.tar.gz requests-2.22.0-py2.py3-none-any.whl zookeeper-3.4.10.tar.gz
hadoop-2.7.3.tar.gz mysql-connector-java-5.1.47-bin.jar scala-2.11.12.tgz
hbase-1.2.4-bin.tar.gz mysql-connector-java-5.1.5-bin.jar spark-2.4.0-bin-hadoop2.7.tgz
[root@master soft]# mkdir -p /usr/scala
[root@master soft]# tar -zxvf scala-2.11.12.tgz -C /usr/scala/
2、配置scala环境变量(三台机器)
[root@master soft]# cd /usr/scala/scala-2.11.12/
[root@master scala-2.11.12]# pwd
/usr/scala/scala-2.11.12
[root@master scala-2.11.12]# vi /etc/profile
#Scala Home
export SCALA_HOME=/usr/scala/scala-2.11.12
export PATH=$SCALA_HOME/bin:$PATH
# 更新环境变量
[root@master scala-2.11.12]# source /etc/profile
#查看scala 是否安装成功
[root@master scala-2.11.12]# scala -version
Scala code runner version 2.11.12 -- Copyright 2002-2017, LAMP/EPFL
3.复制 scala 到子节点
因为我们是集群环境,所以接下来我们需要将我们的 scala 环境发送到我们的其他子节点上,具体操作如下:
[root@master scala-2.11.12]# scp -r /usr/scala/ root@slave1:/usr
[root@master scala-2.11.12]# scp -r /usr/scala/ root@slave2:/usr
# 验证scala 是否安装成功
[root@slave1 usr]# scala -version
Scala code runner version 2.11.12 -- Copyright 2002-2017, LAMP/EPFL
[root@slave2 usr]# scala -version
Scala code runner version 2.11.12 -- Copyright 2002-2017, LAMP/EPFL
解压Spark的tar包
1、首先我们进入到本系统的/opt/soft
路径下可以看到我们所提供的 spark 安装包,接下来我们在/usr/
下创建 spark 文件夹,然后解压 spark 到我们所创建的 spark 工作路径中
[root@master soft]# cd /opt/soft/
[root@master soft]# ls
apache-hive-2.1.1-bin.tar.gz jdk-8u171-linux-x64.tar.gz requests-2.22.0-py2.py3-none-any.whl zookeeper-3.4.10.tar.gz
hadoop-2.7.3.tar.gz mysql-connector-java-5.1.47-bin.jar scala-2.11.12.tgz
hbase-1.2.4-bin.tar.gz mysql-connector-java-5.1.5-bin.jar spark-2.4.0-bin-hadoop2.7.tgz
# 创建工作路径
[root@master soft]# mkdir -p /usr/spark
# 解压Spark
[root@master soft]# tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz -C /usr/spark/
1.复制 spark-env.sh 模板
我们需要将 spark-env.sh.template 复制为 spark-env.sh,命令为: cp sparkenv.sh.template spark-env.sh
.当复制出 spark-env.sh 文件后我们可以使用 vim 进行编译,具体操作如下
[root@master soft]# cd /usr/spark/spark-2.4.0-bin-hadoop2.7/conf/
[root@master conf]# ls
docker.properties.template log4j.properties.template slaves.template spark-env.sh.template
fairscheduler.xml.template metrics.properties.template spark-defaults.conf.template
[root@master conf]# cp spark-env.sh.template spark-env.sh
2、配置spark-env.sh文件
[root@master conf]# vi spark-env.sh
export SPARK_MASTER_IP=master
export SCALA_HOME=/usr/scala/scala-2.11.12
export SPARK_WORKER_MEMORY=8g
export JAVA_HOME=/usr/java/jdk1.8.0_171
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export HADOOP_CONF_DIR=/usr/hadoop/hadoop-2.7.3/etc/hadoop
3、配置 spark 从节点,修改 slaves 文件
[root@master conf]# cp slaves.template slaves
[root@master conf]# vi slaves
slave1
slave2
4、配置 spark 环境变量(三台机器)
[root@master ~]# vi /etc/profile
# Spark Home
export SPARK_HOME=/usr/spark/spark-2.4.0-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
# 更新环境变量
[root@master ~]# source /etc/profile
向所有子节点发送 Spark 配置好的安装包
[root@master ~]# scp -r /usr/spark/ root@slave1:/usr/
[root@master ~]# scp -r /usr/spark/ root@slave2:/usr/
测试Spark环境
因为我们安装的是 spark on yarn 模式,所有接下来我们需要开启 hadoop 环境
[root@master ~]# /usr/hadoop/hadoop-2.7.3/sbin/start-all.sh
#查看各节点进程
[root@master ~]# jps
2929 Jps
2678 ResourceManager
2521 SecondaryNameNode
2334 NameNode
开启Spark集群
[root@master ~]# /usr/spark/spark-2.4.0-bin-hadoop2.7/sbin/start-all.sh
# 查看各节点进程
[root@master ~]# jps
访问Web界面
我们可以在浏览器中输入我们 master 节点的 IP 地址,端口号为 8080 具体操作如下图所示:
接下来我们开启我们的 spark-shell 以及 pyspark 进入到 spark 的交互模式:
首先 spark-shell 此时进入的是 scala 环境的 spark 交互模式,具体操作如下图所示:
接下来我们输入命令进入 python 环境下的 spark 交互模式,具体操作如下图所示:
至此,我们的 Spark环境就已经搭建成功了。