一、擴容本地磁盤並掛載
機器都是阿里雲的服務器,需要現在阿里雲購買磁盤。然後掛載到服務器上
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 命令進行查看。
然後測試各種讀寫操作。
最後上個圖: