使用了一段时间的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成功。
转载自:http://www.54chen.com/_linux_/hive-hadoop-namenode-problem.html

本文介绍在Hive和Hadoop环境下迁移Namenode的具体步骤。遇到的问题是在Hive中运行查询时仍指向旧的Namenode地址。解决办法包括复制打包老Namenode及其HDFS目录、更新配置文件、修改MySQL中的metadata等。
6677

被折叠的 条评论
为什么被折叠?



