`
邢邢色色
  • 浏览: 226120 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

【转】hadoop 添加删除datanode及tasktracker

阅读更多

出处不详:

 

hadoop 添加删除datanode及tasktracker

首先:

建议datanode和tasktracker分开写独立的exclude文件,由于一个节点即可以同时是datanode和tasktracker,也可以单独是datanode或tasktracker。

1、删除datanode

修改namenode上的hdfs-site.xml

<property>
<name>dfs.hosts</name>
<value>/usr/local/hadoop/conf/datanode-allow-list</value>
</property>

 

<property>
<name>dfs.hosts.exclude</name>
<value>/usr/local/hadoop/conf/datanode-deny-list</value>
</property>



其中dfs.host列出了连进namenode的节点,假如为空,则所有的datanode都可以连进namenode。假如不为空,则文件中存在的datanode可以连进。
dfs.hosts.exclude列出了禁止连进namenode的节点。
假如一个节点同时存在于dfs.hosts和dfs.hosts.exclude,则禁止连进。

具体步骤

(1)将要删除的datanode加进到dfs.hosts.exclude指定的文件中。(最好使用主机名,IP有时可能不生效)

(2)动态刷新配置,不需要重启namenode

hadoop dfsadmin -refreshNodes



(3)通过hadoop dfsadmin -report或webui,可以看到,该datanode的状态为Decommissioning

(4)等待一段时间,该节点为dead状态。

(5)删除dfs.hosts文件中该节点

(6)

hadoop dfsadmin -refreshNodes



注:按照上面的操纵后,假如你想要重新启用该节点为datanode,从dfs.hosts.exclude中删除该节点,refreshNodes,然后,到该节点上,重启启动该datanode:

/usr/local/hadoop/bin/hadoop-daemon.sh stop datanode
/usr/local/hadoop/bin/hadoop-daemon.sh start datanode



注:正确的删除datanode的方法应该是按照上面的方法,使用exclude文件,而不应该直接往datanode上往sotp datanode,这样会造出数据丢失,而且stop以后,webui和hadoop dfsadmin -report都仍然显示该datanode节点。除非重新启动namenode。
之所以重新启用exclude的节点时可以stop datanode,由于此时该datanode不包含在cluster中,所以,stop后不会造成数据丢失。

2、添加datanode
假如存在dfs.hosts文件,且不为空,则添加新的datanode到该文件中,refreshNodes。
到新节点上,启动即可

/usr/local/hadoop/bin/hadoop-daemon.sh start datanode


假如不存在dfs.hosts文件,或文件为空,直接启动新节点即可。

3、删除tasktracker
原理和步骤与删除datanode一样。

<property>
<name>mapred.hosts</name>
<value>/usr/local/hadoop/conf/tasktracker-allow-list</value>
</property>


<property>
<name>mapred.hosts.exclude</name>
<value>/usr/local/hadoop/conf/tasktracker-deny-list</value>
</property>



动态刷新配置的命令为:
hadoop mradmin -refreshNodes
立即生效,可以在webui中看到,nodes节点数目的变化,以及Excluded Nodes节点的变化。
具体的步骤参考上面的删除datanode的步骤

注:按照上面的操纵后,假如你想要重新启用该节点为tasktracker,从mapred.hosts.exclude中删除该节点,refreshNodes,然后,到该节点上,重启启动该tasktracker:

/usr/local/hadoop/bin/hadoop-daemon.sh stop tasktracker
/usr/local/hadoop/bin/hadoop-daemon.sh start tasktracker



注:正确的删除tasktracker的方法应该是按照上面的方法,使用exclude文件,而不应该直接往tasktracker上往sotp tasktracker,这样会造成job失败,而且stop以后,webui上仍然显示该tasktracker节点。除非重新启动 jobtracker。

我碰到的一个题目:
在exclude文件中,我使用了IP,发现tasktracker仍然参与计算。
在webui中发现,Excluded Nodes中存在该IP,Nodes中仍然存在该tasktracker的hostname。
解决的办法就是,在exclude中使用hostname而不使用IP。
判定是否真正生效:假如exclued文件中正确的填写了要失效的node,则总得nodes数目应该减小。

4、添加tasktracker
  假如存在mapred.hosts文件,且不为空,则添加新的tasktracker到该文件中,refreshNodes。
到新节点上,启动即可

/usr/local/hadoop/bin/hadoop-daemon.sh start tasktracker


假如不存在mapred.hosts文件,或文件为空,直接启动新节点即可。


6、添加或删除datanode后,平衡磁盘利用率
运行bin/start-balancer.sh,这个会很耗时间
备注:
假如不balance,那么cluster会把新的数据都存放在新的node上,这样会降低mr的工作效率;

/usr/local/hadoop/bin/start-balancer.sh -threshold 0.1 



   threshold 是平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长。
balancer也可以在有mr job的cluster上运行,默认dfs.balance.bandwidthPerSec很低,为1M/s。在没有mr job时,可以进步该设置加快负载均衡时间。
在namenode的hdfs-site.xml中增加设置balance的带宽,默认只有1M:

<property> 
    <name>dfs.balance.bandwidthPerSec</name> 
    <value>10485760</value> 
    <description>
        Specifies the maximum bandwidth that each datanode can utilize for the balancing purpose in term of the number of bytes per second.
    </description> 
</property>
分享到:
评论

相关推荐

    Hadoop实战(虚拟多台电脑)

    192.168.0.227 功能:DataNode,TaskTracker 主机名称:hdfs3 ip:192.168.0.228 功能:DataNode,TaskTracker 重点:修改3台机器的/etc/hosts,让彼此的主机名称和ip都能顺利解析 127.0.0.1 localhost 192.168.0.37 ...

    hadoop-管理

    1.处理hadoop的datanode宕机 cd path/to/hadoop 走到hadoop的bin目录 ./hadoop-daemon.sh start datanode ./hadoop-daemon.sh start tasktracker 2.处理hadoop的namenode宕机 ./hadoop-daemon.sh start namenode...

    【大数据】Hadoop常用启动命令.pdf

    Hadoop常⽤的启停命令都在hadoop/sbin/ ⽬录中,可以将这个⽬录添加到环境变量中,后⾯就可以直接在任意路径下运⾏启停命令。 下⾯就具体说说这些命令: start-all.sh 启动所有的Hadoop守护进程。包括NameNode、 ...

    Hadoop集群安装

    Hadoop集群安装的详细说明文档, ...電腦則身兼 datanode及tasktracker的工作。 • 页码,5/5 Hadoop_Lab7_018 – Cloud Computing 2011-03-25 http://trac.nchc.org.tw/cloud/wiki/Hadoop_Lab7_018

    Hadoop_HDFS和MapReduce架构浅析_郝树魁.pdf

    在简述Hadoop namenode、datanode运行模式的基础上,重点介绍了Hadoop MapReduce的工作机制,并以作业提交、作业初始化、任务分配、任务执行和任务进度更新等流程介绍了Job Client、JobTracker、TaskTracker和HDFS在...

    Hadoop大数据平台构建、规划大数据平台集群教学课件.pptx

    在单个节点上运行NameNode、DataNode、JobTracker、TaskTracker、SeconderyNameNode 这5个进程。 完全分布模式 在多个节点上运行。 使用分布式文件系统。 在不同的节点上运行NameNode、DataNode、JobTracker、...

    Hadoop实战中文版

    1.7 Hadoop历史 1.8 小结 1.9 资源 第2章 初识Hadoop 2.1 Hadoop 的构造模块 2.1.1 NameNode 2.1.2 DataNode 2.1.3 Secondary NameNode 2.1.4 JobTracker 2.1.5 TaskTracker 2.2 为Hadoop 集群安装SSH ...

    hadoop安装

    1.a1 192.168.9.1 (master) a2 192.168.9.2 (slave1) a3 192.168.9.3 (slave2) 修改/etc/hosts 2.3台机器 创建hadoop 用户 ...[hadoop@a1 hadoop-0.20.2-cdh3u5]$ bin/hadoop dfsadmin -report

    hadoop使用手册

    单个起 :/opt/hadoop-1.0.3/bin/hadoop-daemon.sh start datanode /opt/hadoop-1.0.3/bin/hadoop-daemon.sh start tasktracker 关闭HADOOP 1. 进入HADOOP_HOME目录。 2. 执行sh bin/stop-all.sh 查看MapReduce...

    搭建hadoop伪分布式.docx

    这种模式也是在一台单机上运行,但用不同的Java进程模仿分布式运行中的各类结点(NameNode,DataNode,JobTracker,TaskTracker,SecondaryNameNode),请注意分布式运行中的这几个结点的区别:从分布式存储的角度来说,...

    大数据与云计算技术 Hadoop概论和快速入门 共40页.ppt

    Hadoop, Apache开源的分布式框架。源自Google GFS,BigTable,MapReduce 论文。 == HDFS == HDFS (Hadoop Distributed File System),Hadoop 分布式文件系统。 NameNode,HDFS命名服务器,负责与DataNode文件元信息保存。...

    Hadoop权威指南 第二版(中文版)

     namenode和datanode  命令行接口  基本文件系统操作  Hadoop文件系统  接口  Java接口  从Hadoop URL中读取数据  通过FileSystem API读取数据  写入数据  目录  查询文件系统  删除数据  数据流  ...

    Hadoop权威指南(中文版)2015上传.rar

    第1章 初识Hadoop 数据!数据! 数据存储与分析 与其他系统相比 关系型数据库管理系统 网格计算 志愿计算 1.3.4 Hadoop 发展简史 Apache Hadoop和Hadoop生态圈 第2章 关于MapReduce 一个气象数据集 数据的格式 使用...

    Hadoop实战中文版.PDF

    161.9 资源 16第2章 初识Hadoop 172.1 Hadoop的构造模块 172.1.1 NameNode 172.1.2 DataNode 182.1.3 Secondary NameNode 192.1.4 JobTracker 192.1.5 TaskTracker 192.2 为Hadoop集群安装SSH 212...

    Hadoop实战手册

    hadoop-env.sh 环境变量13#Hadoop Common组件 配置 core-site.xml13#HDFS NameNode,DataNode组建配置 hdfs-site.xml14#配置MapReduce - JobTracker TaskTracker 启动配置15#Hadoop单机系统,启动执行和异常检查17#...

    大数据平台常见面试题.pdf

    a)SecondaryNameNode b)DataNode c)TaskTracker d)Jobtracker 注:haoop1.X 分析: hadoop 的集群是基于 master/slave 模式,namenode 和 jobtracker 属于 master,datanode 和 tasktracker属于 slave,master 只 ...

    java大数据作业_1云计算、大数据、hadoop

    课后作业 1.SAAS、PAAS、IAAS、XAAS都是什么意思?另外猜猜DAAS是什么意思? 2.大数据的4个特点是什么? 3.虚拟机与主机构成闭环局域网的链接叫什么? 4.在用户目录下的test目录下,创建一个...10.如何启动一个datanode

    Hadoop实战(陆嘉恒)译

    初识Hadoop2.1 Hadoop 的构造模块2.1.1 NameNode2.1.2 DataNode2.1.3 Secondary NameNode2.1.4 JobTracker2.1.5 TaskTracker2.2 为Hadoop 集群安装SSH2.2.1 定义一个公共账号2.2.2 验证SSH安装2.2.3 生成SSH密钥对...

    Hadoop入门实战手册

    1.1 ..................................................................................................4 什么是Hadoop? 1.2 ................................................................................

    Hadoop实战

    111.7 Hadoop历史 151.8 小结 161.9 资源 16第2章 初识Hadoop 172.1 Hadoop的构造模块 172.1.1 NameNode 172.1.2 DataNode 182.1.3 Secondary NameNode 192.1.4 JobTracker 192.1.5 TaskTracker 192.2 为Hadoop集群...

Global site tag (gtag.js) - Google Analytics