一、Spark 3.0.0 、Hive 3.1.2 分布式集群搭建

1、Hadoop 3.x HDFS基础环境
javascript:void(0)
2、zookeeper 3.6.2 集群搭建
javascript:void(0)
3、Hadoop 3.x 部署 YARN 集群
javascript:void(0)
4、Hadoop 3.x 集群 YARN 启动 timelineserver(ApplicationHistoryServer) 服务
javascript:void(0)
5、Hive 3.1.2 分布式集群搭建
javascript:void(0)
6、Spark 3.0.0 分布式集群搭建
javascript:void(0)

二、Spark 3.0.0 集成 Hive 3.1.2

1、复制 hive 的配置文件至 spark 的配置文件目录

[root@master ~]# cp /usr/bigdata/apache-hive-3.1.2-bin/conf/hive-site.xml /usr/bigdata/spark-3.0.0-bin-hadoop3.2/conf/

2、进入 spark 的配置文件目录

[root@master ~]# cd /usr/bigdata/spark-3.0.0-bin-hadoop3.2/conf

3、复制、修改默认的配置文件

[root@master conf]# cp spark-defaults.conf.template spark.conf

4、在 HDFS 的任一客户端节点执行,创建 spark 存放日志的目录

[root@master ~]# hdfs dfs -mkdir -p /user/spark/eventLog

5、编辑 spark 的配置文件 spark.conf

[root@master conf]# vim spark.conf

6、编辑内容

spark.master                     spark://master:7077
spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://master:9820/user/spark/eventLog

7、把搭建 Hive 集群的时候下载的 musql 的 java 驱动包,复制到 spark 的 jars 目录下

[root@master ~]# cp /usr/bigdata/apache-hive-3.1.2-bin/lib/mysql-connector-java.jar /usr/bigdata/spark-3.0.0-bin-hadoop3.2/jars/

8、启动 HDFS 服务(非 HA 高可用集群)

[root@master ~]# /usr/bigdata/hadoop-3.3.0/sbin/start-dfs.sh

9、启动 Zookeeper

[root@slave1 ~]# /usr/bigdata/apache-zookeeper-3.6.2-bin/bin/zkServer.sh start
[root@slave2 ~]# /usr/bigdata/apache-zookeeper-3.6.2-bin/bin/zkServer.sh start
[root@slave3 ~]# /usr/bigdata/apache-zookeeper-3.6.2-bin/bin/zkServer.sh start

10、启动 YARN 相关服务

[root@master ~]# /usr/bigdata/hadoop-3.3.0/sbin/start-yarn.sh

11、启动 hiveserver2 服务

[root@master ~]# nohup hive --service hiveserver2  &

12、启动 Spark 服务

[root@master ~]# /usr/bigdata/spark-3.0.0-bin-hadoop3.2/sbin/start-all.sh

13、控制台启动 spark-sql

[root@master ~]# /usr/bigdata/spark-3.0.0-bin-hadoop3.2/bin/spark-sql

启动效果如下
记一次  基于 Hadpoop 3.3.0 完全分布式集群 Spark 3.0.0 集成 Hive 3.1.2_hive

三、执行 spark-sql

1、通过 spark-sql 查看 Hive 中的数据库,以及执行查询数据的操作
记一次  基于 Hadpoop 3.3.0 完全分布式集群 Spark 3.0.0 集成 Hive 3.1.2_hive_02
2、选择数据库

spark-sql (default)> use hive_test;

3、查看该数据库中的所有表

spark-sql (default)> show tables;

4、查询表数据

spark-sql (default)> select * from table_test;

执行效果如下
记一次  基于 Hadpoop 3.3.0 完全分布式集群 Spark 3.0.0 集成 Hive 3.1.2_centos_03
5、执行统计 sql

spark-sql (default)> select count(1) from table_test where age > 20;

效果如下
记一次  基于 Hadpoop 3.3.0 完全分布式集群 Spark 3.0.0 集成 Hive 3.1.2_hive_04
退出 spqrk-sql

spark-sql (default)> exit;

基于 Hadpoop 3.3.0 完全分布式集群 Spark 3.0.0 集成 Hive 3.1.2 并执行 spark-sql ,操作完毕,希望能够对您有所帮助!