hive客户端升级

文章来自:http://blog.csdn.net/lili72

背景: 旧版本的hive 在用的过程中,经常出现一些bug,无法解决,比如无法找到表们无法找到分区等。由于并发比较大,常见如下异常:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘hive.DELETEME1414791576856‘ doesn‘t exist

FAILED: SemanticException [Error 10006]: Line 1:48 Partition not found ‘‘2014-10-26‘‘

FAILED: SemanticException Line 1:99 Exception while processing ‘ST_USER_INFO‘: Unable to fetch table ST_USER_INFO

FAILED: Error in metadata: MetaException(message:java.lang.RuntimeException: commitTransaction was called but openTransactionCalls = 0. This probably indicates that there are unbalanced calls to openTransaction/commitTransaction)

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

(增大hive对mysql的最大连接数,还是效果不明显。SHOW VARIABLES LIKE ‘max_conn%‘;SET GLOBAL max_connections=2000;)

hive  升级

0  下载最新 hive-0.14.0

http://apache.fayea.com/hive/hive-0.14.0/

上传到/home/bigdata/

解压文件 tar -xvf  apache-hive-0.14.0-bin.tar.gz

重命名  mv  apache-hive-0.14.0-bin hive0140

1  先停止所有对hive的操作,hiveserver 和客户端关闭

2  对mysql数据库 进行备份

mysqldump -h 192.168.119.129 -P 3306 -uroot -p123 hive >hive-20150120-0.9.0.sql

3  修改环境变量

修改环境变量$HIVE_HOME

切换root

vi  /etc/profile

source /etc/profile

#export HIVE_HOME=/home/bigdata/hive

export HIVE_HOME=/home/bigdata/hive0140

4 执行升级mysql脚本

cd  /home/bigdata/hive0140/scripts/metastore/upgrade/mysql

首先查看该目录的README文件

因为我们已经是0.9.0的版本了,所以只需执行 0.9----0.14

mysql -h 192.168.119.129 -P 3306 -uroot -p123 hive< upgrade-0.9.0-to-0.10.0.mysql.sql

mysql -h 192.168.119.129 -P 3306 -uroot -p123 hive< upgrade-0.10.0-to-0.11.0.mysql.sql

mysql -h 192.168.119.129 -P 3306 -uroot -p123 hive< upgrade-0.11.0-to-0.12.0.mysql.sql

mysql -h 192.168.119.129 -P 3306 -uroot -p123 hive< upgrade-0.12.0-to-0.13.0.mysql.sql

mysql -h 192.168.119.129 -P 3306 -uroot -p123 hive< upgrade-0.13.0-to-0.14.0.mysql.sql

5  将mysql的驱动拷贝到lib目录下。把旧的lib 复制过去

把以前的hive客户端中的jdbcconnect复制到新的hive0140的lib中

cp mysql-connector-java-5.1.23-bin.jar ../../hive0140/lib/

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

7  升级完成。可以进行hive操作了。再重新开启客户端和server。

8  进入hadoop 用户  执行 命令 hive

查询数据没有问题:

但是当建表的时候发现:报错

FAILED: Error in metadata: javax.jdo.JDODataStoreException: Insert of object "[email protected]b" using statement "INSERT INTO `SDS` (`SD_ID`,`IS_COMPRESSED`,`OUTPUT_FORMAT`,`INPUT_FORMAT`,`NUM_BUCKETS`,`SERDE_ID`,`CD_ID`,`LOCATION`) VALUES (?,?,?,?,?,?,?,?)" failed : Field ‘IS_STOREDASSUBDIRECTORIES‘ doesn‘t have a default value

NestedThrowables:

java.sql.SQLException: Field ‘IS_STOREDASSUBDIRECTORIES‘ doesn‘t have a default value

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

SDS表的字段IS_STOREDASSUBDIRECTORIES 没有默认值;

修改设置一个默认值为0

先查询以前的值为

select IS_STOREDASSUBDIRECTORIES from  SDS  limit 10;

alter table SDS alter column IS_STOREDASSUBDIRECTORIES set default  0;

就成功解决插入数据的问题。

经过一段时间的试运行,不再出现以上的bug了。

时间: 2024-10-13 04:37:21

