前言
配置的虚拟机为Centos6.7系统,hadoop版本为2.6.0版本,先前已经完成搭建CentOS部署Hbase、CentOS6.7搭建Zookeeper和编写MapReduce前置插件Hadoop-Eclipse-Plugin 安装。在此基础上完成了Hive详解以及CentOS下部署Hive和Mysql和Spark框架在CentOS下部署搭建。现在进行Spark的组件Spark SQL的部署。
首先我所部署的集群配置为
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中:
将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服务:
(5)修改日志级别。
进入spark的conf目录:
将该目录下的log4j.properties.template文件复制为log4j.properties,修改该文件:
(6)启动Spark集群。
./start-all.sh
(7)启动spark-sql。进入spark的bin目录下:
测试完后验证部署成功。