HDFS运维
- 常用命令
- 查看目录下的文件列表
- 上传文件
- 文件被复制到本地系统中
- 查看文件内容
- 建立目录
- 复制文件
- 查看目录的健康状态
- check 目录下的文件
- 查看某个目录 block 以及监控情况
- 删除文件或目录
- 查看目录损坏的块
- 查看 HDFS 的基本统计信息
- 主从切换
- 查看 NameNode 主从状态
- active 从 nn1 切换到 nn2
- 安全模式
- 进入安全模式
- 退出安全模式
- 查看状态
- 保存命名空间
- 扩缩容
- Balancer
- 手动降低目录副本
- 体积排名前三的表
- 当前的数据块平均副本数
- 降副本数
常用命令
查看目录下的文件列表
hdfs dfs -ls /user/yx_test
上传文件
hdfs dfs -put bigtable /user/yx_test
文件被复制到本地系统中
hdfs dfs -get /user/yx_test/bigtable /opt/module
查看文件内容
hdfs dfs -cat /user/yx_test/yx_test.txt
建立目录
hdfs dfs -mkdir -p /user/yx_test/test
复制文件
hdfs dfs -copyFromLocal /opt/module/bigtable /user/yx_test/test
查看目录的健康状态
hdfs fsck /user/yx_test/test
check 目录下的文件
hdfs fsck /user/yx_test/test -files
查看某个目录 block 以及监控情况
hdfs fsck /user/yx_test/test -files -blocks -locations
删除文件或目录
hdfs dfs -rm /user/yx_test/test/bigtable
hdfs dfs -rm -r /user/yx_test/test
查看目录损坏的块
hdfs fsck / -list-corruptfileblocks
查看 HDFS 的基本统计信息
hdfs dfsadmin -report
主从切换
查看 NameNode 主从状态
hdfs haadmin -getServiceState nn1
nn1 为在 hdfs-site.xml
中配置的 NameNode 服务的名称
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
保存命名空间
首先进去安全模式不然报错
hdfs dfsadmin -saveNamespace
扩缩容
缩容时注意 :
进入 HDFS 监控页面,看 Number of Under-Replicated Blocks
的值,当该值 = 0 时 , 为下线完毕,才能接着下另一台
Balancer
设置 balance 时的带宽 50M
hdfs dfsadmin -setBalancerBandwidth 52428800
启动数据平衡 (不忙节点 ( 非 NameNode ) ) , threshold = 5% (各个节点与集群总的存储使用率相差不超过 5%( 默认 : 10%)
./sbin/start-balancer.sh -threshold 10
停止数据平衡
./sbin/stop-balancer.sh
检查日志,了解运行情况
more /app/hadoop/hadoop-3.1.2/logs/hadoop-hdfs-balancer-node196.log
手动降低目录副本
现象 : 当 HDFS 存储一直保持在 75% 以上,业务方面已无临时文件和垃圾文件可删 , 就对较大的表进行降副本
体积排名前三的表
hdfs fs -du /user/hive/warehouse | sort -nrk 1 | head -n 3
- 表的大小,默认单位 : B
- 表在 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