namenode服务迁移

  交代一下背景:

  1. 由于机器过保,需要进行机器的置换,所以就有了这么个事情;

  2. namenode是普通的ha模式,没有配置federation;

  3. 需要尽最大的可能不影响生产环境中Hadoop集群的服务

  4. 我们的集群都是通过hostname进行的配置,不是通过具体的ip进行的配置。推荐使用hostname进行配置

 

  下面开始记录一下本次的工作: 这里不写出具体的ip和hostname,假设原来的namenode服务在ip为a,hostname为hosta和ip为b,hostname为hostb的两台机器上上,其中a机器过保, 新机器的ip为c,需要将a上面的namenode服务迁移到c上面;

  步骤如下:

  1. 停止a机器上的namenode和zkfc服务,此时集群还是可以正常工作的

  2. 停止了a机器上的namenode服务后, 此时a机器就不在集群范围了。接着修改集群中每台机器的hosts文件,将原来的 a和hosta的映射去掉,改成c和hosta的映射。修改完后,同步一份hosts文件到c机器。

  3. 配置b机器c机器的免密码登录,因为到时候namenode的ha切要用到

  4. 拷贝a机器上的Hadoop安装目录到c机器对应的目录下,根据配置文件创建对应的目录和修改目录的权限,并且修改环境变量,弄成和a上面的一样即可。

  5. 同步namenode的fsimage,在c机器执行: hdfs namenode -bootstrapStandby

  6. 启动c机器上的namenode等服务(还有zkfc等服务)

  7. 重启b机器上的zkfc服务

  以上,namenode服务迁移完毕,不会影响生产环境的正常工作。无需停止其它节点的服务.

 

  下面对几个注意事项进行说明:

  1. 在操作的过程中要注意目录的权限,操作集群一定要使用对应的账号。这里都是统一用的hadoop账号

  2. 需要重启另外一台机器上的zkfc服务, 因为修改了fencing的私钥,不重启zkfc会导致namenode的ha不能正常切换

  3. 这里进行namenode的服务迁移却没有停集群的原因是我们的集群是用hostname进行配置的,即使ip变了,只要hostname没变是不会造成影响的,这也是推荐使用hostname进行集群配置的原因, 因为像这种迁移的操作会方便很多。如果是配置的ip,上面的操作就行不通了,必须停止集群。

  4. 关于zkfc是否需要重新格式化的问题:答案是不需要的,同样是因为通过hostname进行配置的,所以不需要。因为底层都是通过hostname去找对应的机器,它能够自动的去找到对应的机器。

 

转载于:https://www.cnblogs.com/wuxilc/p/9255833.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值