我的意思是,2 个选项: 1. 在 Hadoop 集群上安装 HBase,它也可以进行离线计算,因此意味着只有 1 个 hadoop 集群。2. 为离线计算安装一个 Hadoop 集群,然后为 HBase 安装另一个 Hadoop 集群以使用其 HDFS。
所以 2 个选项是:一个是集成集群,另一个实际上是 2 个集群。
这两个选项的优缺点是什么?
我的意思是,2 个选项: 1. 在 Hadoop 集群上安装 HBase,它也可以进行离线计算,因此意味着只有 1 个 hadoop 集群。2. 为离线计算安装一个 Hadoop 集群,然后为 HBase 安装另一个 Hadoop 集群以使用其 HDFS。
所以 2 个选项是:一个是集成集群,另一个实际上是 2 个集群。
这两个选项的优缺点是什么?
选项 1:集成集群。
优点:读取或写入 HBase 的 MapReduce 将更有效地作为数据局部性。
缺点:HBase 区域服务器会降低机器(Datanode 和 TaskTracker)的性能,因为它需要占用一些 CPU 和内存。如果有许多 MapReduce 作业,HBase 延迟可能是几秒钟。所以想要让HBase及时响应,还需要做更多的工作(比如使用memcache来提高读取性能)。
选项 2:2 个集群。
Prons:HBase 区域服务器不会影响 HDFS Datenode 和 TaskTracker 的性能。
缺点:MapReduce 要想访问 HBase,需要远程读写数据。该选项还需要更多机器。