分享

hive-0.13.1启动缓慢的原因总结

desehawk 发表于 2014-11-12 13:15:09 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 9626

发现时间主要消耗在下面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.

在测试环境直接注释掉没有发现什么影响。
具体实现放在后面分析。


已有(1)人评论

跳转到指定楼层
desehawk 发表于 2014-11-12 13:15:55


解决方案:


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服务自动启动

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条