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文件,该命令需要以下参数:
    1. -i  (必填参数)  –inputFile <arg>  输入FSImage文件
    2. -o (必填参数)  –outputFile <arg> 输出转换后的文件,如果存在,则会覆盖
    3. -p (可选参数) –processor <arg>   将FSImage文件转换成哪种格式: (Ls|XML|FileDistribution).默认为Ls
    4. 示例:hdfs oiv -i /data1/hadoop/dfs/name/current/fsimage_0000000000019372521 -o /home/hadoop/fsimage.txt
  • 命令:hdfs oev (offline edits viewer 离线edits查看器)的缩写, 该工具只操作文件因而并不需要hadoop集群处于运行状态。
    1. 示例:  hdfs oev -i edits_0000000000000042778-0000000000000042779 -o edits.xml
    2. 支持的输出格式有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 //删除快照

 

posted @ 2018-01-31 16:24  一只宅男的自我修养  阅读(515)  评论(0编辑  收藏  举报