zoukankan      html  css  js  c++  java
  • hadoop节点的增删

    添加节点

    1.设置静态ip

    vi /etc/sysconfig/network-scripts/ifcfg-eth0

    增加

    #Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
    DEVICE=eth0
    #BOOTPROTO=dhcp
    # add
    BOOTPROTO=static
    ONBOOT=yes
    # add
    IPADDR=192.168.119.134
    HWADDR=00:0c:29:59:df:84

    重启网络文件: service network restart

    2.安装jdk 配置Java 环境变量

    3.关闭防火墙

    systemctl stop firewalld.service
    firewall-cmd --state

    4.配置ssh登陆

    5.修改hosts文件

    在master节点:vim /etc/hosts
    //增加 新增节点IP h2slave3

    //复制到其他DataNode节点
    scp /etc/hosts h2slave1:/etc/hosts
    scp /etc/hosts h2slave2:/etc/hosts
    scp /etc/hosts h2slave3:/etc/hosts

    6.复制hadoop2.2到新增节点(在master节点操作)

    scp -r /opt/java/hadoop slave1:/opt/java/ 
    //然后切换到新增节点 配置hadoop的环境变量

    //在master节点修改 /opt/java/hadoop/etc/hadoop/slaves
    //新增   新增节点的IP

    //然后复制到其他DataNode
    scp /opt/java/hadoop/etc/hadoop/slaves slave1:/opt/java/hadoop/etc/hadoop/slaves
    scp /opt/java/hadoop/etc/hadoop/slaves slave2:/opt/java/hadoop/etc/hadoop/slaves
    scp /opt/java/hadoop/etc/hadoop/slaves slave3:/opt/java/hadoop/etc/hadoop/slaves

    6.1 添加DataNode

    //对于新添加的DataNode节点,需要启动datanode进程,从而将其添加入集群
    //在新增的节点上,运行 sbin/hadoop-daemon.sh start datanode

    //在namenode节点刷新datanode, hdfs dfsadmin -refreshNodes

    //然后在namenode查看集群情况,通过 hdfs dfsadmin -report
    //也可以通过NameNode50070端口查看活动的DataNode节点数

    6.2 平衡DataNode节点

    //在Master节点 cd /opt/java/hadoop/sbin

    //对hdfs负载设置均衡,因为默认的数据传输带宽比较低,可以设置为64M
    hdfs dfsadmin -setBalancerBandWidth 67108864

    //默认balancer的threshold为10%,即各个节点与集群总的存储使用率相差不超过10%,我们可将其设置为5%
    start-balancer.sh -threshold 5

    6.3 添加NodeManager

    //由于Hadoop 2.X引入了YARN框架,所以对于每个计算节点都可以通过NodeManager进行管理,同理启动NodeManager进程后,即可将其加入集群
    //在新增节点,运行 sbin/yarn-daemon.sh start nodemanager

    //在ResourceManager,通过 yarn node -list 查看集群情况

    删除节点

    //极端不建议直接在slave节点通过:hadoop-daemon.sh stop datanode 命令关掉datanode,这会导致hdfs中出现missing block

    1.在hadoop0上修改conf/hdfs-site.xml文件

    <property>
      <!--dfs.hosts.exclude定义的文件内容为,每个需要下线的机器,一行一个-->
      <name>dfs.hosts.exclude</name>
      <value>/usr/local/hadoop/hadoop-2.2.0/etc/hadoop/excludes</value>
    </property>

    在mapred-site.xml中增加

    <property>
      <name>mapred.hosts.exclude</name>
      <value>/data/hadoop/etc/hadoop/excludes</value>
      <final>true</final>
    </property>

    2.在master上创建并修改excludes文件,添加需要删除节点的IP

    3.在master上刷新节点配置情况:

    hdfs dfsadmin -refreshNodes

    此时在Web UI上就可以看到该节点变为Decommissioning状态,过一会就变为Dead了 也可以通过:hadoop dfsadmin -report 命令查看

    4. 在slave上关闭datanode进程(非必须):

    hadoop-daemon.sh stop datanode 

    重新加入删除的节点

    1.在master的excludes文件中删除相应节点IP 2.在slave上重启datanode进程:

    hadoop-daemon.sh start datanode 

    3.在master上刷新节点配置情况:

    hdfs dfsadmin -refreshNodes
  • 相关阅读:
    Maven跳过测试
    Maven教程
    使用订单号加锁
    SpringMVC重定向路径中带中文参数
    并发文章
    maven clean插件使用进阶
    线程池基础
    Session中短信验证码设置有效时间
    Linux命令
    下载并安装Cent OS 6.5
  • 原文地址:https://www.cnblogs.com/qzt666/p/10821643.html
Copyright © 2011-2022 走看看