hive cli 启动缓慢问题

hive-0.13.1启动缓慢的原因

发现时间主要消耗在下面3个地方:

1. hadoopjar的时候要把相关的jar包上传到hdfs中(这里大概消耗5s,hive0.11一样,这个地方不太好优化)

2. 在每次hive cli启动的时候,初始化HiveMetaStore时,在init时,会调用下面3个方法,创建default db,role ,admin。

具体代码:

synchronized(HMSHandler.class) {

  createDefaultDB();

  createDefaultRoles();

  addAdminUsers();

}synchronized(HMSHandler.class) {

  createDefaultDB();

  createDefaultRoles();

  addAdminUsers();

}

生成环境这些都是有的,不需要每次都创建,这里可以直接注释掉.

3. 还有5s是在加载.hiverc的文件时造成的。

在做Create function的analyze时,会通过FunctionSemanticAnalyzer类的addEntities方法操作元数据。在hive0.11中是没有这个方法的。

 

关于这个方法,看说明是和function的权限有关系的,我们目前不需要。

Add writeentities to the semantic analyzer to restrict function creation to priviligedusers.

 

在测试环境直接注释掉没有发现什么影响。

具体实现放在后面分析。

 

解决方案:

14/09/0116:06:12 INFO Configuration.deprecation: mapred.reduce.tasks is deprecated.Instead, use mapreduce.job.reduces

14/09/0116:06:12 INFO Configuration.deprecation: mapred.min.split.size is deprecated.Instead, use mapreduce.input.fileinputformat.split.minsize

14/09/0116:06:12 INFO Configuration.deprecation:mapred.reduce.tasks.speculative.execution is deprecated. Instead, usemapreduce.reduce.speculative

14/09/0116:06:12 INFO Configuration.deprecation: mapred.min.split.size.per.node isdeprecated. Instead, use mapreduce.input.fileinputformat.split.minsize.per.node

14/09/0116:06:12 INFO Configuration.deprecation: mapred.input.dir.recursive isdeprecated. Instead, use mapreduce.input.fileinputformat.input.dir.recursive

14/09/0116:06:12 INFO Configuration.deprecation: mapred.min.split.size.per.rack isdeprecated. Instead, use mapreduce.input.fileinputformat.split.minsize.per.rack

14/09/0116:06:12 INFO Configuration.deprecation: mapred.max.split.size is deprecated.Instead, use mapreduce.input.fileinputformat.split.maxsize

14/09/0116:06:12 INFO Configuration.deprecation:mapred.committer.job.setup.cleanup.needed is deprecated. Instead, usemapreduce.job.committer.setup.cleanup.needed

 

Logginginitialized using configuration infile:/usr/local/hive-0.13.0/conf/hive-log4j.properties

hive>

上面的一些启动信息就是:

Mysql的初始化信息,

需要设置mysql服务自动启动

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值