• Hadoop节点迁移


    增删节点 数据迁移
     
     
    一、所有事情开始之前,先要备份好cloudera manager的数据库,以及hadoop集群中的一些组件带的数据库。这里保存了很多元数据,像hive这种丢了很麻烦的。
     
    二、如果需要换nameNode的存储目录
    1、备份nameNode原始数据
     
    cp -r /ddhome/dfs/nn /ddhomebak/
     
    #Hive Metastore NameNodes #未找到该命令(刷新hive的hdfs设置)
     
    重启后,如果有数据问题,则会hdfs会进入安全模式。可以使用下面这个命令接触。
    实际过程中还报了一个:不能写入temp/.XXX目录的一个错误。实际就是安全模式无法写入。
    sudo -uhdfs hdfs dfsadmin -safemode leave
     
    切换数据存储目录 需要手动把数据文件复制过去
     
    cp -r /ddhome/dfs/ /home/hdfs/
     
    cp -r /ddhome/dfs/dn /home/hdfs/dfs
     
    cp -r /ddhome/dfs/dn /ddhome/dfs_bak
     
    三、数据整理(根据需要进行)
     
    1、先把数据备份成三分
    hadoop dfs -setrep -w 3 -R /
     
    2数据均衡
    1.对hdfs负载设置均衡,因为默认的数据传输带宽比较低,可以设置为64M,
    hdfs dfsadmin -setBalancerBandwidth 67108864
     
    2.默认balancer的threshold为10%,即各个节点存储使用率偏差不超过10%,我们可将其设置为5%;然后启动Balancer,sbin/start-balancer.sh -threshold 5,等待集群自均衡完成即可
    #./start-balancer.sh -threshold 5
    hdfs balancer -threshold 1 #这个是机器资源使用率的差额,如果设置太小,可能不会迁移
    #详细使用请参照下面这篇博客
     
     
     
     
    =============================================================================
     
    四、hadoop组件迁移:
    1、可以有多个主节点的主键,可以先添加好备用的主键节点。然后重启,等备用节点完全同步了主节点之后,就可以停止老的主几点了。会自动切换到新的主节点上。这个时候就可以删除老的主节点了。
    zk、hbase、hdfs、yarn、hive(Hive Metastore ServerHiveServer2都可以)。
     
    2、一些机器不相关的组件,可以直接删除了,加入新机器之后,直接在新的节点上重新装这部分组件。
    典型的有yarn、spark on yarn、hue、
     
    3 比较难迁移的就是hdfs。因为它涉及到真正的数据存储在哪个位置。
    需要一个节点一个节点的:停止---数据同步到其他节点----删除这节点。
     
    这里要注意:nameNode角色迁移,删除老节点之后,整个hdfs就锁死不能进行操作了。因为删除该节点之后,hdfs没有自动进行配置修改,它任然是高可用模式,你做什么操作 它都提示错误不能进行。需要手动到hdfs的配置里面把高可用相关的配置全部去除掉。然后重新添加新节点上的nameNode。可以在这个时候直接进行高可用部署方式。

  • 相关阅读:
    关于python urlopen 一个类似radio流的timeout方法
    Python nltk English Detection
    Python依赖打包发布详细
    python 怎么和命令行交互
    Python中多维数组flatten的技巧
    Python中的url编码问题
    python数据持久存储:pickle模块的基本使用
    Python控制台输出不换行(进度条等)
    UnicodeEncodeError: 'ascii' codec can't encode character u'xe9' in position 7: ordinal not in range(128) [duplicate]
    json.loads(s) returns error message like this: ValueError: Invalid control character at: line 1 column 33 (char 33)
  • 原文地址:https://www.cnblogs.com/double-kill/p/9032892.html
Copyright © 2020-2023  润新知