Hadoop目录结构介绍

本文基于Hadoop2.7.3版本编写!

Hadoop Dist目录结构

4dc361f2732f2382/a856a1f204654a10b2186794a88239db.png

  • bin

    Hadoop基本管理脚本和使用脚本所在目录,是sbin目录下管理脚本的基础实现。可直接使用这些脚本管理及使用Hadoop。

  • etc

    Hadoop配置文件所在目录,包括core-site.xmlhdfs-site.xmlyarn-site.xml等。

  • include

    对外提供的编程库头文件,这些头文件均是用C++定义,通常用于C++程序访问HDFS或者编写MapReduce程序。

  • lib

    提供Hadoop对外的编程动态库和静态库,与include目录的头文件结合使用。

  • libexec

    服务器对应的shell配置文件所在目录,可用于配置日志输出目录、启动参数(如JVM参数)等基本信息。

  • sbin

    Hadoop管理脚本所在目录,主要包括HDFS和YARN中各类服务的启动和关闭脚本。

  • share

    Hadoop各个模块编译后jar文件及doc文档所在目录。

源码导入eclipse

编辑源码根目录下pom.xml文件

  • 注释<repositories>节点内Snapshots源,添加Staging

    避免maven从https://repository.apache.org/content/repositories/snapshots下载依赖包,导致很多依赖文件下载不到。

1
2
3
4
5
<repository>
<id>${distMgmtStagingId}</id>
<name>${distMgmtStagingName}</name>
<url>${distMgmtStagingUrl}</url>
</repository
如下图所示:

493e0c0dbe75ec2d/ba82d8b2e57b461eb2e3b065f91a2fa9.png

  • 修改<properties>节点内distMgmtStagingUrl

    https://repository.apache.org/service/local/staging/deploy/maven2修改为http://repo2.maven.org/maven2/,解决需要登录Apache私服授权问题。

    493e0c0dbe75ec2d/91339230af68463b8a84952c3c5b3ec8.png

下载并配置ProtocolBuffer

  • 下载ProtocolBuffer 2.5.0

  • 解压ProtocolBuffer到[HADOOP_SRC_HOME]目录,并将protoc.exe加入PATH环境变量

  • 验证是否配置成功,命令行输入protoc,出现以下信息代表配置成功

1
2
C:\Users\Jason>protoc
Missing input file.

该配置主要解决如下错误提示:

1
2
3
4
5
6
7
8
9
10
[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.7.3:protoc (compile-protoc) on project  did not return a version -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :hadoop-common

转换工程并导入

cmd进入源码目录,通过如下命令,首先安装Hadoop依赖插件,然后转换工程为eclipse工程。

1
2
3
4
cd hadoop-maven-plugins
mvn install
cd ..
mvn eclipse:eclipse -DskipTests

当出现以下提示时,表示转换成功。

493e0c0dbe75ec2d/583cc2006ac7430d8bdf65f4b55cb0a1.png

转换完成后,通过Eclipse导入工程即可。