目录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.HiveMetaStore: 0: 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