首页 > 其他分享 >配置impala自动同步HMS元数据

配置impala自动同步HMS元数据

时间:2023-11-20 20:32:47浏览次数:27  
标签:inte 同步 sztcyl node04 hadoop hive HMS jdbc impala

由于Impala 的 Automatic Invalidate/Refresh Metadata的功能在CDH6.3版本才有的功能,通过以上两个升级,已经具备的该功能,下面是需要配置该功能


测试环境

1.CM和CDH版本为6.1.1(hive的版本升级到了CDH6.3.2-2.1.1)

2.操作系统版本为RedHat 7.6

3.impala3.4版本

操作步骤

进入CM界面 > Hive > 配置 > 搜索 启用数据库中的存储通知(英文界面搜索:Enable Stored Notifications in Database),并且勾选,注意一定要勾选,配置后面的配置不生效。数据库通知的保留时间默认为2天,意味着如果事件通知没有更新超过2天事件将会丢失

配置impala自动同步HMS元数据_hadoop

在 CM界面 > Hive > 配置 > 搜索 hive-site.xml 配置如下几处

配置impala自动同步HMS元数据_hive_02

hive-site.xml 的 Hive Metastore Server 高级配置代码段(安全阀)

<property>
<name>hive.metastore.notifications.add.thrift.objects</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.alter.notifications.basic</name>
<value>false</value>
</property>

如果你想在使用Spark和其他应用程序将数据插入现有表和分区时会生成事件,需要在hive-site.xml 的 Hive 服务高级配置代码段(安全阀)以及hive-site.xml 的 Hive 客户端高级配置代码段(安全阀)添加配置

配置impala自动同步HMS元数据_hadoop_03

<property>
<name>hive.metastore.dml.events</name>
<value>true</value>
</property>

保存上述配置,并重启Hive 是配置生效,可以在webui 界面确认参数是否生效

配置impala自动同步HMS元数据_hive_04

然后在CM > Impala > 配置 > 搜索 catalog 命令行参数 添加如下配置,注意前面为两个英文中划线符号。

配置impala自动同步HMS元数据_bc_05

--hms_event_polling_interval_s=2

该参数表示启用hms 滚动事件功能并以秒为单位设置轮询频率,建议该值小于5秒,参数默认值为0 ,表示不启用。配置该参数前需要确认hive-site.xml 的 Hive Metastore Server 高级配置代码段(安全阀)的配置已经生效,否则重启impala 时,Catalog Server 将无法正常启动。

验证配置是否生效可以在Catalog Server WebUI 界面中 /varz 下查看

配置impala自动同步HMS元数据_bc_06

功能验证

使用beeline 进入hive 中创建一个库,并查看

[root@sztcyl-inte-hadoop-node02 ~]# beeline
beeline> !connect jdbc:hive2://sztcyl-inte-hadoop-node04:10000/default
Connecting to jdbc:hive2://sztcyl-inte-hadoop-node04:10000/default
Enter username for jdbc:hive2://sztcyl-inte-hadoop-node04:10000/default: hive
Enter password for jdbc:hive2://sztcyl-inte-hadoop-node04:10000/default: ****
Connected to: Apache Hive (version 2.1.1-cdh6.3.2)
Driver: Hive JDBC (version 2.1.1-cdh6.3.2)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://sztcyl-inte-hadoop-node04:100> 
0: jdbc:hive2://sztcyl-inte-hadoop-node04:100/> show databases;
0: jdbc:hive2://sztcyl-inte-hadoop-node04:100/> create database ods_test;
0: jdbc:hive2://sztcyl-inte-hadoop-node04:100/> show databases;

配置impala自动同步HMS元数据_hive_07


在Impala 中查看,显示已及时更新

