`
城的灯
  • 浏览: 152462 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hadoop动态添加datanode和tasktracker

    博客分类:
  • 2012
阅读更多
hadoop在线运行已经很长一段时间了,下面就是我在上下线datanode和tasktracker步骤。因为datanode节点不一定是tasktracker,即使datanode和tasktracker在同一节点,你也可能只上下线其中一个,所以我在配置dfs和mr的include和exclude的时候,分开配置。

namenode中hdfs-site.xml配置如下:
	<property>
		<name>dfs.hosts</name> 
		<value>/ddmap/hadoop-1.0.4/conf/hdfs_include</value>
	</property>
	<property> 
		<name>dfs.hosts.exclude</name> 
		<value>/ddmap/hadoop-1.0.4/conf/hdfs_exclude</value>
	</property> 

dfs.hosts所对应的文件中列出了所有可以连接到namenode的datanode,如果为空则所有的都可以连入。dfs.hosts.exclude所对应的文件中列出了禁止连接namenode的datanode节点。如果一个节点在这两个文件中都存在,则不允许连入。
1.下线datanode步骤如下:
1将要下线的机器加入到dfs.hosts.exclude指定的文件中(使用主机名,ip基本不靠谱),然后刷新配置hadoop dfsadmin -refreshNodes。

2通过hadoop dfsadmin -report或者web界面,可以看到,该datanode状态转为Decommission In Progress。

3当decommission进程完成数据移动,datanode状态会转变为Decommissioned,然后datanode会自动停止datnode进程。然后你可以看见dead nodes下多了一个你想要下线的节点。

4然后删除include和exclude中该节点的hosts,重新刷新hadoop dfsadmin -refreshNodes

5最后别忘了删除slaves中该节点的配置,防止下次整个集群重启时,该节点不能通过namenode自动启动。



注意:当你下线一个datanode节点,有可能该节点长时间处于Decommission In Progress状态,一直不能转变为Decommissioned。请你用hadoop fsck /检查下是否有些块少于指定的块数,特别注意那些mapreduce的临时文件。将这些删除,并且从垃圾箱移除,该节点就可以顺利下线。这是我解决该问题的办法。



2.上线一个节点的步骤如下:
1保证将要上线的机器不存在于dfs.hosts.exclude所对应的的文件中,并且存在于dfs.hosts所对应的文件中

2在namenode上刷新配置:hadoop dfsadmin -refreshNodes

3在要上线的节点重启datanode,hadoop-daemon.sh start datanode

4通过hadoop dfsadmin -report或者web界面,可以看到,节点已经上线

5还是老话最后别忘了修改slaves。




jobtracker中mapred-site.xml的配置如下:
       <property> 
		<name>mapred.hosts</name> 
		<value>/ddmap/hadoop-1.0.4/conf/mr_include</value>
	</property> 
	<property> 
		<name>mapred.hosts.exclude</name> 
		<value>/ddmap/hadoop-1.0.4/conf/mr_exclude</value>
	</property> 

tasktracker上下线基本同上。mapred.hosts中的文件是允许连接到jobtracker的机器,mapred.hosts.exclude则刚好相反,如果一台机器在两个配置中都存在,则不允许连接到jobtracker。
1.下线tasktracker步骤如下:
1将要下线的机器加入到mapred.hosts.exclude指定的文件中(使用主机名,ip基本不靠谱)

2刷新配置:hadoop mradmin -refreshNodes,你可以看见web界面Excluded Nodes中多出了一个节点,该节点就是你要下线的节点,最后到你要下线的节点上运行hadoop-daemon.sh stop tasktracker

3最后将mr_exclude和mr_include中该节点的hosts删除,并在jobtracker上再次刷新该配置,hadoop mradmin -refreshNodes

4还是老化别忘了修改slaves

tasktracker上线基本上和datnode上线原理和步骤都差不多,此处就不说了。


tasktracker上下线问题不是很大,最多就是任务失败,我想这个对于很多人来说都是可以忍受的,但是datanode上下线需要注意,因为datanode上下线如果不得当,可能导致数据丢失,特别是同事操作2个以上的节点。如果集群不是非常大,最好的每次下线一至两台,通过检查发现数据没有问题的时候再下线别的。这样虽然麻烦,但是是最安全的。上面写的有可能不对的地方请大家指正,谢谢。

PS:转载请注明出处,谢谢
分享到:
评论
1 楼 chlhp 2015-04-20  

相关推荐

    Hadoop集群中动态增加和减少机器

    ### Hadoop集群中动态增加和减少机器 #### 知识点一:Hadoop集群概述 - **定义**:Hadoop是一种能够对大量数据进行分布式处理的软件框架,它设计用于运行于由一般商用硬件构成的大规模集群之上。 - **组成**:主要...

    hadoop学习手册

    作为云计算的标准开源软件,Hadoop的生态系统分布图包括多个构造模块,如NameNode、DataNode、Secondary NameNode、JobTracker和TaskTracker等。 Hadoop集群中的机器分为两类:主节点和从节点。NameNode、...

    hadoop-管理

    然后在新节点上执行 `cd path/to/hadoop` 进入 Hadoop 目录,接着运行 `bin/hadoop-daemon.sh start datanode` 和 `bin/hadoop-daemon.sh start tasktracker` 启动 DataNode 和 TaskTracker。最后,在 master 节点上...

    Hadoop-0.21.0分布式集群配置

    在本例中,Namenode和Jobtracker部署在hadoop1上,hadoop2和hadoop3作为Datanode和Tasktracker。这种配置允许分散任务执行和数据存储,提高系统的可用性和容错性。 4. **目录结构** Hadoop的部署目录结构需要在...

    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的安装部署与配置实验 共11页.pdf

    Hadoop 是一个基于 Java 的大数据处理框架,由 Apache 基金会开发和维护。该框架提供了一个分布式计算环境,能够处理大量数据。下面是 Hadoop 的安装部署与配置实验总结。 一、实验环境准备 在进行 Hadoop 安装...

    Hadoop集群搭建(全)

    Salve节点包括DataNode和TaskTracker,负责存储和处理数据,执行任务和返回结果。 环境说明: * 集群中包括 4 个节点:1 个 Master,3 个 Salve,节点之间局域网连接,可以相互ping 通。 * 节点 IP 地址分布: + ...

    hadoop2.6 hadoop.dll+winutils.exe

    它包含了运行Hadoop守护进程(如Namenode、Datanode和TaskTracker)所需的特定于平台的函数实现,这些函数通常涉及到操作系统级别的操作,如文件系统操作、网络通信和进程管理。`hadoop.dll`确保Hadoop可以在Windows...

    hadoop分布计算安装.pptx

    Hadoop安装需要配置NameNode和DataNode的IP地址和主机名,添加Hadoop用户组和用户,并配置SSH连接。 6. NameNode配置 NameNode需要配置IP地址、主机名和SSH连接。NameNode作为主服务器,管理文件系统的命名空间和...

    Hadoop集群安装详细步骤

    Hadoop核心守护程序由NameNode/DataNode和JobTracker/TaskTracker这几个角色构成。Hadoop的DFS需要确立NameNode与DataNode角色,一般NameNode会部署到一台单独的服务器上而不与DataNode共同一机器。另外Map/Reduce...

    hadoop集群部署

    master 节点用于运行 namenode、secondary namenode 和 jobtracker 任务,而 slave 节点用于运行 datanode 和 tasktracker 任务。可以通过复制和粘贴虚拟机节点来轻松地创建多个虚拟机节点。 hosts 文件配置 hosts...

    细细品味Hadoop_Hadoop集群(第5期)_Hadoop安装配置

    6. 启动Hadoop服务,包括DataNode、NameNode、TaskTracker和JobTracker。 7. 测试集群功能,如上传文件到HDFS,运行MapReduce示例程序。 在集群环境中,还需要确保防火墙设置允许Hadoop相关端口通信,如NameNode的...

    hadoop在windows上运行需要winutils支持和hadoop.dll等文件

    同时,你可能还需要开启DataNode和TaskTracker,以提供数据存储和任务执行能力。 5. **验证运行**:通过浏览器访问`http://localhost:50070`和`http://localhost:8088`来检查HDFS和YARN的Web界面,确认Hadoop已经...

    hadoop大数据培训Hadoop安装配置每一小步都写得.doc

    6. 启动Hadoop服务:依次启动DataNode、NameNode、TaskTracker和JobTracker等服务,确保所有节点正常运行。 7. 验证安装:通过上传文件到HDFS并运行简单的MapReduce作业来检查集群是否正确配置和运行。 在完成以上...

    大数据与云计算培训学习资料 Hadoop集群 细细品味Hadoop_第5期_Hadoop安装配置 共44页.pdf

    Master节点运行NameNode和JobTracker,而Slave节点运行DataNode和TaskTracker。理想的配置会包含一个额外的Master节点作为备份,以防主Master故障。 3. **网络配置** - 在Hadoop集群中,每个节点的主机名和IP地址...

    Hadoop client server通讯分析

    在Hadoop中,客户端(Client)负责提交任务、读写数据,而服务器端则包括NameNode、DataNode和TaskTracker等组件,它们处理客户端请求,管理数据存储和任务调度。 二、HDFS通信 1. 客户端与NameNode交互: 当...

    Linix下Hadoop的伪分布式配置

    然后,通过`bin/start-all.sh`启动所有的Hadoop进程,包括Namenode、DataNode、JobTracker和TaskTracker。 请注意,Hadoop的启动可能需要一些时间,启动后可以通过访问Web UI(Namenode的UI通常在50070端口,...

Global site tag (gtag.js) - Google Analytics