Hadoop安装包目录结构详解

我们以hadoop-2.9.2.tar.gz为例。
解压到指定目录

tar -zxvf hadoop-2.9.2.tar.gz -C /opt

通过查看得到如下目录结构总图

[root@master hadoop-2.9.2]# ll
drwxr-xr-x. 2 501 dialout   4096 11月 13 23:15 bin
drwxr-xr-x. 3 501 dialout     19 11月 13 23:15 etc
drwxr-xr-x. 2 501 dialout    101 11月 13 23:15 include
drwxr-xr-x. 3 501 dialout     19 11月 13 23:15 lib
drwxr-xr-x. 2 501 dialout   4096 11月 13 23:15 libexec
-rw-r--r--. 1 501 dialout 106210 11月 13 23:15 LICENSE.txt
-rw-r--r--. 1 501 dialout  15917 11月 13 23:15 NOTICE.txt
-rw-r--r--. 1 501 dialout   1366 11月 13 23:15 README.txt
drwxr-xr-x. 3 501 dialout   4096 11月 13 23:15 sbin
drwxr-xr-x. 4 501 dialout     29 11月 13 23:15 share

这里详细说明:

文件目录 作用
bin Hadoop最基本的管理脚本和使用脚本的目录,这些脚本是sbin目录下管理脚本的基础实现 。用户可以直接使用这些脚本管理和使用Hadoop
etc Hadoop的配置文件所在的目录。
include 对外提供的编程库头文件(具体动态库和静态库在lib目录中),这些头文件均是用C++定义的,通常用于C++程序访问HDFS或者编写MapReduce程序。
lib 该目录下存放的是Hadoop运行时依赖的jar包,Hadoop在执行时会把lib目录下面的jar全部加到classpath中。
libexec 各个服务对用的shell配置文件所在的目录,可用于配置日志输出、启动参数(比如JVM参数)等基本信息。
sbin Hadoop管理脚本所在的目录,主要包含HDFS和YARN中各类服务的启动/关闭脚本。
share Hadoop各个模块编译后的jar包所在的目录。
logs 该目录存放的是Hadoop运行的日志,查看日志对寻找Hadoop运行错误非常有帮助。

需要注意的是,logs文件目录需要hadoop初始化之后才会自动生成。

补充说明

这里我们简单说明一下相关目录下的常用文件及其作用。

bin/目录

[root@master hadoop-2.9.2]# ll bin/
-rwxr-xr-x. 1 501 dialout 344195 11月 13 23:15 container-executor
-rwxr-xr-x. 1 501 dialout   6656 11月 13 23:15 hadoop
-rwxr-xr-x. 1 501 dialout   8786 11月 13 23:15 hadoop.cmd
-rwxr-xr-x. 1 501 dialout  13032 11月 13 23:15 hdfs
-rwxr-xr-x. 1 501 dialout   8371 11月 13 23:15 hdfs.cmd
-rwxr-xr-x. 1 501 dialout   6237 11月 13 23:15 mapred
-rwxr-xr-x. 1 501 dialout   6310 11月 13 23:15 mapred.cmd
-rwxr-xr-x. 1 501 dialout   1776 11月 13 23:15 rcc
-rwxr-xr-x. 1 501 dialout 420603 11月 13 23:15 test-container-executor
-rwxr-xr-x. 1 501 dialout  15747 11月 13 23:15 yarn
-rwxr-xr-x. 1 501 dialout  12794 11月 13 23:15 yarn.cmd
文件名称 作用
hadoop 用于执行hadoop脚本命令,被hadoop-daemon.sh调用执行,也可以单独执行,一切命令的核心

sbin/目录

