集群迁移
主要是要找到两个集群中active状态的namenode
集群迁移不同于服务器之间的文件发送,在hdfs中,文件是以块的形式,只可以通过namenode访问文件,所以迁移时需要通过hadoop命令
主要命令是distcp
distcp有很多参数,如果是第一次备份,也就是目标集群中没有数据,第一次可以用overwrite,如果是定期备份,可以使用diff,如果是目标文件追加数据,可以用append
迁移命令
hadoop distcp -overwrite hdfs://host1:50070/apps/hive/warehouse hdfs://host2:50070/apps/hive/warehouse
错位信息:
地址端口有问题
查看两个机器的hosts
cat /etc/hosts
发现均配置了ip映射,由于同处一个内网环境,ip和端口互通
50070是namenode的http服务端口
8020是namenode的内部通信端口
修改迁移命令,再次提交
hadoop distcp -overwrite hdfs://host1:8020/apps/hive/warehouse hdfs://host2:8020/apps/hive/warehouse
控制台阻塞
由于cpu资源占用,任务提交后阻塞