hadoop启动脚本分析及常见命令
进程
------------------
[hdfs]start-dfs.sh
NameNode NN
DataNode DN
SecondaryNamenode 2NN
[yarn]start-yarn.sh
ResourceMananger RM
NodeManager NM
脚本分析
-------------------
sbin/start-all.sh
--------------
libexec/hadoop-config.sh
start-dfs.sh
start-yarn.sh
sbin/start-dfs.sh
--------------
libexec/hadoop-config.sh
sbin/hadoop-daemons.sh --config .. --hostname .. start namenode ...
sbin/hadoop-daemons.sh --config .. --hostname .. start datanode ...
sbin/hadoop-daemons.sh --config .. --hostname .. start sescondarynamenode ...
sbin/hadoop-daemons.sh --config .. --hostname .. start zkfc ... //
sbin/start-yarn.sh
--------------
libexec/yarn-config.sh
bin/yarn-daemon.sh start resourcemanager
bin/yarn-daemons.sh start nodemanager
sbin/hadoop-daemons.sh
----------------------
libexec/hadoop-config.sh
slaves
hadoop-daemon.sh
sbin/hadoop-daemon.sh
-----------------------
libexec/hadoop-config.sh
bin/hdfs ....
sbin/yarn-daemon.sh
-----------------------
libexec/yarn-config.sh
bin/yarn
bin/hadoop
------------------------
hadoop verion //版本
hadoop fs //文件系统客户端.
hadoop jar //
hadoop classpath
hadoop checknative
bin/hdfs
------------------------
dfs // === hadoop fs
classpath
namenode -format
secondarynamenode
namenode
journalnode
zkfc
datanode
dfsadmin
haadmin
fsck
balancer
jmxget
mover
oiv
oiv_legacy
oev
fetchdt
getconf
groups
snapshotDiff
lsSnapshottableDir
portmap
nfs3
cacheadmin
crypto
storagepolicies
version
hdfs常用命令
--------------------
$>hdfs dfs -mkdir /user/centos/hadoop
$>hdfs dfs -ls -r /user/centos/hadoop
$>hdfs dfs -lsr /user/centos/hadoop
$>hdfs dfs -put index.html /user/centos/hadoop
$>hdfs dfs -get /user/centos/hadoop/index.html a.html
$>hdfs dfs -rm -r -f /user/centos/hadoop
------------------------------------------------------------------------------------------------------
fsimage\edits 是序列化后的文件,想要查看或编辑里面的内容,可通过 hdfs 提供的 oiv\oev 命令,如下:
- 命令: hdfs oiv (offline image viewer) 用于将fsimage文件的内容转储到指定文件中以便于阅读,,如文本文件、XML文件,该命令需要以下参数:
- -i (必填参数) –inputFile <arg> 输入FSImage文件
- -o (必填参数) –outputFile <arg> 输出转换后的文件,如果存在,则会覆盖
- -p (可选参数) –processor <arg> 将FSImage文件转换成哪种格式: (Ls|XML|FileDistribution).默认为Ls
- 示例:hdfs oiv -i /data1/hadoop/dfs/name/current/fsimage_0000000000019372521 -o /home/hadoop/fsimage.txt
- 命令:hdfs oev (offline edits viewer 离线edits查看器)的缩写, 该工具只操作文件因而并不需要hadoop集群处于运行状态。
- 示例: hdfs oev -i edits_0000000000000042778-0000000000000042779 -o edits.xml
- 支持的输出格式有binary(hadoop使用的二进制格式)、xml(在不使用参数p时的默认输出格式)和stats(输出edits文件的统计信息)
----------------------------------------------------------------------------------------------------------------------------------------------------------
hdfs dfsadmin
hadoop dfsadmin -report
用这个命令可以快速定位出哪些节点down掉了,HDFS的容量以及使用了多少,以及每个节点的硬盘使用情况。
hdfs dfsadmin -safemode enter 进入安全模式
hdfs dfsadmin -safemode get
hdfs dfsadmin -safemode leave
hdfs dfsadmin -safemode wait
----------------------------------------------------------------------------------------------------------------------------------------------------------
保存名字空间,需要进入安全模式
--------------------------------
$>hdfs dfsamdin -saveNamespace
hadoop启动命令
------------------
$>start-all.sh //start-dfs.sh + start-yarn.sh
$>start-dfs.sh //hadoop-daemon.sh start namenode
//hadoop-daemons.sh start datanode
$>start-yarn.sh //yarn-daemon.sh start resourcemanager
//yarn-daemons.sh start nodemanager
配额管理(quota)
-------------------
[目录配额]
计算目录下的所有文件的总个数。如果1,表示空目录。
$>hdfs dfsadmin -setQuota 1 dir1 dir2 //设置目录配额
$>hdfs dfsadmin -clrQuota 1 dir1 dir2 //清除配额管理
[空间配额]
计算目录下的所有文件的总大小.包括副本数.
空间配置至少消耗384M的空间大小(目录本身会占用384M的空间)。
$>hdfs dfsadmin -setSpaceQuota 3 data
$>echo -n a > k.txt
$>hdfs dfs -put k.txt data2
$>hdfs dfsadmin -clrSpaceQuota dir1 //清除配额管理
快照管理
--------------------
1.描述
迅速对文件(夹)进行备份。不产生新文件,使用差值存储。
默认是禁用快照,先启用。
2.命令
$>hdfs dfsadmin -allowSnapShot dir1 //在dir1启用快照
$>hdfs dfsadmin -disallowSnapShot dir1 //在dir1启用快照
$>hdfs dfs -createSnapshot dir ss1 //创建快照
$>hdfs dfs -renameSnapshot dir ss1 ss2 //重命名
$>hdfs dfs -deleteSnapshot dir ss1 //删除快照