CDH4 动态添加datanode和nodemanager

 想要在运行中的hadoop集中中 动态添加或删除节点,肿么办呢? 
        【准备工作:】 
        1. 如是添加节点,则需要将所有新增数据节点上的 Hadoop环境都已经按已有环境部署完毕(host、ssh等) 
        2. 需要的 配置项: 
                (1) dfs.hosts 配置存放待上线数据节点名字文件的绝对路径。(俺把所有线上节点都加上去了) 
                (2) dfs.hosts.exclude 配置存放待下线数据节点名字文件的绝对路径。 
        3. 具体配置如下:(hdfs-site.xml) 
               
	dfs.hosts.exclude               
	/app/cdh4/hadoop-2.0.0-cdh4.3.0/etc/hadoop/hdfs_exclude          
        
               
	dfs.hosts               
	/app/cdh4/hadoop-2.0.0-cdh4.3.0/etc/hadoop/hdfs_include          
   
         1. 下线节点 
        1) hdfs_exclude文件里每行添加一个 服务器名,如我要下线server87,server88,server89,则如下: 
        server87 
        server88 
        server89       
        2) 选择任意一台节点执行: 
        ./hdfs dfsadmin -refreshNodes 
        3) 这时可以通过hdfs dfsadmin -report或者web界面查看该datanode状态转为Decommission In Progress。 
        如果节点上数据比较多,下线会比较慢!一个字:等。。。 
        当datanode完成数据迁移时,姿态会变为Decommissioned,继续下面操作 
        4) 删除hdfs_exclude中下线节点的hosts,重新刷新: 
        ./hdfs dfsadmin -refreshNodes 
        5) 删除slaves中下线节点的hosts 
         2. 上线节点 
        上线节点基本与下线相同 
        1) hdfs_include文件里每行添加一个上线服务器名,同时保证hdfs_exclude文件为空。        
        2) ./hdfs dfsadmin -refreshNodes 
        3) 在要上线的节点上启动datanode: 
        ./hadoop-daemon.sh start datanode 
        4) 如需要启动nodemanager,则执行: 
        ./yarn-daemon.sh start nodemanager 
        5) 修改slaves,添加上线节点的hosts 
  
        转载出处:http://xmaster.iteye.com/admin/blogs/1930231

你可能感兴趣的:(hadoop)