hive升级0.13(0.11.0 -> 0.13.0)

注意事项: 升级之前要核实当前的hadoop版本是否和升级之后的hive版本兼容。

具体的升级步骤如下:

1.关闭当前hive正在执行的进程,service hive-server等

关闭掉之前开启的hive连接服务,要是没开就不用关;打开的客户端也要关掉。

2.备份mysql数据库hive库

mysqldump -uhadoop -h 192.168.10.110  -phive hive > schem_hive-0.11.0.sql

这个用于升级失败之后的回滚。

3.解压0.13.0的安装包,

进入目录: ${HIVE_HOME}/scripts/metastore/upgrade/mysql/

下面有如下的脚本:

-rw-r--r-- 1 hadoop hadoop  141 3月   5 09:19 upgrade-0.10.0-to-0.11.0.mysql.sql
-rw-r--r-- 1 hadoop hadoop  311 3月   5 09:19 upgrade-0.11.0-to-0.12.0.mysql.sql
-rw-r--r-- 1 hadoop hadoop  418 4月   8 23:42 upgrade-0.12.0-to-0.13.0.mysql.sql
-rw-r--r-- 1 hadoop hadoop  271 3月   5 09:19 upgrade-0.5.0-to-0.6.0.mysql.sql
-rw-r--r-- 1 hadoop hadoop  230 3月   5 09:19 upgrade-0.6.0-to-0.7.0.mysql.sql
-rw-r--r-- 1 hadoop hadoop  201 3月   5 09:19 upgrade-0.7.0-to-0.8.0.mysql.sql
-rw-r--r-- 1 hadoop hadoop  137 3月   5 09:19 upgrade-0.8.0-to-0.9.0.mysql.sql
-rw-r--r-- 1 hadoop hadoop  235 3月   5 09:19 upgrade-0.9.0-to-0.10.0.mysql.sql

执行脚本:

mysql -uhadoop -h 192.168.10.110  -phive hive <upgrade-0.11.0-to-0.12.0.mysql.sql

此时数据库的结构只适应0.12系列的,可以选择做个备份:

mysqldump -uhadoop -h 192.168.10.110 -phive hive > schem_hive-0.12.0.sql

下面再执行:

mysql -uhadoop -h 192.168.10.110  -phive hive <upgrade-0.12.0-to-0.13.0.mysql.sql


每个脚本执行后 都可以做个相应schem的备份。

这一步骤是非常重要的,要是执行失败,会出现

Failed with exception null  

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

等异常,导致之前版本已有的数据无法正常操作

注意: 执行上述脚本的时候 如出现错误,必须需要手工去执行,升级的时候 就是因为忽略的错误,导致以前的数据无法操作,也会报上面同样的错误!!!

然后查看sql脚本 手工一步一步的执行procedure和sql之后 ,系统就正常了。

5.拷贝 mysql connector jar包到 ${HIVE_HOME}/lib 目录,也可以直接从之前版本的jar直接拷贝过来。修改需要更改的配置文件,这里就不多说了

到此,hive就完成升级了。

6.开启hiveserver

 bin/hive --service hiveserver  &

7.hwi

之前版本里面都有自带的hwi war包,唯独0.13版本的lib里没有hive-hwi-0.13.0.war,这个问题纠结了好久,网上也查不到资料。

解决办法,下载0.13的源码,到hwi包里找到web目录,把该目录手动打包.zip,然后改成war包,copy到lib目录下,启动hwi即可,

如有遇到

Unable to find a javac compiler;

 com.sun.tools.javac.Main is not on the classpath.

 Perhaps JAVA_HOME does not point to the JDK.

cp  /opt/jdk/lib/tools.jar /usr/lib/hive/lib/,具体为什么不太清楚,估计哪里配置有问题,还忘指点。


参考:http://blog.csdn.net/lxpbs8851/article/details/11064767

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值