Spark2.2.0分布式集群搭建教程

Spark集群搭建教程

前提:安装Spark集群的前提是已经装好hadoop集群。若hadoop集群已经搭建好,则各个节点的主机名与ip映射,ssh免密登陆,Java的环境配置等都已经完成。下图为我配置好的各节点主机名与ip的映射关系。


一  下载

下载Spark编译好的二进制包,推荐官网下载(http://spark.apache.org/downloads.html),如下图所示:



二 上传

    若下载好的Spark安装包是在windows环境下,则需要通过winscp或者xftp等工具将其上传到Linux服务器上,若安装包是在Linux上,则此步跳过。


三 解压

  首先将spark安装包复制或者移动到安装目录,然后解压到该目录。




四 配置

    4.1修改系统配置文件

即修改/etc/profile, vi /etc/profile,

在文件末加上

# set spark path
export SPARK_HOME=/data/app/spark-2.2.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin


    4.2修改spark-env.sh配置文件

首先cd到spark的conf目录下

使用cp命令备份原spark-env.sh.template配置文件,

cp spark-env.sh.template spark-env.sh

修改spark-env.sh,即vi spark-env.sh,

在文件末加上:

export JAVA_HOME=/usr/java/jdk1.8.0_121#JAVA_HOME的路径
exportHADOOP_HOME=/data/app/hadoop-3.0.0-beta1/ #HADOOP_HOME的路径
exportHADOOP_CONF_DIR=/data/app/hadoop-3.0.0-beta1/etc/hadoop #hadoop配置文件路径
exportYARN_CONF_DIR=/data/app/hadoop-3.0.0-beta1/etc/hadoop #YARN配置文件的路径
export SPARK_MASTER_HOST=bd05 #Spark主节点的名字,bd05对应本机的ip,这个是在/etc/hosts下设置的,在搭建hadoop集群时已经配置好了
export SPARK_MASTER_IP=bd05 #Spark主节点的IP,同上
export SPARK_WORK_MEMORY=2g #spark计算节点的内存大小
exportSPARK_HOME=/data/app/spark-2.2.0-bin-hadoop2.7 #SPARK_HOME的路径
export PATH=$SPARK_HOME/bin:$PATH


    4.3修改slaves配置文件

首先备份slaves.template(cp slaves.template slaves)文件,

然后再修该(vi slaves)该文件,在文件末加上spark集群的工作节点名称。

五 修改元数据存放地址

       将spark默认存放元数据的derby数据库修改为mysql

    5.1下载mysql

首先下载mysql数据库,此处不再演示,可以百度“Linux下安装mysql数据库“获取相关教程。下载安装之后,创建一个spark数据库,并设置其编码为latin1,(create database spark character set latin1)如下图:(注:必须设置character为latin1,不然后面使用spark-sql时会有很多问题)

    5.2新增hive-site.xml配置文件

在spark的conf目录下新增hive-site.xml文件,添加如下内容:

<configuration>  
<property>  
     <name>javax.jdo.option.ConnectionURL</name>  
     <value>jdbc:mysql:/11.11.11.15:3306/spark</value>
</property>  
  
<property>  
     <name>javax.jdo.option.ConnectionDriverName</name>  
     <value>com.mysql.jdbc.Driver</value>  
</property>  
  
<property>  
     <name>javax.jdo.option.ConnectionUserName</name>  
     <value>root</value>  
</property>  
  
<property>  
     <name>javax.jdo.option.ConnectionPassword</name>  
     <value>root</value>  
</property>  
</configuration>

    5.3添加mysql依赖驱动包

将mysql的驱动依赖包放到spark安装目录下的conf目录下。此安装包在hadoop和spark中都没有,需要自己下载,然后再放到该目录下。

    5.4修改配置文件

修改spark-defaults.conf.template配置文件,首先备份(cp spark-defaults.conf.template spark-defaults.conf),

然后修改(vi spark-defaults.conf),

在spark-defaults.conf文件的末尾加上:

spark.driver.extraClassPath= /data/app/spark-2.2.0-bin-hadoop2.7/conf/mysql-connector-java-5.1.40-bin.jar #驱动依赖包的路径
spark.executor.extraClassPath=/data/app/spark-2.2.0-bin-hadoop2.7/conf/mysql-connector-java-5.1.40-bin.jar#驱动依赖包的路径
spark.sql.warehouse.dir = hdfs://bd05:9000/user/root/warehouse#设置数据仓库中的数据在hdfs上的位置



六 修改控制台信息输出级别

首先备份log4j.properties.template文件(cp log4j.properties.template log4j.properties),

然后修改(vi log4j.properties),

找到log4j.rootCategory=INFO,console这一行,将INFO修改为WARN或者ERROR。

七 发送

将整个解压且配置好的spark包scp到集群中的其他节点。

首先切换到spark的安装目录,然后发送。

 

注:搭建的版本hadoop为3.0.0-beta1,spark为spark-2.2.0,Java版本为jdk1.8.0_121

猜你喜欢

转载自blog.csdn.net/u010592112/article/details/78290205