进行跨集群的数据迁移出现namenode切换,导致数据异常

因为有时候需要定时进行跨集群的数据迁移,所以需要进行跨集群传数据。这里采用distcp 指令进行传数据。但是这个指令只能指定已经活跃的NAMENODE。当出现主节点切换后会出现错误。所以采用先进行判断,后续进行传数据的操作。

#旧集群

active_node=''
NameNode1_new='192.168.0.1'
NameNode2_new='192.168.0.2'
if hadoop fs -test -e hdfs://${NameNode1_new}:8020/  ; then
active_node=$NameNode1_new
elif hadoop fs -test -e hdfs://${NameNode2_new}:8020/  ; then
active_node=$NameNode2_new
fi


#输出hadoop现有执行任务的节点
echo "Active Dev Name node : $active_node"

#新集群
active_node=''
NameNode1_new='192.168.0.3'
NameNode2_new='192.168.0.4'
if hadoop fs -test -e hdfs://${NameNode1_new}:8020/  ; then
active_node=$NameNode1_new
elif hadoop fs -test -e hdfs://${NameNode2_new}:8020/  ; then
active_node=$NameNode2_new
fi

#输出hadoop现有执行任务的节点
echo "Active Dev Name node : $active_node"


hadoop distcp -overwrite hdfs://192.168.0.1:8020/tmp/T_PUBLIC_OPINIONS_INFO  hdfs://192.168.0.4/tmp/T_PUBLIC_OPINIONS_INFO


hadoop distcp -overwrite hdfs://192.168.0.2:8020/tmp/T_PT_INFO_TEST  hdfs://192.168.0.4/tmp/T_PT_INFO_TEST

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值