一.dfs
1.旧的dfs方案
可以看到block管理与NN是一对一的,即整个集群中只有一个'block pool',隔离性差;
另外物理是它是置于NN端的,逻辑上把它归入到bock storage上了,这是需要注意的;
2.dfs federation
新存储架构采用了multi-namespaces机制,安全/故障隔离性好;
每个Ns都有一个自己的Pool,这样就构成一个pools(逻辑上的);
因为每个pool可以存储不同DN上的blocks地址,所以pool与DN是多对多关系
(decommision时就需要在所有NN上处理的原因);
在这方面,据我了解百度是分层进行的,这里是并列的.各有各的好处吧.
分层的话
便于扩展,容易扩展到很多层次;缺点是假如root节点down了也同样引起SPOF问题,而且逐级推进的处理方式导致延时严重;
并列的话
避免了分层的问题;但每次添加新的NS都引起小小的震荡,而且多个NS时可能带来维护上的不便
二.mapreduce部分
1.旧的mapred架构
可见,JT负担了资源分配,job调度,tasks初始化,hearbeat检测等大量工作,严重影响了集群性能;同时带来单点问题;
2.mapreduce nextgen / MRV2 / YARN
为了解决JT之前遇到的问题,新一代MR将资源调度,job分配分开了,其中:
ResourceManager(只有一个):只负责资源调度问题,比如某些Containers报告的cpu,内存,网络异常等,进行其它Containers调度;
其中包括:Scheduler:是一个插件,如之前的FairScheduler,资源调度
ApplicationManager:管理job提交,与ApplicationMaster交互
ResourceTracker:处理NodeManager的报告信息
NodeManager:每台机器一个,与RM形成数据处理构架;与AM进行taks执行,管理等
ApplicationMaster(每个job或DAG编程模型一个):负责仲裁从Scheduler获得的Containers,启动并跟踪containers的状态信息等,其实它是first container,承担了之前JT的部分职责.
Container:(每个Job有多个) 负责执行MR任务,相当之前的TT
从图上可以看出,现在是有二个jobs在提交运行,为了兼容,在YARN上编写MR其实与之前版本是完全一样的,这点可以让老手忽略了新架构的底层细节
分享到:
相关推荐
5. **启动Hadoop服务**:通过`sbin`目录下的脚本启动Hadoop的各个服务,如`start-dfs.sh`启动HDFS,`start-yarn.sh`启动YARN。 6. **Hadoop命令**:现在可以通过`hadoop fs`或`hadoop dfs`命令与HDFS交互,进行文件...
《Hadoop 3.1.3在CentOS7上的安装与配置详解》 Hadoop,一个由Apache基金会所开发的分布式系统基础架构,是大数据处理领域的重要工具。本文将详细阐述如何在CentOS7操作系统上安装和配置Hadoop 3.1.3版本,旨在帮助...
Hadoop 2.7.7版本引入了一些关键改进,如YARN(Yet Another Resource Negotiator),它作为一个资源管理系统,提高了集群的资源利用率和任务调度效率。 ### 2. 编译环境准备 在编译Hadoop之前,需要确保你拥有以下...
4. **启动Hadoop**:通过运行`start-dfs.sh`和`start-yarn.sh`脚本来启动Hadoop的HDFS和YARN服务。 5. **测试运行**:使用`hadoop fs -ls /`命令检查HDFS是否正常运行。 了解和掌握Hadoop的这些基本组件和配置步骤...
接着,配置HDFS(Hadoop Distributed File System)的相关参数。在hdfs-site.xml中,你需要指定NameNode和DataNode的数据存储位置,例如: ```xml <name>dfs.replication</name> <value>1</value> </property...
在`yarn-site.xml`中,定义YARN的相关属性;在`mapred-site.xml`中,指定MapReduce的运行模式(本地或集群)。 完成配置后,初始化HDFS命名空间,格式化NameNode,通过`hadoop namenode -format`命令实现。接着,...
3. 修改`etc/hadoop/yarn-site.xml`,配置YARN的相关参数: ```xml <!-- ... --> <name>yarn.nodemanager.resource.memory-mb</name> <value>4096</value> </property> <!-- ... --> </configuration> `...
Hadoop 2.6.0是Hadoop的一个重要版本,它引入了YARN(Yet Another Resource Negotiator),作为资源管理和调度器,改进了Hadoop的性能和可扩展性。CDH(Cloudera Distribution Including Apache Hadoop)是Cloudera...
本资源详细介绍了在 CentOS 6.5 操作系统上安装和配置 Hadoop 2.6.4 集群的步骤,包括配置文件的修改、环境变量的设置、HDFS 和 YARN 的配置等内容。 一、安装 Hadoop 首先,需要下载 Hadoop 2.6.4 的安装包,并将...
2. **配置环境变量**:打开系统环境变量设置,添加新的系统变量`HADOOP_HOME`,指向你的Hadoop安装目录(如`C:\Hadoop\hadoop-3.3.1`)。同时,将`PATH`变量中添加`%HADOOP_HOME%\bin`和`%HADOOP_HOME%\sbin`,以便...
3. **hdfs-site.xml**: 这个文件用于配置HDFS(Hadoop Distributed File System)的相关参数。添加如下配置: ```xml <name>dfs.replication</name> <value>1</value> </property> <name>dfs.name.dir</...
2. 修改Hadoop配置文件: - 配置core-site.xml: ```xml <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` - 配置hdfs-site.xml: ```xml <name>dfs....
7. **启动Hadoop**:使用`start-dfs.cmd`和`start-yarn.cmd`命令启动Hadoop的DataNodes、NameNode和YARN的ResourceManager。 8. **验证安装**:通过`jps`命令查看运行的Hadoop进程,确认它们已经成功启动。还可以...
7. **启动Hadoop服务**: 使用`start-dfs.cmd`和`start-yarn.cmd`命令启动Hadoop的DataNode、NameNode和YARN服务。 8. **验证安装**: 通过`jps`命令检查Hadoop进程是否正常运行,也可以通过Web UI(默认地址:`...
- **配置Hadoop**:编辑`etc/hadoop/hadoop-env.sh`和`etc/hadoop/core-site.xml`等配置文件,设置HDFS和YARN的相关参数。 - **格式化HDFS**:首次安装时需执行`hdfs namenode -format`来初始化NameNode。 - **...
6. **启动Hadoop服务**:运行相关的启动脚本,如`start-dfs.sh`和`start-yarn.sh`,启动Hadoop的各个组件。 7. **验证安装**:通过浏览器访问Hadoop的Web界面,或者运行Hadoop命令行工具检查服务是否正常运行。 8....
2. `bin/`:存放可执行脚本,如`hadoop`、`hdfs`、`yarn`等,用于操作Hadoop集群。 3. `lib/`:包含Hadoop运行所需的第三方库文件。 4. `sbin/`:存放系统级别的脚本,用于启动、停止Hadoop服务。 在Windows上安装...
2. **环境变量配置**:设置`HADOOP_HOME`环境变量指向Hadoop的安装目录,同时将`%HADOOP_HOME%\bin`和`%HADOOP_HOME%\sbin`添加到系统`PATH`中。 3. **配置文件**:修改`conf\hadoop-env.cmd`,设置`HADOOP_OPTS`以...
5. 启动Hadoop服务,如`start-dfs.sh`和`start-yarn.sh`。 使用Hadoop进行数据处理时,可以编写MapReduce程序,这些程序通常由Java编写,但也可以使用其他支持的编程语言(如Python和Scala)。MapReduce程序会被...