Spark SQL CLI部署CentOS分布式集群Hadoop上方法

 


前言

配置的虚拟机为Centos6.7系统,hadoop版本为2.6.0版本,先前已经完成搭建CentOS部署Hbase、CentOS6.7搭建Zookeeper和编写MapReduce前置插件Hadoop-Eclipse-Plugin 安装。在此基础上完成了Hive详解以及CentOS下部署Hive和Mysql和Spark框架在CentOS下部署搭建。现在进行Spark的组件Spark SQL的部署。

对于Spark SQL的详细介绍可以在Spark框架深度理解二:生态圈中参阅。


首先我所部署的集群配置为

CentOS-6.7

Spark-2.4.7

Hive-2.3.7

若有版本不兼容的问题可参考其他版本的部署。

若要使用Spark SQL CLI的方式访问操作Hive表数据,需要对Spark SQL进行如下所示的环境配置,将Spark SQL 连接到一个部署好的Hive上。

当然即使没有部署好Hive,Spark SQL也是可以运行的,但是Spark SQL会在当前的工作目录中创建出自己的Hive元数据库,称为metastore_db。

现在正式进行配置。

(1)寻找自己所安装的Hive,进入到conf中:

Spark SQL CLI部署CentOS分布式集群Hadoop上方法_第1张图片

将hive-site.xml文件复制到spark的conf目录下:

cp /usr/local/hive-2.3.7/conf/hive-site.xml /usr/local/spark2.4.7/conf

(2)现在我们需要MySQL驱动。缺少MySQL驱动可以自行在官网上下载

 wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.40.tar.gz

不过既然配置过Hive想必MySQL驱动以及放在原有的Hive的lib目录下

将该驱动放入spark的jars中(spark升到2.0.0版本后lib改为了jars目录)

cp mysql-connector-java-5.1.40-bin.jar /usr/local/spark2.4.7/jars

然后在spark的spark-env.sh文件下添加一行路径

export SPARK_CLASSPATH=/usr/local/spark2.4.7/jars/mysql-connector-java-5.1.40-bin.jar

(3)启动MySQL服务

service mysqld start

(4)启动Hive的metastore服务:

Spark SQL CLI部署CentOS分布式集群Hadoop上方法_第2张图片

(5)修改日志级别。

进入spark的conf目录:

Spark SQL CLI部署CentOS分布式集群Hadoop上方法_第3张图片

将该目录下的log4j.properties.template文件复制为log4j.properties,修改该文件:

(6)启动Spark集群。

./start-all.sh

Spark SQL CLI部署CentOS分布式集群Hadoop上方法_第4张图片

(7)启动spark-sql。进入spark的bin目录下:

Spark SQL CLI部署CentOS分布式集群Hadoop上方法_第5张图片

测试完后验证部署成功。


 


 

你可能感兴趣的:(Spark,分布式,hadoop,hive,spark)