一、扩容本地磁盘并挂载
机器都是阿里云的服务器,需要现在阿里云购买磁盘。然后挂载到服务器上
1、把新加的磁盘挂载到了/hdfs_data
2、原来默认的hdfs的数据目录为/usr/local/hadoop/hdfs/data/
<name>dfs.datanode.data.dir</name>
<value>
二、停止Datanode
我这里有三台datanode,数量比较小,所以就一台一台的做操作了。
如果是小环境,就一台一台的Datanode操作,这样能保证数据不会丢,因为有3个副本,所以,即使停掉一台Datanode也没有问题,不影响使用。
注意:以下操作逐一在需要扩容的datanode服务器上都执行。
1、暴力停止(kill),因为./hadoop-daemon.sh stop datanode 不能停。
kill `ps -ef | grep datanode | grep -v grep | awk '{print $2}'`
2、迁移数据
mv /usr/local/hadoop/hdfs/data/current /hdfs_data/
3、修改hadoop配置文件
vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
把:
<name>dfs.datanode.data.dir</name>
<value>
改成:
<name>dfs.datanode.data.dir</name>
<value>file:///hdfs_data</value>
三、启动Datanode
逐一在Datanode服务器上执行:
/usr/local/hadoop/sbin/hadoop-daemon.sh start datanode
检测datanode是否正常启动:
ps -ef | grep datanode | grep -v grep
四、平衡数据
逐一在Datanode服务器上执行:
/usr/local/hadoop/sbin/start-balancer.sh
五、测试Datanode是否扩容成功
或者,通过hdfs dfsadmin -report 命令进行查看。
然后测试各种读写操作。
最后上个图:

本文介绍了如何在阿里云服务器上对Hadoop集群进行数据目录扩容。首先购买并挂载新磁盘至/hdfs_data,接着依次停止Datanode,迁移数据,修改配置文件,然后重新启动Datanode,并通过执行命令和Namenode界面检查扩容是否成功。
1747

被折叠的 条评论
为什么被折叠?



