曾经做过一个测试,用hdfs和 kfs分别作hadoop的底层,发现还是hdfs快,可能hdfs更符合hadoop的生态系统,但是一个很明显的现象就是用hdfs的时候,系统的内存缓存量很大几乎等于全部内存,iowait 也很高,kfs则没那么严重,这也是kfs慢的原因吧,因此如果在一个繁忙的集群上测试,哪个效果好,还是难以下定论,c++比java省内存和cpu,好多人都这么说,具体原因,我还不清楚,需要进一步学习。下面引用了另一位高人的随笔:

  Hypertable C++ vs Hbase Java

Hypertable 和Hbase二者同源,设计也有诸多相似之处,最主要的区别当然还是编程语言的选择。Hbase选择Java主要是因为Apache和Hadoop的公共 库、历史项目基本都采用该语言,并且Java项目在设计模式和文档上一般都比C++项目好,非常适合开源项目。C++的优势当然还是在性能和内存使用上。 Yahoo曾经给出了一个很好的Terasort结果(perspectives.mvdirona.com/2008/07/08/HadoopWinsTeraSort.aspx), 它们认为对于大多数Mapreduce任务,比如分布式排序,性能瓶颈在于IO和网络,Java和C++在性能上基本没有区别。不过,使用Java的 Mapreduce在每台服务器上明显使用了更多的CPU和内存,如果用于分布式排序的服务器还需要部署其它的CPU/内存密集型应用,Java的性能劣 势将显现。对于Hypertable/HBase这样的表格系统,Java的选择将带来如下问题: 1.  Hyertable/Hbase是内存和CPU密集型的。Hypertable/Hbase采用Log-Structured Merge Tree设计,系统可以使用的内存直接决定了系统性能。内存中的memtable和表格系统内部的缓存都大量使用内存,可使用的内存减少将导致 merge-dump频率加大,直接加重底层HDFS的压力。另外,读取和dump操作大量的归并操作也可能使CPU成为一个瓶颈,再加上对数据的压缩/ 解压缩,特别是Bigtable中最经常使用的BM-diff算法在压缩/解压缩过程完全跑满一个CPU核,很难想象Java实现的Hbase能够与 C++实现的Hypertable在性能上抗衡。 2. Java垃圾回收。目前Java虚拟机垃圾回收时将停止服务一段时间,这对Hypertable/HBase中大量使用的Lease机制是一个很大的考 验。虽然Java垃圾回收可以改进,但是企图以通用的方式完全解决内存管理问题是不现实的。内存管理没有通用做法,需要根据应用的访问模式采取选择不同的 策略。 当然,Hadoop由于采用了Java设计,导致开源合作变得更加容易,三大核心系统之上开发的辅助系统,如Hadoop的监控,Pig等都相当成功。所 以,我的观点依然是:对于三驾马车的核心系统,采用C++相对合理;对于辅助模块,Java是一个不错的选择。

转载于:https://www.cnblogs.com/qianxun/archive/2011/04/26/2029321.html

Hypertable hbase hdfs kfs java与c++的较量相关推荐

  1. java kfs_Hypertable hbase hdfs kfs java与c++的较量

    曾经做过一个测试,用hdfs和 kfs分别作hadoop的底层,发现还是hdfs快,可能hdfs更符合hadoop的生态系统,但是一个很明显的现象就是用hdfs的时候,系统的内存缓存量很大几乎等于全部 ...

  2. 【收藏】HDFS的Java API使用

    Hadoop HDFS的Java API使用 https://blog.csdn.net/u010416101/article/details/88984618

  3. java hadoop api_Hadoop 系列HDFS的Java API( Java API介绍)

    HDFS的Java API Java API介绍 将详细介绍HDFS Java API,一下节再演示更多应用. Java API 官网 如上图所示,Java API页面分为了三部分,左上角是包(Pac ...

  4. HDFS的JAVA客户端编写

    HDFS的shell操作很简单,直接查看文档就可以,和Linux指令类似,下面简单总结一下HDFS的JAVA客户端编写.(HA集群的话把core-site.xml,hdfs-site.xml,mapr ...

  5. 《Hadoop MapReduce实战手册》一2.8 使用HDFS的Java API

    本节书摘来异步社区<Hadoop MapReduce实战手册>一书中的第2章,第2.8节,作者: [美]Srinath Perera , Thilina Gunarathne 译者: 杨卓 ...

  6. 【Hadoop/Java】基于HDFS的Java Web网络云盘

    [Hadoop/Java]基于HDFS的Java Web网络云盘 本人BNUZ大学生萌新,水平不足,还请各位多多指教! 实验目的 熟悉HDFS Java API的使用: 能使用HDFS Java AP ...

  7. hbase建索引java api_hbase创建索引

    1.代码 package Test05; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import ...

  8. hbase日志报java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder的错

    环境是这样的 Hadoop-2.8.5 Hbase-2.2.4 之前查了官网,这两个版本是目前可以互相匹配的最高的版本,but启动hbase报下面这个错误 具体日志在log/下hbase-root-m ...

  9. hbase 2.4 java.lang.NoSuchMethodError: java.nio.ByteBuffer.rewind()Ljava/nio/ByteBuffer

    hbase 2.4集群环境启动报错,java.lang.NoSuchMethodError: java.nio.ByteBuffer.rewind()Ljava/nio/ByteBuffer ​ 详细 ...

最新文章

  1. 计算机视觉预备知识,计算机视觉:泊松融合
  2. 汇编语言随笔(8)-实验9(显示字符串)、实验10(子程序:除法溢出,数值到字符串的转换)和课程设计1
  3. 异常 —— throws
  4. 如何查询服务器是否安装系统时间,如何查看系统当前的NTP配置?
  5. number five
  6. jQuery+CSS3实现404背景动画特效【转】
  7. IIS6.0服务器架站无法访问解决方案总结
  8. 大型企业***技术(cisco)
  9. ServiceNow对实施IT服务管理的七个经验和成功实践
  10. 异常:Activity has leaked window com.android.internal.policy.impl.PhoneWindow
  11. 如何在 Linux 系统中添加桌面图标
  12. Unity 2D 混合树小例子
  13. 10款iOS高效开发必备的Objective-C类库(转)
  14. 大作业系列之体育课 | 从NBA中看篮球精神
  15. MATLAB下载html页面
  16. iphone微信下无法播放音乐
  17. Android Server Push Notification - Urban Airship
  18. python---简单游戏制作(飞机大战)
  19. 爱数oracle rac备份,客户案例 |爱数AnyStorage打造宁乡县人民医院RAC+虚拟化混合架构容灾...
  20. redmine mysql 优化_Redmine性能优化方案

热门文章

  1. 手动排除fbiytty和vcxlcph病毒的干扰
  2. WHEN OVERSEAS
  3. powerbi visualization
  4. 多智能系统的第一个小视频
  5. Resources与StreamingAssets文件夹的区别
  6. iOS Sharing #02 | 2019-03-30
  7. MaBatis(5)输入/输出映射
  8. Windows 使用 Gogs 搭建 Git 服务器
  9. 等待指定时间后自动跳转或关闭当前页面
  10. 学习大玩家的ROS笔记