[root@master hadoop-2.9.2]# ll sbin/
-rwxr-xr-x. 1 501 dialout 2752 11月 13 23:15 distribute-exclude.sh
drwxr-xr-x. 4 501 dialout   34 11月 13 23:15 FederationStateStore
-rwxr-xr-x. 1 501 dialout 6477 11月 13 23:15 hadoop-daemon.sh
-rwxr-xr-x. 1 501 dialout 1360 11月 13 23:15 hadoop-daemons.sh
-rwxr-xr-x. 1 501 dialout 1640 11月 13 23:15 hdfs-config.cmd
-rwxr-xr-x. 1 501 dialout 1427 11月 13 23:15 hdfs-config.sh
-rwxr-xr-x. 1 501 dialout 3148 11月 13 23:15 httpfs.sh
-rwxr-xr-x. 1 501 dialout 3677 11月 13 23:15 kms.sh
-rwxr-xr-x. 1 501 dialout 4134 11月 13 23:15 mr-jobhistory-daemon.sh
-rwxr-xr-x. 1 501 dialout 1648 11月 13 23:15 refresh-namenodes.sh
-rwxr-xr-x. 1 501 dialout 2145 11月 13 23:15 slaves.sh
-rwxr-xr-x. 1 501 dialout 1779 11月 13 23:15 start-all.cmd
-rwxr-xr-x. 1 501 dialout 1471 11月 13 23:15 start-all.sh
-rwxr-xr-x. 1 501 dialout 1128 11月 13 23:15 start-balancer.sh
-rwxr-xr-x. 1 501 dialout 1401 11月 13 23:15 start-dfs.cmd
-rwxr-xr-x. 1 501 dialout 3734 11月 13 23:15 start-dfs.sh
-rwxr-xr-x. 1 501 dialout 1357 11月 13 23:15 start-secure-dns.sh
-rwxr-xr-x. 1 501 dialout 1571 11月 13 23:15 start-yarn.cmd
-rwxr-xr-x. 1 501 dialout 1347 11月 13 23:15 start-yarn.sh
-rwxr-xr-x. 1 501 dialout 1770 11月 13 23:15 stop-all.cmd
-rwxr-xr-x. 1 501 dialout 1462 11月 13 23:15 stop-all.sh
-rwxr-xr-x. 1 501 dialout 1179 11月 13 23:15 stop-balancer.sh
-rwxr-xr-x. 1 501 dialout 1455 11月 13 23:15 stop-dfs.cmd
-rwxr-xr-x. 1 501 dialout 3206 11月 13 23:15 stop-dfs.sh
-rwxr-xr-x. 1 501 dialout 1340 11月 13 23:15 stop-secure-dns.sh
-rwxr-xr-x. 1 501 dialout 1642 11月 13 23:15 stop-yarn.cmd
-rwxr-xr-x. 1 501 dialout 1340 11月 13 23:15 stop-yarn.sh
-rwxr-xr-x. 1 501 dialout 4295 11月 13 23:15 yarn-daemon.sh
-rwxr-xr-x. 1 501 dialout 1353 11月 13 23:15 yarn-daemons.sh
文件名称 作用
start-dfs.sh 启动NameNode、DataNode以及SecondaryNameNode
start-yarn.sh 启动ResourceManager以及NodeManager
stop-dfs.sh 停止NameNode、DataNode以及SecondaryNameNode
stop-yarn.sh 停止ResourceManager以及NodeManager
start-all.sh 相当于执行 start-dfs.sh 及 start-yarn.sh
stop-all.sh 相当于执行 stop-dfs.sh 及 stop-yarn.sh
hadoop-daemon.sh 通过执行hadoop命令来启动/停止一个守护进程(daemon);
该命令会被bin目录下面所有以start或stop开头的所有命令调用来执行命令;
hadoop-daemons.sh也是通过调用hadoop-daemon.sh来执行命令;
hadoop-daemon.sh本身就是通过调用hadoop命令来执行任务。

etc/hadoop/目录

[root@master hadoop-2.9.2]# ll etc/hadoop/
-rw-r--r--. 1 501 dialout  7861 11月 13 23:15 capacity-scheduler.xml
-rw-r--r--. 1 501 dialout  1335 11月 13 23:15 configuration.xsl
-rw-r--r--. 1 501 dialout  1211 11月 13 23:15 container-executor.cfg
-rw-r--r--. 1 501 dialout   774 11月 13 23:15 core-site.xml
-rw-r--r--. 1 501 dialout  4133 11月 13 23:15 hadoop-env.cmd
-rw-r--r--. 1 501 dialout  4969 11月 13 23:15 hadoop-env.sh
-rw-r--r--. 1 501 dialout  2598 11月 13 23:15 hadoop-metrics2.properties
-rw-r--r--. 1 501 dialout  2490 11月 13 23:15 hadoop-metrics.properties
-rw-r--r--. 1 501 dialout 10206 11月 13 23:15 hadoop-policy.xml
-rw-r--r--. 1 501 dialout   775 11月 13 23:15 hdfs-site.xml
-rw-r--r--. 1 501 dialout  2230 11月 13 23:15 httpfs-env.sh
-rw-r--r--. 1 501 dialout  1657 11月 13 23:15 httpfs-log4j.properties
-rw-r--r--. 1 501 dialout    21 11月 13 23:15 httpfs-signature.secret
-rw-r--r--. 1 501 dialout   620 11月 13 23:15 httpfs-site.xml
-rw-r--r--. 1 501 dialout  3518 11月 13 23:15 kms-acls.xml
-rw-r--r--. 1 501 dialout  3139 11月 13 23:15 kms-env.sh
-rw-r--r--. 1 501 dialout  1788 11月 13 23:15 kms-log4j.properties
-rw-r--r--. 1 501 dialout  5939 11月 13 23:15 kms-site.xml
-rw-r--r--. 1 501 dialout 14016 11月 13 23:15 log4j.properties
-rw-r--r--. 1 501 dialout  1076 11月 13 23:15 mapred-env.cmd
-rw-r--r--. 1 501 dialout  1507 11月 13 23:15 mapred-env.sh
-rw-r--r--. 1 501 dialout  4113 11月 13 23:15 mapred-queues.xml.template
-rw-r--r--. 1 501 dialout   758 11月 13 23:15 mapred-site.xml.template
-rw-r--r--. 1 501 dialout    10 11月 13 23:15 slaves
-rw-r--r--. 1 501 dialout  2316 11月 13 23:15 ssl-client.xml.example
-rw-r--r--. 1 501 dialout  2697 11月 13 23:15 ssl-server.xml.example
-rw-r--r--. 1 501 dialout  2250 11月 13 23:15 yarn-env.cmd
-rw-r--r--. 1 501 dialout  4876 11月 13 23:15 yarn-env.sh
-rw-r--r--. 1 501 dialout   690 11月 13 23:15 yarn-site.xml
文件名称 作用
hadoop-env.sh Hadoop环境变量配置文件
core-site.xml Hadoop全局配置文件
hdfs-site.xml HDFS的核心配置文件
mapred-site.xml MapReduce的核心配置文件,模板文件mapred-site.xml.template
slaves 用于设置所有的slave的名称或IP,每行存放一个
yarn-site.xml yarn的核心配置文件

你可能感兴趣的:(Hadoop)