接上篇文章,(4) "基于 VMware + CentOS + Hadoop + MySQL,安装 Hive,并进行相应的配置"
这篇文章里,主要介绍 (5) "基于 VMware + CentOS + Hadoop + MySQL + Hive,安装 Spark,并进行相应的配置"
以下操作均基于 root 用户
一、安装 Spark
于官网 http://spark.apache.org/downloads.html
下载 spark-2.2.3-bin-hadoop2.6.tgz 到目录 /app/soft
使用命令 # tar -zxvf spark-2.2.3-bin-hadoop2.6.tgz 解压文件
得到 Spark 的主目录 /app/soft/spark-2.2.3-bin-hadoop2.6
二、配置 Spark
1. 于 master 机器上,配置 /app/soft/spark-2.2.3-bin-hadoop2.6/conf/slaves 文件
该文件本身可能是不存在的,通过复制模板文件 slaves.template 来生成
# cd /app/soft/spark-2.2.3-bin-hadoop2.6/conf
# cp slaves.template slaves
编辑生成的 /app/soft/spark-2.2.3-bin-hadoop2.6/conf/slaves 文件为如图所示
2. 于 master 机器上,配置 /app/soft/spark-2.2.3-bin-hadoop2.6/conf/spark-env.sh 文件
该文件本身可能是不存在的、通过复制 spark-env.sh.template 来生成
# cd /app/soft/spark-2.2.3-bin-hadoop2.6/conf
# cp spark-env.sh.template spark-env.sh
编辑生成的 /app/soft/spark-2.2.3-bin-hadoop2.6/conf/spark-env.sh 文件
添加如下内容
export JAVA_HOME=/app/soft/jdk1.8.0_201
export SCALA_HOME=/app/soft/scala-2.12.2
export HADOOP_HOME=/app/soft/hadoop-2.6.5
export HADOOP_CONF_DIR=/app/soft/hadoop-2.6.5/etc/hadoop
export SPARK_MASTER_IP=master
export SPARK_MASTER_PORT=7077
export SPARK_MASTER_WEBUI_PORT=8080
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=600M
export SPARK_EXECUTOR_INSTANCES=1
export SPARK_EXECUTOR_MEMORY=600M
export SPARK_CONF_DIR=/app/soft/spark-2.2.3-bin-hadoop2.6/conf
3. 于 master 机器上,配置 /app/soft/spark-2.2.3-bin-hadoop2.6/conf/spark-defaults.conf
该文件默认可能是不存在的、通过复制 spark-defaults.conf.template 来生成
# cd /app/soft/spark-2.2.3-bin-hadoop2.6/conf
# cp spark-defaults.conf.template spark-defaults.conf
编辑生成的 /app/soft/spark-2.2.3-bin-hadoop2.6/conf/spark-defaults.conf 文件
添加如下内容
spark.driver.memory 600M
4. 于 master 机器上,Spark 同 Hive 之间,
Copy 文件
/app/soft/apache-hive-1.2.2-bin/conf/hive-site.xml
到
/app/soft/spark-2.2.3-bin-hadoop2.6/conf
即执行命令
# cp /app/soft/apache-hive-1.2.2-bin/conf/hive-site.xml /app/soft/spark-2.2.3-bin-hadoop2.6/conf
5. 针对步骤 1、2、3、4,我们于 master 机器上执行如下命令将配置好的 Spark 安装包同步到 slave1 和 slave 2
# scp -r ./spark-2.2.3-bin-hadoop2.6 slave1:/app/soft
# scp -r ./spark-2.2.3-bin-hadoop2.6 slave2:/app/soft
6. 于 master 机器、slave1 机器、slave2 机器,
编辑其环境变量文件 /etc/profilt
增加如下内容
7. 对 /etc/profile 进行 source 操作,并启动 spark
# /app/soft/spark-2.2.3-bin-hadoop2.6/sbin/start-all.sh
正常启动如图所示
三、测试 Spark 之 HelloWorld
1. Spark 服务启动起来之后,
执行如下命令,本地测试 Spark 自带程序
# cd spark-2.2.3-bin-hadoop2.6
# ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master local ./examples/jars/spark-examples_2.11-2.2.3.jar
该示例代码的执行结果是计算 PI 值,命令执行完毕后,正确输出如下图所示