两个独立的服务器,一台用HDFS,一台不用HDFS可以吗?HDFS和Hbase必须要装在同一台服务器上吗?

参与4

1同行回答

空kong空kong  其它 , 某单位
Hbase 运行在 HDFS 之上,每个 StoreFile 都被写成一个 HDFS 的文件,能理解 HDFS 的架构,它是如何存储文件,处理故障转移和复制块很重要大多数情况下, Hbase 将数据存储在 HDFS 之上,像 Hfile 和 WALs( 主要为了防止 RegionServer 出现故障 ) 都会存储在 HDFS 上, HDFS 提供对 Hb...显示全部

Hbase 运行在 HDFS 之上,每个 StoreFile 都被写成一个 HDFS 的文件,能理解 HDFS 的架构,它是如何存储文件,处理故障转移和复制块很重要

大多数情况下, Hbase 将数据存储在 HDFS 之上,像 Hfile 和 WALs( 主要为了防止 RegionServer 出现故障 ) 都会存储在 HDFS 上, HDFS 提供对 Hbase 数据的可靠性和保证,为了最大化的操作效率, Hbase 也需要本地的数据是可靠的,因此最好是在每一个 RegionServer 上运行 DataNode 。

当有问题出现的时候,最好同时检查 HDFS 和 Hbase 的日志,因为日志可能再两个地方都有记录。

另外, HBase 不支持一台用 HDFS ,一台不用 HDFS ,在完全分布式的场景中,多个 Hbase 的实例运行在集群的多个服务器上面,一般要设置两个属性:

hbase.rootdir 指向一个 HDFS 的文件系统

hbase.cluster.distributed 属性设置为 true 。

如下:可以看到 HBase 只能指向某一种文件系统的路径上,而且想要 HBase 完全的分布式,必须要设置上面两个属性。

HBase 是 HDFS 的客户端, Hbase 使用的是 DFSClient 来和 HDFS 交互,可以看到配置就是 Hbase 指向 HDFS 的那个位置, HBase 通过 Ip port 访问 HDFS 。

参见: https://hbase.apache.org/book.html#_hbase_and_hdfs

收起
保险 · 2020-02-12
浏览1431

提问者

care
care002
项目经理某单位

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2020-02-11
  • 关注会员:2 人
  • 问题浏览:2293
  • 最近回答:2020-02-12
  • X社区推广