zoukankan      html  css  js  c++  java
  • hadoop 添加删除节点以及搭建集群注意问题

    1, 从集群中移走节点,需要对移走节点的数据进行备份:

    在主节点的hdfs-site.xml配置文件中添加如下内容:

    <property>

              <name>dfs.hosts.exclude</name>

              <value>/home/lqh/hadoop/excludes</value>

    </property>

    说明

    dfs.hosts.exclude:指要删除的节点

    /home/lqh/hadoop/excludes:指定要被删除节点的文件

    2, /home/lqh/hadoop/excludes内容为删除节点的ip地址,每行一个

    192.168.115.112

    3,进入 运行命令:hadoop dfsadmin -refreshNodes,该命令可以动态刷新dfs.hosts(允许作为datanode的节点)和dfs.hosts.exclude(不允许作为datanode的节点)配置,无需重启NameNode。

     执行完成后被删除节点datanode消失了,但是tasktracker还会存在,需要自己手动停掉

    4,然后通过 hadoop dfsadmin -report查看,会发现被删除节点正在退役: 

      Name: 192.168.115.112:50010

    Decommission Status : Decommission in progress

    5,通过4中命令可以查看到被删除节点状态

    Decommissioned 说明往其他节点同步数据已经完成,如果状态为Decommission Status : Decommissione in process则还在执行。 

    至此删除节点操作完成 

    问题总结:

    在拔掉节点时注意要把往hadoop放数据程序先停掉,否则程序还会往要删除节点同步数据,删除节点程序会一直执行。

    添加节点


    1.修改host 
      和普通的datanode一样。添加namenode的ip 


    2.修改namenode的配置文件conf/slaves 
      添加新增节点的ip或host 


    3.在新节点的机器上,启动服务 

    [root@slave-004 hadoop]# ./bin/hadoop-daemon.sh start datanode
    [root@slave-004 hadoop]# ./bin/hadoop-daemon.sh start tasktracker

    4.均衡block 

    [root@slave-004 hadoop]# ./bin/start-balancer.sh


    1)如果不balance,那么cluster会把新的数据都存放在新的node上,这样会降低mapred的工作效率 
    2)设置平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长 

    [root@slave-004 hadoop]# ./bin/start-balancer.sh -threshold 5

    3)设置balance的带宽,默认只有1M/s

    1<property>
    2   <name>dfs.balance.bandwidthPerSec</name>
    3   <value>1048576</value>
    4   <description>
    5     Specifies the maximum amount of bandwidth that each datanode 
    6     can utilize for the balancing purpose in term of 
    7     the number of bytes per second. 
    8   </description>
    9</property>

    注意: 

    1. 必须确保slave的firewall已关闭; 
    2. 确保新的slave的ip已经添加到master及其他slaves的/etc/hosts中,反之也要将master及其他slave的ip添加到新的slave的/etc/hosts中

    集群搭建注意问题:

    dfs.name.dir 与dfs.data.dir 目录不要提前创建,否则会启动namenode和datanode失败

    hadoop.tmp.dir需要提前创建

    master也可以充当slave

  • 相关阅读:
    找出互联网符合的产品实例
    以软件周期来说明不同的测试的使用情况
    scrapy多个page爬取, post请求, 通过爬到的URL继续发请求爬页面
    Scrapy 安装, 基础使用, 持久化存储
    Linux nginx+uWSGI+django+virtualenv+supervisor发布web服务器
    Linux Nginx
    Linux virtualenv, virtualenvwrapper, pip freeze
    Linux Python安装
    Redis, Python操作Redis, Linux操作Redis, Redis命令, Redis发布订阅, Redis持久化, Redis主从同步
    爬虫 selenium
  • 原文地址:https://www.cnblogs.com/waxili/p/3011781.html
Copyright © 2011-2022 走看看