hive客户端升级的相关文章

客户端升级系统升级策略

我们项目组的客户端多大20余种,两年前为这些客户端写了一个升级模块,但是不够强悍.去年年中重新做了一个客户端灰度升级系统,一个独立的系统专门为客户端升级提供服务.现在分享下这个新系统的升级策略. 发布版 每种类型的客户端有且仅有一个对外发布版.版本号比发布版低的客户端都要升级到发布版.在客户端层面的升级形式有两种,登录升级和使用中升级. 1.登录升级 登录前提示升级,一般是比较重要的升级方式才会配成登录升级.用户当然可以取消升级,但是如果旧版本配的是强制升级,那么登录升级就不会展示"取消&quo

Hive元数据升级

如果我们Hadoop的core-site.xml文件中的fs.defaultFS配置由于某种原因需要修改,比如Hadoop升级.重新命名fs.defaultFS等.也就是由hdfs://old 变成hdfs://new,如下: <property> <name>fs.defaultFS</name> <value>hdfs://old</value> </property> 变成 <property> <name&g

【HANA系列】SAP HANA STUDIO客户端升级更新

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA STUDIO客户端升级更新 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 HANA 客户端和ECC客户端是一样的 如果要升级,就要去官网下载最新的版本 然后安装会提示是否升级 还以为会自动更新,其实不是 还有其他问题的话,欢迎关注公众号 原文地址:https://www.cnblo

自动化升级工具之客户端升级工具之数据库升级操作

目前客户端工具还是一个以Winform的窗口程序,文件结构如图: 图1 1.两个config的配置文件,分别一个是连接本地开发环境下在数据库,另外一个基本参数配置文件 A.DB.config为数据库连接内容如下: <DBConfig name="dbtestDBByMP" connectionString="server=(local);database=dbtest;uid=sa;pwd=123456;" providerName="System.

zabbix客户端升级

本公司服务器的zabbix客户端的版本原为1.8.3,在版本已经更新换代的情况下,老版本中,一些功能不能使用,如:自动发现功能.因此,计划在服务器上进行zabbix-agent升级,升级过程如下: 先描述原先的zabbix_agent的配置文件: 配置文件路径:/etc/zabbix/zabbix_agentd.conf 启动脚本路径:/usr/sbin/zabbix_agentd 启动命令:/etc/init.d/zabbix-agnet 以上文件的路径和内容没有改动,除了/etc/init.

EMR的hive包升级和gateway启动hs2

升级: mkdir /opt/apps/hivecd /opt/apps/hivewget http://emr.oss-cn-hangzhou.aliyuncs.com/ecm-repo/hive/opay/apache-hive-2.3.5-bin.tar.gzmd5sum apache-hive-2.3.5-bin.tar.gz229e32d99d8d288bdece8c897d6cc625 apache-hive-2.3.5-bin.tar.gztar xvf apache-hive-2

使用hive客户端java api读写hive集群上的信息

上文介绍了hdfs集群信息的读取方式,本文说hive 1.先解决依赖 <properties> <hive.version>1.2.1</hive.version> </properties> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>${hive

大数据环境搭建(2)- hive客户端安装

一.简介 hive是基于hadoop的一种数据仓库工具,可以将结构化的文件映射成为数据库的一张表,并提供简单sql查询功能,底层实现是转化为MapReduce任务计算. 二.安装 (1)下载 从cdh下载页下载 http://archive.cloudera.com/cdh5/cdh/5/ hive-1.1.0-cdh5.11.1.tar.gz 下载好后上传至服务器的/home/hadoop/software,并解压至/home/hadoop/app目录下 mv hive-1.1.0-cdh5.

HIVE客户端启动缓慢处理步骤

1.首先打开 hive DEBUG日志,执行以下命令,直接将日志输出到控制台 hive --hiveconf hive.root.logger=DEBUG,console 2.我们知道HIVE启动过程中,首先会先连接hive metastore,然后在连接HDFS namenode,我们可以根据日志时间点来判断和排查哪一步执行时间过长导致. 3.如果是hive metastore 连接过慢,我们可以登录到metastore机器上,通过执行如下命令来确认现在metastore的连接数 netsta