HiveService2启动源码查看

本文记录了HiveServer2启动缓慢的问题,详细分析了启动过程中涉及的元数据加载,特别是从HiveMetaStore获取大量数据库和表的过程。通过源码查看,发现初始化阶段创建物化视图导致延迟。解决方案包括注释掉物化视图的初始化代码,以减少启动时间。
摘要由CSDN通过智能技术生成

目录1、问题2、解决(这里先放着,只作为记录)3、通过源码和日志排查过程———————————————————————————-1、问题:

近期公司的HiveService2启动有点慢,需要10分钟.

2、解决(这里先放着,只作为记录):

原因:HiveServer2在启动的时候,需要在hivemetastore中建立一个物化视图,这就是cache.每次查询的时候,查询语句先要通过hivemetastore中的物化视图,找到数据库和表.

初步的解决办法: 
注释 HiveServer2.java中的167行 
HiveMaterializedViewsRegistry.get().init(sessionHive);

3、通过源码和日志排查过程:

1、使用debug启动HiveService2,(./bin/hive –service hiveserver2 –hiveconf hive.root.logger=DEBUG,console)

2、查看日志发现,HiveService2初始化时,需要读取hive中的数据库和表,部分日志如下:

2018-07-23T16:40:18,216  INFO [main] metastore.HiveMetaStore0: get_multi_table : db=tempenterprise tbls=edge_class_courtannouncement_defendant_2_courtannouncement,mid_e_company_investing,mid_e_company_investor,mid_e_courtaannounce_plaintiff,mid_e_courtannouncement_defendant,mid_e_courtannouncement_other,mid_e_lawinstitueannouncement_plaintiff,mid_e_lawinstituteannouncement_defendant,mid_e_lawinstituteannouncement_other,mid_e_lawsuit_defendant,mid_e_lawsuit_demandant,mid_e_lawsuit_other,mid_e_legal_representative,mid_e_personal_investing,mid_e_personal_investor,mid_e_pledge,mid_e_staff,raw_company,raw_courtannouncement,raw_investor,raw_lawinstituteannouncement,raw_lawsuit,raw_natural_person,raw_pledge,raw_pledge_info,raw_staff,v_idmapping_company,v_idmapping_courtannouncement,v_idmapping_lawinstituteannouncement,v_idmapping_lawsuit,v_idmapping_natural_person,v_idmapping_pledge2018-07-23T16:40

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值