【发布时间】:2015-07-04 03:28:38
【问题描述】:
我最近一直在做很多关于 HBase 的阅读,我对 HMaster 和 Zookeeper 在 HBase 架构中的作用有点困惑。
- 当客户端请求数据时,谁得到该请求?假设这是第一个请求。我了解后续请求可以直接向区域服务器发出。但要做到这一点,需要检索元文件的位置,然后需要在区域服务器中的特定元表上运行获取或扫描。
我问的原因是,如果我使用 Java,我会使用 HConnectionManager 类来创建连接。看起来 HConnectionManager 已经有一个可用的区域位置缓存。构建缓存的原因将是在较早发出一些请求时,但是如果缓存不存在并且这是第一个请求怎么办。
谁接受了第一个 HBase 请求,会是 zookeeper quorum?我们正在为 HBaseConfiguration 类提交 hbase-site.xml 文件。
- 另外,我对如何定义“客户”有点困惑?
我读到的另一件事是元信息被缓存在“客户端”上,即使在 HBase REST 的情况下也是如此吗?这里的客户端是 HMaster 还是进行 REST 调用的实际用户。如果是这样,如果元数据暴露给客户端,它不会暴露安全威胁。
【问题讨论】:
标签: hadoop hbase apache-zookeeper