1,HDFS常用命令
hdfs dfs -mkdir /data
hdfs dfs -put localfile hdfspath
-rm
-du -h
-chmod
-chown user:group hdfspath
-cat
-zcat
-version
hdfs dfsadmin -report 集群运行状态
-help 获取更多命令
2,作业命令
mapred job -list 列出所有正在运行的作业
mapred job -kill job_xx 停止某个指定的job
3,资源命令
yarn application -list 列出所有在YARN中正在运行的任务
yarn application -kill application_id 停止指定的application任务
4,计算空间命令
hdfs fsck /file -files -blocks -locations -racks 查看文件健康状况
hdfs dfs -du -h /hdfsfile/ 打印目录信息
hdfs dfs -count -q /hdfspath 打印目录信息和qutoa(文件配额)占用情况
hdfs dfs -count -g /hdfspath 打印目录信息和qutoa(文件配额)占用情况
5,namenode
查看NN状态
hdfs haadmin -getServiceState nna(节点名)
强制将nns节点有NameNode Standby切换成Active
hdfs haadmin -transitionToActive/transitionToStandby -forcemanual nna
强制将nna节点有NameNode Active切换成Standby
hdfs haadmin -failover --forcefence --forceactive nna nns
以上切换最简单的办法是直接kill某个节点上的NameNode进程
6,安全模式
进入安全模式
hdfs dfsadmin -safemode enter
关闭安全模式
hdfs dfsadmin -safemode leave
查看安全模式
hdfs dfsadmin -safemode get
7,节点管理
(1), 移除DN
hdfs-site.xml文件配置移除属性
<property>
<name>dfs.hosts.exclude</name>
<value>/home/hadoop/aaa/includes</value>
</property>
[$]vi /home/hadoop/aaa/includes 填入要移除的节点名,如dn3, 保存退出
强制重新加载 hdfs dfsadmin - refreshNodes
dn3节点状态为Decommission in progress 表示块正在移动 Decommissioned 移动完毕,节点可以物理下架
(2),增加DN
hdfs-site.xml文件配置增加属性
<property>
<name>dfs.hosts</name>
<value>/home/hadoop/bbb/includes</value>
</property>
[$]vi /home/hadoop/bbb/includes 填入要移除的节点名,如dn3, 保存退出
启动DataNode进程 hadoop-daemon.sh start datanode
启动NodeManager进程 yarn-daemon.sh start nodemanager
强制重新加载 hdfs dfsadmin - refreshNodes
8, 快照
快照可以用来备份hdfs上的目录或者整个文件系统
新建快照
1)开启快照权限 hdfs dfsadmin -allowSnapshot /tmp/snapshot
2) 指定目录中创建快照 hdfs dfs -createSnapshot /tmp/snapshot backup
查看快照
打印出快照在HDFS上的路径 hdfs lsSnapshottablesDir
根据上条命令打印出来的路径查看 hdfs -dfs -ls /xxxxx/xxxxx
快照对比
hdfs dfs snapshotDiff /xxxx/xxx backup1 backup2
删除快照
hdfs dfs -deleteSnapshot /xxxx/xxxx backup1
禁用快照
hdfs dfsadmin -disallowSnapshot /xxx/xxx