CDH hive metastore启动报错:Unknown column 'A0.SCHEMA_VERSION_V2' in 'field list'

新集群CDH版本,刚刚搭建起来,5个节点起了1个hive服务,另外5个节点又单独起了1个hive服务,一共2个hive服务。老哥对其中的一个hive进行了数据迁移((元数据库全部迁移),对hive数据库进行了替换,就这样,迁移完成没有问题。但是配置yarn参数时,需要对yarn进行重启,重启中涉及对hive的重启,完蛋,hive metastore 无法启动,报下面的错误:(ps:没有导过数据的那个hive就没有问题)

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'A0.SCHEMA_VERSION_V2' in 'field list'
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
 at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)

这个报错是说hive数据库里某个表缺一个字段???、

幸亏起了2个hive数据库啊,要不然第一个库的所有表都改过了,到哪里去哭?

比较了2个hive数据的VERSION表:

报错的mysql里hive库的VERSION表 

mysql> select * from VERSION
    -> ;
+--------+----------------+-----------------------------------+
| VER_ID | SCHEMA_VERSION | VERSION_COMMENT                   |
+--------+----------------+-----------------------------------+
|      1 | 2.0.0          | Set by MetaStore dip@198.3.100.61 |
+--------+----------------+-----------------------------------+

全新的mysql里hive库的VERSION表:

mysql> select * from VERSION;
+--------+----------------+----------------------------+-------------------+
| VER_ID | SCHEMA_VERSION | VERSION_COMMENT            | SCHEMA_VERSION_V2 |
+--------+----------------+----------------------------+-------------------+
|      1 | 1.1.0          | Hive release version 1.1.0 | 1.1.0-cdh5.12.0   |
+--------+----------------+----------------------------+-------------------+

比较一下,确实发现少了一个字段

在已有数据的hive元数据表VERSION中添加字段,并 补充 数据:

alter table VERSION add SCHEMA_VERSION_V2  varchar(255) not Null; 
update VERSION set SCHEMA_VERSION_V2 = 1.1.0-cdh5.12.0 where VER_ID=1;

 

重新启动,everything is ok !

  

posted @ 2018-11-21 16:52  bioamin  阅读(1613)  评论(0编辑  收藏  举报