Apache hive 对接达梦数据库

櫰木2年前技术文章1996

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进行连接验证


相关文章

Kubernetes源码解读(二)--DeltaFIFO源码分析

Kubernetes源码解读(二)--DeltaFIFO源码分析

1、Queue接口与DeltaFIFO的实现1.1、Queue和Store接口接口和结构体先相关代码类似 workqueue 里的队列概念,这里也有一个队列,Queue 接口定义在 client-go...

HDP部署Tez UI

首先部署tomcat在官网下载apache-tomcat-9.0.22.tar.gz[root@hdp02 opt]# wget https://archive.apache.org/dist/tom...

CDP实操--配置HBase的Ranger策略验证(三)

CDP实操--配置HBase的Ranger策略验证(三)

1.1HBase的Ranger策略验证确保HBase的配置页面里已经勾选了“Ranger Service”在terminal中,kerberos登录到hbase,用如下命令登录hbase shellc...

HDFS业务类型与相关架构优化措施

低延迟业务计算密集型业务,低延迟业务,这一类业务通常是对大量NameNode文件目录访问为主的(权限判断,文件存在性,文件信息查询等对NameNode元数据操作为主的)。因此需要针对NameNode的...

MySQL 8.0 Clone 备份恢复演练

前言上一篇文章中,我们介绍了使用 Clone 插件进行备份,相关的恢复流程将在本篇文章介绍。MySQL 8.0 Clone Plugin 详解恢复增量数据的方法,使用的是伪装为 relay log 通...

MongoDB的索引(四)

九、Text Indexes示例集合> db.ttlsa_com.find() { "_id" : ObjectId("5d2f35f6c1aace30b3ce9904"), "song" :...

发表评论    

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