ext3 file system 优化

ext3 在用在hbase上可以做如下优化:

1. mount的时候加上noatime选项。这可以减少管理开销

2. 用命令tune2fs -m 0 /dev/sda1 这样的命令去调整磁盘block 设置。默认ext3会在每一个block中预留一部分空间,这部分空间的目的是,一旦磁盘满了,那么一些critical进程比如OS服务,可以利用这部分空间,而不至于崩溃。这也是有时候我们发现/目录 100%但是OS仍然能运行的原因。这个设置对于根目录这种运行操作系统或者重要服务的挂载点是很有必要。但是对于用在HBASE,Hadoop的data node上时,就没必要了。用上面的命令 -m 0 可以让/dev/sda1的每一个block都百分百的被利用。

----------------

ext4 file system

ext4比ext3更高效,性能能赶上xfs。 而且支持大文件到16TB,甚至volume到1exabyte。使用ext4最好disable它的delayed allocation feature。这个feature是把data 缓存在内存中批量写入磁盘,这样减少磁盘碎片提高读写性能。但是用在hadoop中可能导致数据丢失。另外要知道的是ext 的意思是extent。就是说ext3,4文件系统有extent的概念。这些文件系统把block 组成extent分配给文件,增加可维护性。

----------------

xfs file system

该系统有一个问题就是在大量操作文件比如删除大量文件的时候,可能会有性能问题,因为有很多metadata operation。

----------------

org.apache.hadoop.hbase.client package的HTable class

关于这个class 要知道如下几点:

1. 该class在操作hbase table的时候,对于每一个row具有atomic级别操作。也就是说,并发的写操作在写同一个row的时候会有竞争,而读操作和写操作在同一个row上不会有竞争。

2. 该class的实例化开销很大。所以要实例化一次,多次使用。如果要实例化多个该class 使用HTablePool

hbase definitive guide 笔记的更多相关文章

  1. Introduction to Windows 8: The Definitive Guide for Developer

    <Windows 8应用开发权威指南>介绍 Introduction to Windows 8: The Definitive Guide for Developer 一.封面设计要求及文 ...

  2. MONGODB的内部构造 FROM 《MONGODB THE DEFINITIVE GUIDE》

    今天下载了<MongoDB The Definitive Guide>电子版,浏览了里面的内容,还是挺丰富的.是官网文档实际应用方面的一个补充.和官方文档类似,介绍MongoDB的内部原理 ...

  3. THE DEFINITIVE GUIDE TO DEBUGGING JAVASCRIPT

    FIGURING OUT WHERE THE ERROR COULD BE READ THE CODE USING THE CONSOLE THE CHROME DEV TOOLS THE DEBUG ...

  4. 阅读 Device Driver Programmer Guide 笔记

    阅读 Device Driver Programmer Guide 笔记 xilinx驱动命名规则 以X开头 源文件命名规则 以x打头 底层头文件与高级头文件 重点来了,关于指针的使用 其中 XDev ...

  5. Hadoop – The Definitive Guide Examples,,IntelliJ

    IntelliJ Project for Building Hadoop – The Definitive Guide Examples http://vichargrave.com/intellij ...

  6. Pronunciation – The Definitive Guide to the Top 100 Words in American English

    Pronunciation – The Definitive Guide to the Top 100 Words in American English Share Tweet Share Tagg ...

  7. The Definitive Guide to Ruby's C API The Ruby C API Running Ruby in C Running C in Ruby

    最近在研究如何在C/C++中 嵌入ruby脚本,很感谢找到了一篇文章,分享一下. The Definitive Guide to Ruby's C API

  8. Hadoop: the definitive guide 第三版 拾遗 第十三章 之HBase起步

    指南上这一章的开篇即提出:HBase是一个分布式的.面向列的开源数据库.如果需要实时的随机读/写超大规模数据集,HBase无疑是一个好的选择. 简介 HBase 是一个高可靠性.高性能.面向列.可伸缩 ...

  9. 《JavaScript-The Definitive Guide》读书笔记:字符串常用方法

    concat() 连接多个字符串,返回合并后的字符串. var s1="a"; var s2="b"; var s3="c"; consol ...

随机推荐

  1. jsdk之微信分享流程

    .步骤一:绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. 备注:登录后可在“开发者中心”查看对应的接口权限. .步骤二:引入JS文件 在需要调用JS接口的页面 ...

  2. CREATE TABLE - 定义一个新表

    SYNOPSIS CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name ( { column_name data_ty ...

  3. Java IO(二)--RandomAccessFile基本使用

    RandomAccessFile: 翻译过来就是任意修改文件,可以从文件的任意位置进行修改,迅雷的下载就是通过多个线程同时读取下载文件.例如,把一个文件分为四 部分,四个线程同时下载,最后进行内容拼接 ...

  4. CGPathAddArc

    使用CGPathAddArc使UIView的Layer绕中心点旋转 2012-12-04 15:38 775人阅读 评论(0) 收藏 举报 animationAnimationiosiOSIOSlay ...

  5. Elasticsearch入门和基本使用

    1. 什么是Elasticsearch? Elasticsearch,分布式,高性能,高可用,可伸缩的搜索和分析系统:Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开 ...

  6. <Redis> 入门六 主从复制方式的集群

    1.集群如何操作 现在有三台虚拟机,ip分别为100,105,106,将100作为master,其他两台作为slave 1.vim redis.conf 以前的版本是 slaveof <mast ...

  7. HashMap、ConcurrentHashMap以及HashTable(面试向)

    ---->HashMap 在java1.7中,hashmap的数据结构是基于数组+链表的结构,即我们比较熟悉的Entry数组,其包含的(key-value)键值对的形式.在多线程环境下,Hash ...

  8. Windows下Eclipse+PyDev安装Python开发环境

    .简介 Eclipse是一款基于Java的可扩展开发平台.其官方下载中包括J2EE方向版本.Java方向版本.C/C++方向版本.移动应用方向版本等诸多版本.除此之外,Eclipse还可以通过安装插件 ...

  9. assert.notEqual()

    浅测试,使用不等于比较运算符(!=)比较. const assert = require('assert'); assert.notEqual(1, 2); // OK assert.notEqual ...

  10. echarts的简单应用之(二)饼图

    接上一篇文章: echarts的简单应用之(一)柱形图:https://www.cnblogs.com/jylee/p/9359363.html 本篇文章讲述饼图,撇过折线图不说,是因为折线图与柱形图 ...