Hadoop datanode添加与删除

出处:http://zzhblog.sinaapp.com/?p=82

 

一、 Hadoop节点热拔插

在Hadoop集群中经常会进行增添节点操作,即实现节点的热拔插。在这些操作中不希望对集群进行重启。

2.在集群中添加节点:

a. 把新节点IP或者主机名字加入到主节点的slaves文件。

 

b. 登录到新节点,执行:

1
2
3
 cd  $HADOOP_HOME
 bin  /hadoop-daemon  .sh start datanode
 bin  /hadoop-daemon  .sh start tasktracker

3. 从集群中移走节点,且对移走节点的数据进行备份:

a. 在主节点的core-site.xml配置文件中添加

1    
2
3
4
5
<  property  >
    <  name  >dfs.hosts.exclude</  name  >
    <  value  >/usr/local/hadoop/conf/exclude</  value  >
    <  description  >A base for other temporary directories.</  description  >
</  property  >

b. 在主节点的$HADOOP_HOME/conf/目录下新建文件excludes,每行为需要移走的节点,该例为s140。

c. 运行命令:

1
hadoop dfsadmin -refreshNodes

该命令可以动态刷新dfs.hosts和dfs.hosts.exclude配置,无需重启NameNode。此刻datanode消失了,但是tasktracker还存在。

d. 然后热行命令,查看状态

1
bin  /hadoop  dfsadmin -report
1
2   
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Name: 192.168.3.140:50010
Decommission Status : Decommission in progress
Configured Capacity: 310716715008 (289.38 GB)
DFS Used: 59891990052 (55.78 GB)
Non DFS Used: 20663939548 (19.24 GB)
DFS Remaining: 230160785408(214.35 GB)
DFS Used%: 19.28%
DFS Remaining%: 74.07%
Last contact: Fri Aug 13 10:17:20 GMT+08:00 2010
Name: 192.168.3.136:50010
Decommission Status : Normal
Configured Capacity: 487925370880 (454.42 GB)
DFS Used: 101679245034 (94.7 GB)
Non DFS Used: 55873218838 (52.04 GB)
DFS Remaining: 330372907008(307.68 GB)
DFS Used%: 20.84%
DFS Remaining%: 67.71%
Last contact: Fri Aug 13 10:17:21 GMT+08:00 2010

e. 在停掉节点Decommission Status不为Normal前, mapreduce操作会出现异常。

f. 节点移走64G数据需要十分钟左右。

二、 数据负载均衡

1. 在Hadoop集群中新添加一个Datanode时,需要对集群数据进行负载均衡。

2. 在主节点运行bin/start-balancer.sh命令,可以添加参数-threshold 5,threshold是平衡阈值,默认是10%,值越小负载越均衡,但需要更长的时间去执行。

3. 添加s140到集群,执行负载均衡半个小时共负载了4G的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果Hadoop DataNode没有启动,可能是因为以下几种原因: 1. 磁盘空间不足,DataNode无法启动。 2. DataNode与NameNode之间的网络连接问题。 3. DataNode的配置文件有误。 4. DataNode的进程已经在运行,但是无法正常工作。 5. 其他原因导致DataNode无法启动。 请检查以上原因,并尝试解决问题。 ### 回答2: Hadoop datanode未启动可能是由于以下原因所导致的。 1. 配置问题:检查Hadoop配置文件中的datanode节点是否正确配置。确保datanode的相关信息包括主机名、端口号等正确无误。 2. 网络问题:确保datanode所在的主机能够与其他Hadoop节点正常通信。可以尝试使用ping命令测试网络连接的可用性。 3. 权限问题:确认datanode的运行用户是否具有适当的权限来启动Hadoop服务。可以尝试使用sudo命令或以管理员身份运行。 4. 日志分析:检查datanode的日志文件,通常存储在Hadoop安装目录下的logs文件夹中。查看日志文件中的错误或异常信息,以了解导致datanode无法启动的具体原因。 解决datanode未启动的问题,可以尝试以下方法: 1. 重新启动Hadoop集群:尝试先关闭整个Hadoop集群,然后逐个启动各个节点,确保datanode节点在启动之前没有任何问题。 2. 检查硬件和网络连接:确保datanode所在的主机硬件正常,并且网络连接稳定。可以尝试重新启动主机或更换网络连接线缆。 3. 检查防火墙设置:确保防火墙没有阻止datanode与其他Hadoop节点之间的通信。可以暂时关闭防火墙以测试是否是防火墙设置导致的问题。 4. 查找并解决配置错误:仔细检查datanode的配置文件,例如hdfs-site.xml和core-site.xml文件,确保没有任何拼写错误或语法问题。 如果上述方法都无法解决问题,可以尝试在Hadoop社区或相关技术论坛上寻求帮助,提供详细的错误信息和配置文件内容,以便其他用户提供更具体的解决方案。 ### 回答3: Hadoop Datanode没有启动的原因可能有很多种,以下是几种常见的情况和解决方法: 1. 配置错误:查看hadoop配置文件的datanode相关配置,确保文件中的地址和端口号正确。尤其注意fs.defaultFS和dfs.namenode.rpc-address的配置。 2. 资源不足:检查datanode所在的计算机的硬件资源(CPU、内存、存储空间)是否足够支持启动datanode进程。 3. 磁盘空间已满:检查datanode所在的磁盘空间是否已经满了,如果是,需要清理或增加磁盘空间。 4. 权限问题:检查hadoop相关文件和目录的权限,确保datanode进程有足够的权限来读取和写入相关文件。 5. 网络连接问题:确保datanode所在的计算机能够与hadoop集群的其他节点进行正常的网络连接。可以通过ping或telnet测试网络连通性。 6. 日志文件检查:查看datanode的日志文件,通常位于Hadoop安装目录的logs文件夹下,检查日志中是否有任何错误信息,可以根据错误信息进一步定位和解决问题。 以上是几个常见的Hadoop Datanode没有启动的原因和解决方法,希望能对您有所帮助。如果问题仍然存在,请提供更多详细的错误信息以便进一步分析和解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值