在配置 Hadoop 高可用集群过程中,发现根分区(/)磁盘已满,而 /data 分区还有大量空间。以下是迁移 Hadoop 数据目录到 /data 分区的实战过程和注意事项。
1. 检查磁盘使用情况
使用命令:
df -h
可以看到:
/分区:914G 已用 100%/data分区:1.1T 空闲 874G
2. 停止 Hadoop 服务
stop-all.sh
3. 移动 Hadoop 数据目录到 /data
假设 Hadoop 的数据目录为 /hadoop/data:
sudo mv /hadoop/data /data/
4. 创建符号链接以保持路径兼容
ln -s /data/data /hadoop/data
这样原有路径依然可以使用,Hadoop 配置无需更改。
5. 修改目录权限
由于使用 sudo 创建 /data 目录,其所有者通常是 root,需要更改权限:
sudo chown -R hadoop:hadoop /data
sudo chmod -R 755 /data
根据你的实际 Hadoop 运行用户替换 hadoop:hadoop。
6. (可选)修改配置文件
如果你不使用符号链接,而是直接希望 Hadoop 读取 /data 下的新路径,需要修改如下配置文件:
hdfs-site.xml
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hadoop/data</value>
</property>
- 其他如
core-site.xml、yarn-site.xml也可按需调整。
7. 启动 Hadoop 服务
start-all.sh
总结
- 推荐方案:使用符号链接,无需改配置
- 进阶方案:直接改配置,需注意配置一致性
- 确保
/data目录权限正确,避免 Hadoop 无法写入
这一系列操作可以有效释放根分区压力,提升系统稳定性。