Hadoop项目的模块划分/目录结构/核心配置介绍

作者: admin 分类: Hadoop 发布时间: 2018-02-23 09:22  阅读: 754 views

 

Hadoop官网下载后的目录结构以及介绍

附下载地址:http://hadoop.apache.org/

bin: hadoop最基本的管理脚本和使用脚本的目录,这些脚本是sbin目录下管理脚本的基础实现,用户可以直接使用这些脚本管理合使用hadoop。

etc: hadoop配置文件所在的目录,包括core-site,xml、hdfs-site.xml、mapred-site.xml等从Hadoop1.0继承而来的配置文件和yarn-site.xml等Hadoop2.0新增的配置文件。

include: 对外提供的编程库头文件(具体的动态库和静态块在lib目录中),这些头文件均是用C++定义的,通常用于C++程序访问HDFS或者编写MapReduce程序。

lib: 该目录包含了Hadoop对外提供的编程动态库和静态库,与include目录中的头文件结合使用。

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

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

share: hadoop各个模块编译后的jar包所在的目录

hadoop发展史

 

Hadoop项目的模块划分[核心模块以及相关依赖项目]

1.Hadoop Common:一系列组件和接口,用于分布式文件系统和通用I/O(序列化、Java RPC和持久化数据结构等)

2.HDFS(Hadoop Distributed File System):一种分布式文件系统,可提供对应用程序高吞吐量的数据访问。

3.Hadoop YARN( Yet Another Resource Negotiator ):作业调度和集群资源管理的框架

4.Hadoop MapReduce:一种用于并行处理大型数据集的基于YARN的系统

Hadoop项目模块划分

Apache的其他hadoop项目依赖介绍

1.Ambari: 以综合功能用于供应,管理和监控Apache Hadoop集群的基于Web的工具,其中包括对Hadoop HDSF,Hadoop MapReduce, Hive, HCatalog,HBase,ZooKeeper,Oozie,Pig和Sqoop的支持。Ambari还提供了一个用于查看群集运行状况的仪表板,如热图可以直观地查看MapReduce,Pig和Hive应用程序的功能,以及以用户友好的方式诊断其性能特征的功能

2.Avro: 一种序列化系统,用于支持高效、跨语言的RPC和持久化数据存储

3.Cassandra: 无单点故障的可扩展多主数据库

4.Chukwa: 管理大型分布式系统的数据收集系统

5.Hive:一种分布式的、按列存储的数据仓库。Hive管理HDFS中存储的数据,并提供基于SQL的查询语言(由运行时引擎翻译成MapReduce作业)用以查询数据。是提供数据汇总和及时查询的数据仓库基础架构

6.HBase:一种分布式的、按列存储的数据库。HBase使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询(随机读取)。是可扩展的分布式数据库,支持大型表格的结构化数据存储

注解:数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。 数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。 数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。

7.Mahout:可扩展的机器学习和数据挖掘库。

8.Pig:用于并行计算的高级数据流语言和执行框架,用以探究非常庞大的数据集。Pig运行在MapReduce和HDFS集群。

9.Spark:用于Hadoop数据的快速和通用计算引擎。它提供了一个简单而富有表现力的编程模型,它支持广泛的应用程序,包括ETL,机器学习,流处理和图计算。

10.Tez:一种基于Hadoop YARN的通用数据流编程框架,它提供了一个强大且灵活的引擎,可执行任意DAG任务来处理批处理和交互式用例的数据。Hadoop生态系统中的Hive,Pig和其他框架以及其他商业软件正在采用Tez,以取代hadoop-MapReduce作为基础执行引擎。

11.ZooKeeper:以综合功能分布式的、可用性高的协调服务。Zookeeper提供分布式锁之类的基本服务用于构建分布式应用

12.Sqoop:该工具用于在结构化数据存储(如关系型数据库)和HDFS之间高效批量传输数据

13.Oozie:该服务用于运行和调度Hadoop作业(如MapReduce,Pig,Hive以及Sqoop作业)

 

 

hadoop项目的几个核心文件配置介绍

core-site.xml/

hadoop的核心全局配置文件,可在其他配置文件中引用该文件中定义的属性,如在hdfs-site.xml以及mapred-site.xml中引用该文件的属性。该文件的模板文件存在于$HADOOP_HOME/src/core/core-default.xml

核心

hdfs-site.xml/

hdfs配置文件,该模板的属性继承与core-site.xml. 该文件的模板文件存在于 $HADOOP_HOME/src/core/core-default.xml

mapred-site.xml/

MapReduce的配置文件,该模板的属性继承于core-site.xml

yarn-site.xml/

资源管理器将JobTracker和TaskTracker进行分离,它由下面几大构成组件:

a. 一个全局的资源管理器 ResourceManager

b.ResourceManager的每个节点代理 NodeManager

c. 表示每个应用的 ApplicationMaster

d. 每一个ApplicationMaster拥有多个Container在NodeManager上运行

hadoop-env.cmd/sh hadoop的环境变量,可以直接配置jdk等参数

其他:

slaves: 用于设置所有的slave的名称或IP,每一行存放一个,如果是名称,设置的slave名称必须在/etc/hosts有ip映射配置

mapred-queue-acls.xml: MapReduce的队列配置

 


以上信息,只是基本了解下。如果要深入理解,需要细致研究一番才好。

 


   原创文章,转载请标明本文链接: Hadoop项目的模块划分/目录结构/核心配置介绍

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

更多阅读