Apache hive 对接达梦数据库

櫰木2年前技术文章1864

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


相关文章

Ranger中Solr审计日志配置修改

Ranger中Solr审计日志配置修改

1、获取solr 中的rangeraudits的配置#查看其中的配置及 solrctl instancedir --list#获取配置 solrctl instancedir --get rang...

MySQL系统空间上涨

MySQL系统空间上涨

系统空间上涨一、介绍MySQL 的 ibdata1 是一个用来构建 innodb 系统表空间的文件。该文件包含了 undo ,还包含在用户在系统表空间创建的表信息和索引数据。一般如果数据空间均为独立表...

MySQL运维实战(4.8) SQL_MODE之NO_ENGINE_SUBSTITUTION

开启NO_ENGINE_SUBSTITUTION,建表时如果指定的存储引擎不可用或不存在,SQL报错。否则会使用默认的存储引擎替换。如果不设置NO_ENGINE_SUBSTITUTION,建表时指定的...

大数据集群部署规划(五)规划HDFS容量

        HDFS DataNode以Block的形式,保存用户的文件和目录,同时在NameNode中生成一个文件...

Flume使用案例之实时读取目录到HDFS

目标:使用flume监听整个目录的文件分步实现:1. 创建配置文件flume-dir.conf#1 Agenta3.sources = r3a3.sinks = k3a3.channels = c3 ...

MySQL运维实战之ProxySQL(9.5)proxysql和MySQL Group Replication配合使用

如果后端MySQL使用了Group Replication,可通过配置mysql_group_replication_hostgroups表来实现高可用mysql_group_replication_...

发表评论    

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