hadoop - HBase 独立性能与在 HDFS 集群上运行的对比

标签 hadoop hbase hdfs

我的应用程序连接到 HBase 并进行大量通信(每秒数百或数千次读/写)。这会严重影响性能,可能是由于 HBase 对每个请求执行的 I/O 操作。

Time cost with and without HBase! Doo.dle 是对我的代码的调用 - 蓝色和红色之间的区别是 HBase 消耗的时间。

目前,我只在独立模式下进行了测试,其中 HBase 使用本地文件系统存储数据。我想知道,在分布式模式下使用一个实际的 HDFS 是否可以显着提高性能,或者只是产生相同的结果。我试图在浪费太多时间启动和运行集群之前获得线索。

我问自己的第二个问题是,是否可以将独立的 HBase 配置为仅将数据持久保存到内存 (RAM),而不是将其写入文件系统以进行性能测量。

最佳答案

在独立模式下,HBase 不使用 HDFS ,它在同一个 JVM 中运行所有 HBase 守护进程和本地 ZooKeeper

在伪分布式模式下,Hbase 可以针对本地文件系统运行,也可以针对 Hadoop 分布式文件系统的实例运行。所以单机和伪分布式在性能上没有区别。

全分布式模式需要使用 HDFS,这意味着任务将遍历作业,根据我的经验,这需要时间。

因此,在具有实际 HDFS 的完全分布式模式下使用 Hbase 可以显着提高性能。

关于hadoop - HBase 独立性能与在 HDFS 集群上运行的对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29494459/

相关文章:

java - 无法在Hadoop的MapReduce代码中的ArrayList <String>中 “.add(StringTokenizer.nextToken())”失败

hadoop - 无法在 HDP 2.0 上运行 Spark 1.0 SparkPi

hadoop - java.io.IOException : Incompatible clusterIDs 异常

hadoop - 为kafka配置Zookeeper

hadoop - SPARK在Memory中是如何读取数据和管理的

hadoop - 使用hadoop文件系统org.apache.hadoop.fs.FileSystem写二进制文件

hadoop - AWS EMR 如何调整大小

hadoop - Hbase 分布式模式可以使用本地文件系统代替DFS吗?

java - HBase OutOfOrderScannerNextException 在扫描时使用过滤器

ubuntu - 如何在Windows中访问Ubuntu VM HDFS?