天天看点

Spark完全分布式集群搭建

一、准备工作

  1. 安装jdk:https://blog.csdn.net/qq_42668255/article/details/97368887
  2. 搭建hadoop集群:https://blog.csdn.net/qq_42668255/article/details/99449114
  3. scala搭建  官方下载地址:https://www.scala-lang.org/download/
  4. spark下载地址:http://spark.apache.org/downloads.html
  5. 本人云盘资料(scala,spark以及spark源码软件资料):https://pan.baidu.com/s/1VGmO8ahlkFrJShab0cYv0Q 提取码:mhnm

二、安装配置scala

  1. 把安装包上传到服务器并解压   命令: tar -xzvf scala-2.13.0.tar.gz
  2. 配置环境变量(根据自己的安装位置来,如下是本人安装位置)
export SCALA_HOME=/usr/local/scala-2.13.0
export PATH=$PATH:$SCALA_HOME/bin
           

   3.立即生效:source /etc/proflie

三、安装配置spark

  1. 把安装包上传到服务器并解压
    1. 命令:tar -xzvf  spark-2.4.3-bin-hadoop2.7.tgz
    2. 修改文件名称:mv spark-2.4.3-bin-hadoop2.7 spark243_hadoop2
  2. 配置环境变量:(具体路径需要根据自己所安装的位置来,我的如下所示)
export SPARK_HOME=/usr/local/spark243_hadoop27
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
           

   3.立即生效:source /etc/proflie

  1. 修改spark-env.sh配置文件
    1. 复制文件cp spark-env.sh.template spark-env.sh
    2. 编辑文件vim spark-env.sh
    3. 在文件开头注入如下信息
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
           
Spark完全分布式集群搭建

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配置文件

  1. 复制slaves.template   命令: cp slaves.template slaves
  2. 修改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)

  1. cd cd /usr/local/spark243_hadoop27/sbin/
  2. ./start-all.sh
  3. spark-shell

8.如果配置成功,结果如下

Spark完全分布式集群搭建

四、其他配置

   一、解决/usr/local/spark243_hadoop27/sbin目录下 start-all.sh  与hadoop的start-all.sh启动命令冲突

  1. 可以将/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
           
Spark完全分布式集群搭建
  1. 进入配置文件目录:cd /usr/local/spark243_hadoop27/conf/
  2. vim log4j.properties
  3. 修改log4j.logger.org.apache.spark.repl.Main=INFO
Spark完全分布式集群搭建

继续阅读