HDFS的Shell操作與管理
6.1 啓動HDFS
Step01:格式化NameNode
[hadoop@hadoop-yarn hadoop-2.2.0]$ bin/hdfsnamenode –format
說明:namenode在格式化的時候會產生一個ClusterID。也可以在格式化的時候自定義指定ID:
bin/hdfsnamenode –format –clusterid yarn-cluster
Step02:啓動NameNode
啓動腳本在$HADOOP_HOME/sbin目錄下,在命令行輸入:sbin/hadoop-deamon.sh ,可以看到關於該命令的提示:
Usage:hadoop-daemon.sh [--config <conf-dir>] [--hosts hostlistfile] [--scriptscript] (start|stop) <hadoop-command> <args...>
啓動NameNode:
[hadoop@hadoop-yarn hadoop-2.2.0]$sbin/hadoop-daemon.sh start namenode
驗證:jps查看是否有NameNode進程
Step03:啓動DataNode
[hadoop@hadoop-yarn hadoop-2.2.0]$sbin/hadoop-daemon.sh start datanode
驗證:jps查看是否有DataNode
輸入HDFS的Web監控地址: http://hadoop-yarn.dragon.org:50070
Step04:啓動SecondaryNameNode
[hadoop@hadoop-yarn hadoop-2.2.0]$ sbin/hadoop-daemon.shstart secondarynamenode
驗證:jps查看是否有SecondaryNameNode
輸入SecondaryNameNode的管理地址: http://hadoop-yarn.dragon.org:50090
6.2日誌分析
(1) 啓動日誌文件目錄爲: $HADOOP_HOME/logs
(2) 日誌文件的格式 :【log】和【out】
.log:通過log4j記錄的,記錄大部分應用程序的日誌信息
.out:記錄標準輸出和標準錯誤日誌,少量記錄
(1) 日誌文件的命名規則
【框架名稱-用戶名-進程名-主機名-日誌格式後綴】
6.3HDFS的Shell操作
(1)hdfs命令使用說明
在$HADOOP_HOME/bin目錄下有個hdfs腳本,查看該命令的使用方法:
[hadoop@localhost hadoop-2.2.0]$ bin/hdfs
執行上面的命令以後,就會列出關於hdfs命令的使用方法:
Usage:hdfs [--config confdir] COMMAND
where COMMAND is one of:
dfs run a filesystem command on the file systemssupported in Hadoop.
namenode-format format the DFS filesystem
secondarynamenode run the DFS secondary namenode
namenode run the DFS namenode
journalnode run the DFS journalnode
zkfc run the ZK Failover Controller daemon
datanode run a DFS datanode
dfsadmin run a DFS admin client
haadmin run a DFS HA admin client
fsck run a DFS filesystem checking utility
balancer run a cluster balancing utility
jmxget get JMX exported values from NameNode orDataNode.
oiv apply the offline fsimage viewer to anfsimage
oev apply the offline edits viewer to an editsfile
fetchdt fetch a delegation token from theNameNode
getconf get config values from configuration
groups get the groups which users belong to
snapshotDiff diff two snapshots of a directory or diffthe
current directory contents with a snapshot
lsSnapshottableDir list all snapshottable dirs owned by thecurrent user
Use -help to seeoptions
portmap run a portmap service
nfs3 run an NFS version 3 gateway
Mostcommands print help when invoked w/o parameters.
(2)hdfsdfs命令使用說明
從上面可以看到,hdfs命令下面有很多命令,下面我們瞭解分佈式文件系統相關的命令:
[hadoop@localhost hadoop-2.2.0]$ bin/hdfs dfs
Usage:hadoop fs [generic options]
[-appendToFile<localsrc> ... <dst>]
[-cat[-ignoreCrc] <src> ...]
[-checksum<src> ...]
[-chgrp[-R] GROUP PATH...]
[-chmod[-R] <MODE[,MODE]... | OCTALMODE> PATH...]
[-chown[-R] [OWNER][:[GROUP]] PATH...]
[-copyFromLocal[-f] [-p] <localsrc> ... <dst>]
[-copyToLocal[-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-count [-q] <path> ...]
[-cp[-f] [-p] <src> ... <dst>]
[-createSnapshot<snapshotDir> [<snapshotName>]]
[-deleteSnapshot<snapshotDir> <snapshotName>]
[-df[-h] [<path> ...]]
[-du[-s] [-h] <path> ...]
[-expunge]
[-get[-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-getmerge [-nl] <src><localdst>]
[-help[cmd ...]]
[-ls[-d] [-h] [-R] [<path> ...]]
[-mkdir[-p] <path> ...]
[-moveFromLocal<localsrc> ... <dst>]
[-moveToLocal<src> <localdst>]
[-mv<src> ... <dst>]
[-put[-f] [-p] <localsrc> ... <dst>]
[-renameSnapshot<snapshotDir> <oldName> <newName>]
[-rm[-f] [-r|-R] [-skipTrash] <src> ...]
[-rmdir[--ignore-fail-on-non-empty] <dir> ...]
[-setrep[-R] [-w] <rep> <path> ...]
[-stat[format] <path> ...]
[-tail[-f] <file>]
[-test-[defsz] <path>]
[-text[-ignoreCrc] <src> ...]
[-touchz<path> ...]
[-usage[cmd ...]]
Genericoptions supported are
-conf<configuration file> specify anapplication configuration file
-D<property=value> usevalue for given property
-fs<local|namenode:port> specifya namenode
-jt<local|jobtracker:port> specifya job tracker
-files<comma separated list of files> specify comma separated files to be copied to the map reduce cluster
-libjars<comma separated list of jars> specify comma separated jar files to include in the classpath.
-archives<comma separated list of archives> specify comma separated archives to be unarchived on the computemachines.
Thegeneral command line syntax is
bin/hadoopcommand [genericOptions] [commandOptions]