HDFS数据目录挂载在根目录下至磁盘爆满问题解决
1、查看hdfs-size.xml文件
获取数据目录位置
vim /opt/hadoop/etc/hadoop/hdfs-site.xml
<property> <name>dfs.datanode.data.dir</name> <value>/home/hadoop-data/data-node-data,/home/hadoop-data/data-node-data-2,/data-3</value> </property>
2、查看磁盘挂载情况
发现只有/data-3是数据目录,而/home/hadoop-data/data-node-data,/home/hadoop-data/data-node-data-2是属于根目录下的,这样做系统会出现问题,故需要将其迁移至数据盘/data-3
3、在/data-3数据目录下创建新目录
mkdir -p /data-3/data-1
mkdir -p /data-3/data-2
4、停止集群并通过相关开发人员
(1)停止historyserver
cd /opt/hadoop-2.7.1
sbin/yarn-daemon.sh stop historyserver
(2)停止resourcemanager
sbin/yarn-daemon.sh stop resourcemanager
(3)停止datanode、journalnode、nodemanager
sbin/hadoop-daemon.sh stop datanode sbin/hadoop-daemon.sh stop journalnode sbin/yarn-daemon.sh stop nodemanager
(4)停止namenode、zkfc
sbin/hadoop-daemon.sh stop namenode
sbin/hadoop-daemon.sh stop zkfc
5、修改旧数据目录名称
mv /home/hadoop-data/data-node-data /home/hadoop-data/data-node-data-bck
mv /home/hadoop-data/data-node-data-2 /home/hadoop-data/data-node-data-2-bck
6、创建新目录
mkdir -p /home/hadoop-data/data-node-data
mkdir -p /home/hadoop-data/data-node-data-2
7、复制数据至新目录(耗时较长,看数据量大小而言)
cp -r /home/hadoop-data/data-node-data-bck/* /data-3/data-1 cp -r /home/hadoop-data/data-node-data-2-bck/* /data-3/data-2
8、添加软链接
ln -s /data-3/data-1/* /home/hadoop-data/data-node-data ln -s /data-3/data-2/* /home/hadoop-data/data-node-data-2
9、重启集群
(1)启动namenode、zkfc
cd /opt/hadoop-2.7.1 sbin/hadoop-daemon.sh start namenode sbin/hadoop-daemon.sh start zkfc
(2)启动datanode、journalnode、nodemanager
sbin/hadoop-daemon.sh start datanode sbin/hadoop-daemon.sh start journalnode sbin/yarn-daemon.sh start nodemanager
(3)启动resourcemanager
sbin/yarn-daemon.sh start resourcemanager
(4)启动historyserver
sbin/yarn-daemon.sh start historyserver
10、删除旧目录数据
cd /home/hadoop-data/ rm -rf data-node-data-bck rm -rf data-node-data-2-bck
11、查看根目录磁盘情况,发现根目录磁盘使用率由82%降至3%,数据已成功迁移至数据盘中,问题解决