Apache hive 对接达梦数据库

櫰木2年前技术文章1512

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


相关文章

Hive与HBase整合文档

Hive与HBase整合文档

1.Hive整合HBase配置1.拷贝hbase 相关jar包将hbase 相关jar包拷贝到hive lib目录下hbase-client-0.98.13-hadoop2.jar hbase-co...

CDP实操--集群扩容

CDP实操--集群扩容

一、前提准备工作1.确保OS的yum源可以正常使用,通过yum repolist命令可以查看到匹配的OS的所有包2.确保Cloudera Manager的yum源运行正常3.hosts文件配置,需要将...

MySQL gh-ost DDL 变更工具

MySQL gh-ost DDL 变更工具

1. MDL 锁介绍MySQL 的锁可以分为四类:MDL 锁、表锁、行锁、GAP 锁,其中除了 MDL 锁是在 Server 层加的之外,其它三种都是在 InnoDB 层加的。下面主要介绍一下:MDL...

hive执行count和spark执行count结果不一致

hive执行count和spark执行count结果不一致

【组件版本】hive on mr、spark【问题现象】hive 执行count语句,结果条数为0,spark执行count语句能正常显示count数【详细描述】hive 执行count语句:显示co...

kafka优选副本切换办法

      1. 以topic test为例,假设test的分布为以下状态。Topic:test PartitionCount:3 Replicati...

trino组件对接alluxio(三)

trino组件对接alluxio(三)

本文是基于已经部署了trino和alluxio的基础上,进行的trino与alluxio的组件对接,alluxio已经开启了高可用模式。安装部署1、增加alluxio配置在core-site.xml和...

发表评论    

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