HBase、HDFS和MapReduce架构异同简解
2023-06-25编程教程下载本文HBase,异同,架构
.. |
HBase(公司架构模型) |
HDFS2.0(公司架构模型) |
MR2.0(公司架构模型) |
MR1.0(公司架构模型) |
中央 |
HMaster |
NameNode(NN) |
ResourceManger(RM) |
JobTracker(JT) |
地方 |
HRegionServer(HRS) |
DataNode(DN) |
NodeManager(NM) |
TaskTracker(TT) |
监控协调者 |
ZooKeeper |
ZooKeeper |
ZooKeeper |
无 |
是否有HA |
HMaster-backups |
NN(Standby) |
RM(Standby) |
无,存在单点故障 |
故障转移方式 |
1.HMaster与ZooKeeper直接通讯(谁先建立znode,则谁为active) 2.HRegionServer与ZooKeeper直接通讯 |
NM不与ZooKeeper直接通讯,ZKFC监控NM状态,ZKFC与ZK通讯,由ZKFC来参与选举(谁先建立znode,则谁为active) |
RM直接与ZK直接通讯,谁先建立znode,则谁为active |
无,存在单点故障 |
地方故障谁负责恢复和转移 |
HMaster |
NameNode |
ResourceManager |
JobTracker |
中央与地方的通讯 |
HRegionServer与ZK心跳,HMaster从ZK获取HRS状态 |
DN周期性向NN汇报 |
NM周期性向RM汇报 |
TT周期性向JT汇报 |
中央的共同职责 |
1. 负责地方任务的分配和故障转移 2. 监听地方的健康状态(HMaster从ZooKeeper获取HRegionServer的状态) 3. 地方资源的分配 |
|
|
|
中央各特点 |
分配HRegionServer上的Region |
分配DN的block |
分配NM上container上的任务 |
分配TaskTracker上的task |
负载均衡 |
HRS上region的负载均衡 |
block的负载均衡 |
|
|
特点 |
1.Region的预分区、分裂和合并 2.Compaction机制 3.WAL机制 4.读写流程 |
1.副本策略 2.数据写入的副本管道传输机制 3.联邦制 |
1.资源调度和应用管理独立进程 2.NM上节点资源由NM管理,ApplicationManager和 AppliactionMaster管理任务 3.container概念 |
1.将资源划分为等量以slot为单位 2.maptask和reducetask独立分配 |
HBase、HDFS和MapReduce架构异同简解的相关教程结束。
《HBase、HDFS和MapReduce架构异同简解.doc》
下载本文的Word格式文档,以方便收藏与打印。
-
-
-
hbase怎么根据时间戳筛选数据
在HBase中,可以通过使用Scan对象来根据时间戳筛选数据。以下是一个示例代码:
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
import org.apache.h...
2024-05-07编程代码HBase
-
hbase查询一条数据的方法是什么
使用HBase查询一条数据的方法通常是通过使用Get操作。通过创建一个Get对象,指定要获取数据的行键,然后将该Get对象传递给HBase的Table对象的get方法来执行查询操作。具体代码示例如下:
Configuration config = ...
2024-05-07编程代码HBase
-
hbase和mysql的区别有哪些
HBase和MySQL是两种不同类型的数据库管理系统,它们有以下几点主要区别:
数据模型:HBase是一种NoSQL数据库,采用列式存储模型,数据以行键(Row Key)和列族(Column Family)的形式存储。而MySQL是一种关系...
2024-05-07编程代码HBase,mysql
-
hbase如何查看表数据总数
在HBase中,要查看表数据的总数,可以通过Java API或者HBase Shell命令来实现。
使用Java API:
可以使用HBase的Java API来获取表的总行数。以下是一个示例代码:
Configuration config = HBaseConfiguration.c...
2024-05-07编程代码HBase
-
flink怎么读取hbase数据
在Flink中读取HBase数据可以通过Flink的Table API和Flink的DataStream API来实现。
使用Table API:
首先,需要添加HBase Connector的依赖:
<dependency>
<groupId>org.apache.flink</grou...
2024-05-07编程代码Flink,HBase
-
hbase怎么获取指定列的值
要获取HBase中指定列的值,可以使用Scan操作来扫描表,并指定需要获取的列族和列。具体步骤如下:
创建HBase的Configuration对象和Connection对象:
Configuration config = HBaseConfiguration.create();
Conn...
2024-05-07编程代码HBase
-
hbase和hive有什么区别和联系
HBase和Hive都是Apache软件基金会的项目,用于大数据处理和分析,但它们有不同的用途和特点。
区别:
HBase是一个分布式的、面向列的NoSQL数据库,适合实时读写大规模数据,使用HDFS(Hadoop分布式文件系统)...
2024-05-07编程代码HBase,hive