Hive:初见

Hive 远程连接:

Hive安装:可以部署到任意一个节点,不一定在集群上,因为Hive是客户端

安装Mysql以作为Hive存储元数据的数据库,来替代Hive内置的dubby数据库,为了方便,将mysql安装在windows上,以供远程连接

创建metastore数据库

安装mysql-connector-java驱动到/opt/module/hive/lib/

创建Hive配置文件hive-site.xml配置hive

初始化Hive

schematool -initSchema -dbType mysql

对hive的元数据库进行初始化

​ 此处出现两次错误,第一次由于MysqlConnectorjava版本错误导致的,第二次是未配置时区导致的

<value>jdbc:mysql://192.168.153.1:3306/metastore?useSSL=false&amp;serverTimezone=UTC</value>

​ 配置core-site.xml中的hdfs代理用户

​ 配置hive-site.xml中的hiveserver端口号和用户

配置metastore的独立服务模式

​ 只在一个节点配置metastore的文件信息,在其他节点配置metastore的客户端连接信息,一旦配置客户端连接信息,该节点优先选择此种连接hive的方式

启动hive

先启动hive metastore

nohup hive –-service metastore &

再启动hiveserver2

nohup hive --service hiveserver2 &

至此hive可以被外界进行访问

Hive on Spark搭建:

1.安装Hadoop

2.安装Hive,且根据使用的spark版本对官方源码进行预编译

3.安装spark

4.更改/opt/module/hive/conf/hive-site.xml和/opt/module/hive/conf/spark-default.conf

5.上传纯净版spark的jar包到hdfs的指定目录上

6.启动hadoop,启动hive(无需额外启动spark)

遇到问题:datanode是镜像复制出的,导致其uuid一致,造成了同时只能存活同一个节点且不停切换,造成了hive on spark 无法加载jar包和搜索数据的问题(显示can not obtain block),原因是节点的不同切换导致无法访问hdfs的数据副本(但使用hdfs的webui仍能正常下载数据)


Hive:初见
http://example.com/2024/10/09/数仓开发/Hive/Hive-初始配置/
Author
lpy
Posted on
October 9, 2024
Licensed under