gpt4 book ai didi

hadoop - HBase HDFS 动物园管理员

转载 作者:可可西里 更新时间:2023-11-01 14:17:39 25 4
gpt4 key购买 nike

现在我正在学习HBase。我像这样设置我的 HBase 集群和 Hadoop 集群:

server1: Namenode HMaster
server2: datanode1 RegionServer1 HQuorumPeer
Server3: datanode2 RegionServer2 HQuorumPeer
Server4: datanode3 RegionServer3 HQuorumPeer

我有几个关于 HBase 集群的问题:

1: All RegionServers must be in the Hadoop Cluster so it can use HDFS to store 
data, even though it will store data into local file system, right?
2: What does RegionServer do? Does the HMaster give the job to all RegionServeres
and let them running parallel, like tasktracker in datanode?
3: What does zookeeper do? Do I need to setup zookeeper in all RegionServers
nodes and the master node?
4: It is related to #3. I know HBase uses zookeeper to recovery once regionServer
is down. How does it specific work?

最佳答案

所有RegionServers必须在Hadoop Cluster中才能使用HDFS存储 数据,即使它会将数据存储到本地文件系统中,对吧?

是的。 RegionServers 是负责在 HBase 集群中存储数据的守护进程。您将数据存储在 HBase 表中,这些表分布在集群中多个 RegionServer 上的许多区域。尽管数据进入了 RegionServers,但它实际上存储在 HDFS 中。但是,如果您使用的是独立设置,则不会使用 HDFS。数据直接存储在本地 FS 中。它类似于任何 DB 和 FS。以 MSQL 和 ext3 为例。是的,所有 HDFS 数据实际上都存储在您的磁盘上。但是您不能直接看到它。

RegionServer 是做什么的? HMaster 是否将工作交给所有 RegionServeres 并让它们并行运行,就像 datanode 中的 tasktracker?

如上评论所述,RegionServer是HBase集群中实际存储数据的守护进程。对不起,我没有完全理解这个问题的第二部分。 像datanode中的tasktracker是什么意思?在 HBase 集群中,HMaster 是负责监控集群中所有 RegionServer 实例的守护进程,是所有元数据更改的接口(interface)。它的工作是监控和管理。 Regionservers 不像 TaskTrackers 那样运行任何作业。他们只是存储数据并负责诸如服务和管理区域之类的事情。

动物园管理员是做什么的?我是否需要在所有 RegionServers 中设置 zookeeper 节点和主节点?

Zookeeper 负责在幕后协调一切。它是维护配置信息、命名、提供分布式同步和提供组服务的集中式服务。分布式 HBase 设置依赖于正在运行的 ZooKeeper 集群。所有参与的节点和客户端都需要能够访问正在运行的 ZooKeeper 集合体。 HBase 默认管理一个 ZooKeeper 集群。它作为 HBase 启动/停止过程的一部分启动和停止。但是,您也可以独立于 HBase 管理 ZooKeeper 整体,只需将 HBase 指向它应该使用的集群。您不必在所有节点上都运行 Zookeeper。只需确定一些适合您集群的数字即可。这里要注意的一件事是,您应该始终使用奇数 数量的 Zookeeper。

它与#3 有关。我知道 HBase 使用 zookeeper 来恢复一次 regionServer 下来了。它具体是如何工作的?

每个 RegionServer 都连接到 ZooKeeper,master 监视这些连接。 ZooKeeper 管理带有超时的心跳。因此,在超时时,HMaster 将区域服务器声明为已死,并启动恢复过程。在恢复过程中发生了以下事情:

  • 识别一个节点已关闭:一个节点可以停止响应只是因为它过载或者因为它已经死了。
  • 恢复正在进行的写入:读取提交日志并恢复未刷新的编辑。
  • 重新分配区域:区域服务器之前处理一组区域。该集合必须重新分配给其他区域服务器,具体取决于它们各自的工作量。

这个过程实际上有点复杂。您可以在这个 here 上找到更多信息 。我还建议您阅读 Lars 的《HBase 权威指南》一书,以便对 HBase 有所了解。

HTH

关于hadoop - HBase HDFS 动物园管理员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18729366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com