[root@sztcyl-inte-hadoop-node02 ~]# impala-shell -i sztcyl-inte-hadoop-node04 -l -u hive  --auth_creds_ok_in_clear
Starting Impala Shell using LDAP-based authentication
LDAP password for hive: 
Opened TCP connection to sztcyl-inte-hadoop-node04:21000
Connected to sztcyl-inte-hadoop-node04:21000
Server version: impalad version 3.4.1-RELEASE RELEASE (build eb1ed66fa435a722fa8c6a7c58ff53edc10c572e)
***********************************************************************************
Welcome to the Impala shell.
(Impala Shell v3.1.0-cdh6.1.1 (97215ce) built on Thu Feb  7 23:24:56 PST 2019)

To see live updates on a query's progress, run 'set LIVE_SUMMARY=1;'.
***********************************************************************************

LDAP authentication is enabled, but the connection to Impala is not secured by TLS.
ALL PASSWORDS WILL BE SENT IN THE CLEAR TO IMPALA.
[sztcyl-inte-hadoop-node04:21000] default> 
[sztcyl-inte-hadoop-node04:21000] default> 
[sztcyl-inte-hadoop-node04:21000] default> show databases;
Query: show databases
+------------------+----------------------------------------------+
| name             | comment                                      |
+------------------+----------------------------------------------+
| _impala_builtins | System database for Impala builtin functions |
| db_ods           |                                              |
| db_ods_test      |                                              |
| db_test          |                                              |
| dc_dev           |                                              |
| default          | Default Hive database                        |
| hive_test        |                                              |
| ods_test         |                                              |
| steven           |                                              |
| test             |                                              |
+------------------+----------------------------------------------+
Fetched 10 row(s) in 0.04s
[sztcyl-inte-hadoop-node04:21000] default>

配置impala自动同步HMS元数据_bc_08

create table测试

0: jdbc:hive2://sztcyl-inte-hadoop-node04:100/> use ods_test;
0: jdbc:hive2://sztcyl-inte-hadoop-node04:100/> create table test1(a string);
0: jdbc:hive2://sztcyl-inte-hadoop-node04:100/> create table test1(a string);
0: jdbc:hive2://sztcyl-inte-hadoop-node04:100/> show tables;

配置impala自动同步HMS元数据_hive_09

在impala 中查看

配置impala自动同步HMS元数据_hadoop_10

hive中drop表测试

配置impala自动同步HMS元数据_hadoop_11

0: jdbc:hive2://sztcyl-inte-hadoop-node04:100/> drop table test1;
0: jdbc:hive2://sztcyl-inte-hadoop-node04:100/> show tables;


在impala 中查看

配置impala自动同步HMS元数据_hadoop_12

[sztcyl-inte-hadoop-node04:21000] ods_test> show tables;
Query: show tables
+-------+
| name  |
+-------+
| test2 |
+-------+
Fetched 1 row(s) in 0.01s


另外HMS 支持表单独禁用impala 自动刷新元数据功能,但是impala 中不支持database 的单独禁用该功能

如果 'impala.disableHmsSync'='true',表示事件将被忽略,并且不会与HMS同步。

如果设置 'impala.disableHmsSync'='false' 或者 impala.disableHmsSync 未设置,则启用与HMS的自动同步,- -hms_event_polling_interval_s 全局标志设置为非零。



文档总结

在日常使用如Hive和Spark之类的工具来处理Hive表中的原始数据时,会生成新的HMS元数据(数据库、表、分区)和文件系统元数据(现有分区/表中的新文件)。在以前的Impala版本中,为了获取最新元数据信息,Impala需要手动执行INVALIDATE 或者 REFRESH 命令。随着impala 功能的不断完善,impala 的元数据同步问题终于在impala3.4得到有效的解决,


标签:inte,同步,sztcyl,node04,hadoop,hive,HMS,jdbc,impala
From: https://blog.51cto.com/wang/8491368

