Apache hive 对接达梦数据库

櫰木2年前技术文章1765

1、背景

由于国产化需求,客户需要使用dm数据库作为hive的元数据库。需要进行对应适配

2、配置

本次使用的环境

hive 3.1.3
hadoop 3.2.4
ranger 2.3.0
Spark  3.2.2

下载dm的jdbc 包放置在HIVE_HOME/lib和/usr/share/java下

下载地址

https://mvnrepository.com/artifact/com.dameng/DmJdbcDriver18

image.png

image.png

注释以下hive-site.xml配置

<property>
    <name>datanucleus.schema.autoCreateAll</name>
    <value>true</value>
 </property>
<property>
    <name>hive.txn.manager</name>
    <value>org.apache.hadoop.hive.ql.lockmgr.DbTxnManager</value>
</property>

准备hive的dm数据库

create tablespace hive_meta datafile '/dm8/data/DAMENG/hive_meta.dbf' size 100 autoextend on next 1 maxsize 2048;
create user hive identified by "hive12345" default tablespace hive_meta;
grant RESOURCE to hive;

对hive-site.xml进行配置

准备dm的数据源连接

在$HIVE_HOME/conf下添加此配置文件

vim dm_svc.conf
IME_ZONE=(480)
LANGUAGE=(cn)
HIVE=(172.16.104.165:5236)
[HIVE]
KEYWORDS=(COMMENT,comment)

修改hive-site.xml的配置参数

 <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:dm://HIVE?dmsvcconf=/opt/hive/conf/dm_svc.conf</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>dm.jdbc.driver.DmDriver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>hive</value>
    </property>

    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>hdd123456</value>
    </property>

其中jdbc:dm://HIVE?dmsvcconf=/opt/hive/conf/dm_svc.conf 中的HIVE 指的是dm_svc.conf中HIVE=(172.16.104.165:5236)

进行元数据初始化

cd $HIVE_HOME
./bin/schematool -dbType dm -initSchema

出现如下提示,即元数据库初始化完成

image.png

3、启动hive

cd $HIVE_HOME
#开启debug。启动metastore
sudo -u hive /opt/hive/bin/hive --service metastore --hiveconf hive.root.logger=DEBUG,console
#启动hive server2
sudo -u hive /opt/hive/bin/hive --service hiveserver2

通过beeline进行连接验证


相关文章

hbase开启thrift进程(ThriftServer服务)

hbase开启thrift进程(ThriftServer服务)

简介:Hbase是目前比较火的列存储数据库,由于Hbase是用Java写的,因此它原生地提供了Java接口,对非Java程序人员,它提供了thrift接口服务器。1.启动thrift-server要使...

11g单实例adg部署

一、环境规划搭建adg需要备端完成rdbms软件安装这一步和监听配置,不需要安装数据库。注意:db_unique_name 主备库不能相同db_name主备库需保持一致主备库DB版本需保持一致信息项主...

Linux_ACL权限、mask值

acl权限在什么情况下使用:当要给一个用户与文件的属主、属组、其他人权限都不同的时候使用。也就是说,这个用户对应于这个文件不属于三个身份中的任何一种,是属于第四种身份,那么我们就需要使用acl权限去给...

开源大数据集群部署(十四)Ranger集成Hbase

开源大数据集群部署(十四)Ranger集成Hbase

在hd1.dtstack.com主机上执行在hmaster和back master上进行安装和执行Ø 解压ranger-2.3.0-hbase-plugin[root@hd1.dtstack.com ...

ACOS统一监控之java应用断诊

ACOS统一监控之java应用断诊

一、前言对于一些使用Java语言搭建的应用架构,java的应用诊断可以帮助开发人员快速发现和解决应用程序中的问题,提高应用程序的性能和稳定性。以下是常用Java应用诊断方法:堆转储分析:使用工具如MA...

PG的pathman分区表工具

一、概述在PG<=10的版本中,都是通过表继承的方式进行分区的,必须使用CHECK CONSTRAINT将每个分区创建为子表 。PostgreSQL 10提供了本机分区,它与经典方法没有什么不同...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。