代码改变世界

hive迁移hadoop namenode时遇到的问题

2013-03-14 17:33  java20130722  阅读(329)  评论(0)    收藏  举报

使用了一段时间的hive和hadoop,在迁移datanode时很容易,要迁移namenode,hive里就闹情绪了。更改namenode后,在hive中运行select 依旧指向之前的namenode地址。

要如何解决呢,具体操作如下:


1.复制打包老的namenode
2.复制打包老的namenode的hdfs目录
3.到新机器准备好:修改master的值 复制到各节点 修改hive的定义
4.hive这里使用了mysql来保存metadata


因为这些信息会被写死在hive的DBS和SBS表里,下面是关键的一步:
进入mysql,执行下面的sql,


update DBS set DB_LOCATION_URI=REPLACE(DB_LOCATION_URI,'old host','new host');
update SDS set LOCATION=REPLACE(LOCATION,'old host','new host');


启动,一切正常了!迁移hive namenode成功。