版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/isoleo/article/details/78367924
一、扩容本地磁盘并挂载
机器都是阿里云的服务器,需要现在阿里云购买磁盘。然后挂载到服务器上
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|grepdatanode|grep-vgrep|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.shstartdatanode
检测datanode是否正常启动:
ps-ef|grepdatanode|grep-vgrep
四、平衡数据
逐一在Datanode服务器上执行:
/usr/local/hadoop/sbin/start-balancer.sh
五、测试Datanode是否扩容成功
登陆::http://Namenode:50070查看。
或者,通过hdfs dfsadmin -report 命令进行查看。
然后测试各种读写操作。
最后上个图: