hive升级步骤详解(hive-0.7.1到hive-0.11.0)

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

具体的升级步骤如下:

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

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

2.备份mysql数据库hive库

mysqldump -uroot -phive hive > schem_hive-0.7.1.sql

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

3.修改环境变量,主要是HIVE_HOME

4.解压0.11.0的安装包,

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

下面有如下的脚本:

-rw-rw-r-- 1 hadoop hadoop   271 May 12 00:06 upgrade-0.5.0-to-0.6.0.mysql.sql
-rw-rw-r-- 1 hadoop hadoop   230 May 12 00:06 upgrade-0.6.0-to-0.7.0.mysql.sql
-rw-rw-r-- 1 hadoop hadoop   201 May 12 00:06 upgrade-0.7.0-to-0.8.0.mysql.sql
-rw-rw-r-- 1 hadoop hadoop   137 May 12 00:06 upgrade-0.8.0-to-0.9.0.mysql.sql
-rw-rw-r-- 1 hadoop hadoop   235 May 12 00:06 upgrade-0.9.0-to-0.10.0.mysql.sql

执行脚本:

mysql -uhive -phive hive <upgrade-0.7.0-to-0.8.0.mysql.sql

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

mysqldump -uroot -phive hive > schem_hive-0.8.0.sql

下面依次执行:

mysql -uhive -phive hive <upgrade-0.8.0-to-0.9.0.mysql.sql

mysql -uhive -phive hive <upgrade-0.9.0-to-0.10.0.mysql.sql

其中0.10.0 和 0.11.0元数据库的结构一样。

每个脚本执行后 都可以做个相应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

 nohub ${HIVE_HOME}/bin/hive --service hiveserver -p 10000 &

 

 原文地址: http://blog.csdn.net/lxpbs8851/article/details/11064767

 

 

 

转载请注明原文地址,违法必究

 

你可能感兴趣的:(hive升级步骤详解(hive-0.7.1到hive-0.11.0))