HDFS运维

  • 常用命令
  • 查看目录下的文件列表
  • 上传文件
  • 文件被复制到本地系统中
  • 查看文件内容
  • 建立目录
  • 复制文件
  • 查看目录的健康状态
  • check 目录下的文件
  • 查看某个目录 block 以及监控情况
  • 删除文件或目录
  • 查看目录损坏的块
  • 查看 HDFS 的基本统计信息
  • 主从切换
  • 查看 NameNode 主从状态
  • active 从 nn1 切换到 nn2
  • 安全模式
  • 进入安全模式
  • 退出安全模式
  • 查看状态
  • 保存命名空间
  • 扩缩容
  • Balancer
  • 手动降低目录副本
  • 体积排名前三的表
  • 当前的数据块平均副本数
  • 降副本数


常用命令

查看目录下的文件列表

hdfs dfs -ls /user/yx_test

读取hadoop文件 Broken pipe hadoop 查看文件_大数据

上传文件

hdfs dfs -put bigtable /user/yx_test

读取hadoop文件 Broken pipe hadoop 查看文件_hdfs_02

文件被复制到本地系统中

hdfs dfs -get /user/yx_test/bigtable /opt/module

读取hadoop文件 Broken pipe hadoop 查看文件_hadoop_03

查看文件内容

hdfs dfs -cat /user/yx_test/yx_test.txt

读取hadoop文件 Broken pipe hadoop 查看文件_大数据_04

建立目录

hdfs dfs -mkdir -p /user/yx_test/test

读取hadoop文件 Broken pipe hadoop 查看文件_大数据_05

读取hadoop文件 Broken pipe hadoop 查看文件_大数据_06

复制文件

hdfs dfs -copyFromLocal /opt/module/bigtable /user/yx_test/test

读取hadoop文件 Broken pipe hadoop 查看文件_hdfs_07

查看目录的健康状态

hdfs fsck /user/yx_test/test

读取hadoop文件 Broken pipe hadoop 查看文件_hadoop_08

check 目录下的文件

hdfs fsck /user/yx_test/test -files

读取hadoop文件 Broken pipe hadoop 查看文件_hdfs_09

查看某个目录 block 以及监控情况

hdfs fsck /user/yx_test/test -files -blocks -locations

读取hadoop文件 Broken pipe hadoop 查看文件_大数据_10

删除文件或目录

hdfs dfs -rm /user/yx_test/test/bigtable

读取hadoop文件 Broken pipe hadoop 查看文件_hadoop_11

hdfs dfs -rm -r /user/yx_test/test

读取hadoop文件 Broken pipe hadoop 查看文件_大数据_12

查看目录损坏的块

hdfs fsck / -list-corruptfileblocks

读取hadoop文件 Broken pipe hadoop 查看文件_hdfs_13

查看 HDFS 的基本统计信息

hdfs dfsadmin -report

读取hadoop文件 Broken pipe hadoop 查看文件_运维_14

主从切换

查看 NameNode 主从状态

hdfs haadmin -getServiceState nn1

nn1 为在 hdfs-site.xml 中配置的 NameNode 服务的名称

读取hadoop文件 Broken pipe hadoop 查看文件_查看hadoop文件指令_15

active 从 nn1 切换到 nn2

hdfs haadmin -failover nn1 nn2

安全模式

进入安全模式

两个 NameNode 进入安全模式

hdfs dfsadmin -safemode enter

单个 NameNode 进入安全模式

hdfs dfsadmin -fs hdfs://cpu101:8020 -safemode enter

退出安全模式

两个 NameNode 退出安全模式

hdfs dfsadmin -safemode leave

单个 NameNode 退出安全模式

hdfs dfsadmin -fs hdfs://cpu101:8020 -safemode leave

查看状态

hdfs dfsadmin -safemode get

读取hadoop文件 Broken pipe hadoop 查看文件_hdfs_16

保存命名空间

首先进去安全模式不然报错

hdfs dfsadmin -saveNamespace

扩缩容

缩容时注意 :

进入 HDFS 监控页面,看 Number of Under-Replicated Blocks 的值,当该值 = 0 时 , 为下线完毕,才能接着下另一台

读取hadoop文件 Broken pipe hadoop 查看文件_查看hadoop文件指令_17

Balancer

设置 balance 时的带宽 50M

hdfs dfsadmin -setBalancerBandwidth 52428800

读取hadoop文件 Broken pipe hadoop 查看文件_大数据_18

启动数据平衡 (不忙节点 ( 非 NameNode ) ) , threshold = 5% (各个节点与集群总的存储使用率相差不超过 5%( 默认 : 10%)

./sbin/start-balancer.sh -threshold 10

读取hadoop文件 Broken pipe hadoop 查看文件_大数据_19

停止数据平衡

./sbin/stop-balancer.sh

检查日志,了解运行情况

more /app/hadoop/hadoop-3.1.2/logs/hadoop-hdfs-balancer-node196.log

读取hadoop文件 Broken pipe hadoop 查看文件_查看hadoop文件指令_20

手动降低目录副本

现象 : 当 HDFS 存储一直保持在 75% 以上,业务方面已无临时文件和垃圾文件可删 , 就对较大的表进行降副本

体积排名前三的表

hdfs fs -du /user/hive/warehouse | sort -nrk 1 | head -n 3
  1. 表的大小,默认单位 : B
  2. 表在 HDFS 中的绝对路径

当前的数据块平均副本数

hdfs fsck /user/hive/warehouse

降副本数

hdfs fs -setrep -R 2 /user/hive/warehouse/yx_test.db

降副本原理 : 给文件设置一个目标副本系数 ( 2 ),然后当前的平均副本系数 ( 3 ) 逐渐靠近目标副本系数 , 所以要反复执行 hadoop fsck 来确认

hdfs fsck /user/hive/warehouse/yx_test.db

读取hadoop文件 Broken pipe hadoop 查看文件_hdfs_21