目录
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