hive的升级(0.8.0到0.11.0)

来源:互联网 发布:js获取二维数组键值 编辑:程序博客网 时间:2024/04/28 00:39

      hive-0.11.0出来后,得知有将row_number进行封装,对于我这等不懂java的人士来说,是莫大的幸福啊!毫不犹豫的将0.8.0抛弃了!

下面是具体升级步骤:

1,关闭当前hive正在执行的进程,service hive-server以及相应的客户端。

2,不管做哪方面的升级,首先肯定是将当前的进行备份

备份 hive-0.8.0

mv hive-0.8.0 hive-0.8.0_bak

备份元数据库(mysql的)

mysqldump -h ip -P port -uusername -ppassword DB >hive-0.8.0.sql

3,将下载好的hive-0.11.0.tar解压到相应的目录(/opt这个是我的目录)

4,修改环境变量$HIVE_HOME

5,进入/opt/hive-0.11.0/scripts/metastore/upgrade/  可以看到这个版本多了oracle与postgres的支持,我们果断选择自已用到的mysql

6,进入mysql后,可以看到以下几个文件

upgrade-0.5.0-to-0.6.0.mysql.sql
upgrade-0.6.0-to-0.7.0.mysql.sql
upgrade-0.7.0-to-0.8.0.mysql.sql
upgrade-0.8.0-to-0.9.0.mysql.sql
upgrade-0.9.0-to-0.10.0.mysql.sql

因为我们已经是0.8.0的版本了,所以只需执行最后两个文件就ok

mysql -h ip -P port -uusername -ppassword DB < upgrade-0.8.0-to-0.9.0.mysql.sql

如果有报错就自己再手动执行一次,如果没有也建议执行后备份一下。

执行完后再执行upgrade-0.9.0-to-0.10.0.mysql.sql

备注:因为我执行的时候是没有报错,有朋友说如果这里没有操作好,很有可能会导致无法操作之前数据,所以慎重。

具体报错信息:

Failed with exception null  

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

7,将mysql的驱动拷贝到lib目录下。

8,将之前旧版本配置好的hive-site.xml,hive-env.xml与hive-log4j.properties放回现在版本的conf下。

9,升级完成。可以进行hive操作了。记得将原来停掉的server再重新开启


原创粉丝点击