相关文章

  • Ftrans自动同步软件:解决企业级数据同步的烦恼
    随着数字经济的发展,企业数字化的办公场景越来越复杂,其中一个急需解决的问题就是企业不同服务器之间的文件自动同步的需求。然而,目前市场上的同步软件通常有很多的缺点,让用户感到困扰。1、数据安全:在同步数据的过程中,如果同步软件的安全性不足,就可能导致企业的敏感信息被泄露。这......
  • Princeton Algorithms, Part I week3 Quick Sort
    QuickSort今天学习quicksort,quicksort的基本思想是有一个数组,先shuffle以后,保证数组的item位置是均匀分布的,选择一个item然后,把所有比这个item大的放在item右边,所有比这个item小的放在左右,然后递归的进行这个操作,如下图所示 这里面的partition部分如何实现呢?首先定义两个指......
  • Canal+Kafka实现MySQL与Redis数据同步(二)
    Canal+Kafka实现MySQL与Redis数据同步(二)创建MQ消费者进行同步在application.yml配置文件加上kafka的配置信息:spring:kafka:#Kafka服务地址bootstrap-servers:127.0.0.1:9092consumer:#指定一个默认的组名group-id:consumer-group1......
  • Mysql解决主从慢同步问题(下)
    Mysql解决主从慢同步问题(下)原创  https://cloud.tencent.com/developer/article/1836131 三.解决办法参数关闭binlog日志可以减轻从库的负载配置文件添加如下,将不缓冲直接写入,从而加速性能sync_binlog=0innodb_flushloginnodb_flush_log_at_trx_commi=0......
  • 基于物理层网络编码的相位同步算法matlab仿真
    1.算法运行效果图预览   2.算法运行软件版本matlab2022a 3.算法理论概述       基于物理层网络编码的相位同步算法是一种利用物理层网络编码技术来实现相位同步的算法。这种算法的原理是将两个或多个相位不同的信号进行叠加,产生一个叠加信号,然后通过分析叠加......
  • 分享,GPS北斗卫星同步时钟服务器具体原理是什么?
    分享,GPS北斗卫星同步时钟服务器具体原理是什么?分享,GPS北斗卫星同步时钟服务器具体原理是什么?京准电子科技官微——ahjzsz时间同步的原理和技术1、有关时间的一些基本概念: 时间与频率之间互为倒数关系,两者密不可分,时间标准的基础是频率标准,由晶体振荡器决定时间的精度。 4......
  • 花 200 元测试 1300 个实时数据同步任务
    背景对于将数据作为重要生产资料的公司来说,超大规模的数据迁移同步系统(1k、5k、10k条同步任务)是刚需。本文以此为出发点,介绍近期CloudCanal所做的一个容量测试:在单个CloudCanal集群上创建1300实时任务,验证系统是否健康。这个健康度主要包括同步任务是否运行正常、页......
  • Kafka 集群如何实现数据同步?
    哈喽大家好,我是咸鱼最近这段时间比较忙,将近一周没更新文章,再不更新我那为数不多的粉丝量就要库库往下掉了T﹏T刚好最近在学Kafka,于是决定写篇跟Kafka相关的文章(文中有不对的地方欢迎大家指出)考虑到有些小伙伴可能是第一次接触Kafka,所以先简单介绍一下什么是Kafka吧!Kafka......
  • 如何快速将钉钉员工信息同步到飞书
    当企业内部在使用钉钉跟飞书时,那么当钉钉员工信息发生更改时,我们应该如何将信息快速同步到飞书上呢,接下来我们借助RestCloud AppLink平台进行演示。第一步:获得钉钉以及飞书认证授权钉钉接入采用自建应用的方式,首先进入钉钉开发平台:++https://open-dev.dingtalk.com/++登录后,在应用......
  • 如何快速将钉钉员工信息同步到飞书
    当企业内部在使用钉钉跟飞书时,那么当钉钉员工信息发生更改时,我们应该如何将信息快速同步到飞书上呢,接下来我们借助RestCloudAppLink平台进行演示。第一步:获得钉钉以及飞书认证授权钉钉授权钉钉接入采用自建应用的方式,首先进入钉钉开发平台:https://open-dev.dingtalk.com/登......