一、准备工作
- 安装jdk:https://blog.csdn.net/qq_42668255/article/details/97368887
- 搭建hadoop集群:https://blog.csdn.net/qq_42668255/article/details/99449114
- scala搭建 官方下载地址:https://www.scala-lang.org/download/
- spark下载地址:http://spark.apache.org/downloads.html
- 本人云盘资料(scala,spark以及spark源码软件资料):https://pan.baidu.com/s/1VGmO8ahlkFrJShab0cYv0Q 提取码:mhnm
二、安装配置scala
- 把安装包上传到服务器并解压 命令: tar -xzvf scala-2.13.0.tar.gz
- 配置环境变量(根据自己的安装位置来,如下是本人安装位置)
export SCALA_HOME=/usr/local/scala-2.13.0
export PATH=$PATH:$SCALA_HOME/bin
3.立即生效:source /etc/proflie
三、安装配置spark
- 把安装包上传到服务器并解压
- 命令:tar -xzvf spark-2.4.3-bin-hadoop2.7.tgz
- 修改文件名称:mv spark-2.4.3-bin-hadoop2.7 spark243_hadoop2
- 配置环境变量:(具体路径需要根据自己所安装的位置来,我的如下所示)
export SPARK_HOME=/usr/local/spark243_hadoop27
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
3.立即生效:source /etc/proflie
- 修改spark-env.sh配置文件
- 复制文件cp spark-env.sh.template spark-env.sh
- 编辑文件vim spark-env.sh
- 在文件开头注入如下信息
export JAVA_HOME=/usr/java/jdk8
export HADOOP_HOME=/usr/local/hadoop-2.7.1
export SCALA_HOME=/usr/local/scala-2.13.0
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/opt/hadoop-2.7.3/etc/hadoop
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLxUlaNRTWq5UeRpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL2UzNyQTO0kDMwIDOwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
4.spark-env.sh文件主要配置信息(不用配置完全,需要哪个可再查询资料逐一配置)(此步骤可以忽略,只是介绍一些常见参数):
SPARK_WORKER_CORES | 作业可用的CPU内核数量 | 所有可用的CPU内核数 |
SPARK_WORKER_INSTANCES | 每台机器上运行的worker数量 | 1 |
SPARK_WORKER_CORES × SPARK_WORKER_INSTANCES | 每台机器总cores | |
SPARK_WORKER_INSTANCES × SPARK_WORKER_MEMORY | 每个节点使用的最大内存数 | |
SPARK_WORKER_MEMORY | 作业可使用的内存容量 | 1G |
SPARK_DAEMON_MEMORY | 分配给Spark master和worker守护进程的内存空间 | 512M |
5.修改slaves配置文件
- 复制slaves.template 命令: cp slaves.template slaves
- 修改slaves.template 命令:vim slaves 注入如下内容(该内容为你三台主机的ip地址,我的如下所示)
192.168.174.140 master
192.168.174.141 slave1
192.168.174.142 slave2
6.用命令分别将上面两个配置文件上传到另外两个主机,命令如下
scp /usr/local/spark243_hadoop27/conf/spark-env.sh [email protected]:/usr/local/spark243_hadoop27/conf/
scp /usr/local/spark243_hadoop27/conf/slaves [email protected]:/usr/local/spark243_hadoop27/conf/
7.启动spark(启动spark先启动hadoop再启动spark)
- cd cd /usr/local/spark243_hadoop27/sbin/
- ./start-all.sh
- spark-shell
8.如果配置成功,结果如下
四、其他配置
一、解决/usr/local/spark243_hadoop27/sbin目录下 start-all.sh 与hadoop的start-all.sh启动命令冲突
- 可以将/usr/local/spark243_hadoop27/sbin目录下 start-all.sh文件重新命名:cp start-all.sh start-spark-all.sh
二、解决启动spark-shell时WARN警告为info日志信息输出
WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
- 进入配置文件目录:cd /usr/local/spark243_hadoop27/conf/
- vim log4j.properties
- 修改log4j.logger.org.apache.spark.repl.Main=INFO