温馨提示×

Debian如何管理HDFS数据

小樊
38
2025-12-27 01:17:15
栏目: 智能运维

在 Debian 上管理 HDFS 数据

一 环境准备与基础配置

  • 安装 Java 8/11(以 OpenJDK 11 为例):sudo apt update && sudo apt install -y openjdk-11-jdk;验证:java -version。创建专用用户 hadoop 并配置 SSH 免密;在 /etc/hosts 完成主机名映射;建议启用 NTP 做时钟同步。下载并解压 Hadoop 3.3.x,设置环境变量:export HADOOP_HOME=/usr/local/hadoop;export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin;在 hadoop-env.sh 中设置 JAVA_HOME。核心配置示例:core-site.xml 设置 fs.defaultFS=hdfs://namenode:8020;hdfs-site.xml 设置 dfs.replication=3dfs.namenode.name.dirdfs.datanode.data.dirdfs.blocksize=134217728(128MB)。首次启动前在 NameNode 执行:hdfs namenode -format;启动 HDFS:start-dfs.sh;进程检查:jps(应见 NameNode/DataNode,如配置 Secondary 还会看到 SecondaryNameNode);健康检查:hdfs dfsadmin -report;Web UI:Hadoop 3.x 为 http://namenode:9870

二 常用 HDFS 数据操作

  • 目录与权限:hdfs dfs -mkdir -p /user/hadoop;hdfs dfs -chmod 755 /user/hadoop;hdfs dfs -chown hadoop:hadoop /user/hadoop。
  • 文件传输:hdfs dfs -put local.txt /user/hadoop/input;hdfs dfs -get /user/hadoop/output/part-r-00000 ./out;hdfs dfs -cat /user/hadoop/input/local.txt;hdfs dfs -tail /user/hadoop/logs/app.log;hdfs dfs -cp /src /dst;hdfs dfs -mv /src /dst;hdfs dfs -rm /path/file;hdfs dfs -rm -r /path/dir。
  • 配额与统计:hdfs dfsadmin -setQuota 100000 /data(文件数配额);hdfs dfsadmin -setSpaceQuota 1t /data(容量配额);hdfs dfs -count -q /data(配额与已用);hdfs dfsadmin -report(集群节点与容量);hdfs dfs -du -h /data(目录大小);hdfs dfs -ls -h /data(人类可读列表)。

三 数据保护与恢复

  • 快照(Snapshot):对关键目录开启快照 hdfs fs -allowSnapshot /data;创建快照 hdfs fs -createSnapshot /data snap_20250801;恢复文件 hdfs fs -cp /data/.snapshot/snap_20250801/file /data/restore/。
  • 回收站(Trash):删除默认进入回收站(保留期可配置),误删可从回收站恢复:hdfs dfs -cp /user/hadoop/.Trash/Current/file /user/hadoop/。
  • 跨集群/异地备份:使用 distcp 做全量/增量同步,例如:hadoop distcp -m 20 hdfs://src-cluster:8020/data hdfs://dst-cluster:8020/backup/data;可按日期/目录分层执行,便于回滚。

四 运维与优化要点

  • 安全与连通:核对 /etc/hostsSSH 免密、防火墙策略;放行端口 8020(NameNode RPC)、9870(NameNode Web)、50075(DataNode Web)、50010(DataNode 数据传输)。启用 NTP 避免时间漂移导致异常。
  • 存储与副本:生产环境建议 dfs.replication=3;单机或测试可设为 1;块大小 dfs.blocksize 大文件可设为 256MB/512MB 减少小文件与元数据压力;为 dfs.namenode.name.dir/dfs.datanode.data.dir 挂载高性能/大容量磁盘,并将 hadoop.tmp.dir、HADOOP_LOG_DIR 指向充足分区。
  • 监控与排障:用 jpshdfs dfsadmin -report 巡检;通过 http://namenode:9870 查看 DataNode 健康、块报告与容量;NameNode 元数据与编辑日志(fsimage/edits)定期备份;目录与配额超限、磁盘满、权限错误是常见故障点,优先检查对应目录、配额与磁盘使用。

0