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. Redis 存储字符串和对象

    今天用redis存储,发现客户端jedis提供的存储方法中存储的类型只有String和byte数据,没有能够存储对象的,网上发现可以序列化存储对象.这就开始了我第一次序列化之旅.     1 测试类 ...

  2. 洛谷 P1364 医院设置

    题目描述 设有一棵二叉树,如图: 其中,圈中的数字表示结点中居民的人口.圈边上数字表示结点编号,现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻接点之间的距离为l.如上 ...

  3. Java Socket 连接 Client端 和 Server端

    Client端: import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;i ...

  4. gearman的安装

    #gearman服务的安装与使用 #-- set -x set -e #安装开发依赖库 yum install gcc gcc-c++ make automake glibc libgomp libs ...

  5. Oracle数据库自定义函数练习20181031

    --测试函数3 CREATE OR REPLACE FUNCTION FN_TEST3 (NUM IN VARCHAR2) RETURN VARCHAR2 IS TYPE VARCHAR2_ARR ) ...

  6. JAVA基础——对象流

    对象的输入输出流的作用: 用于写入对象 的信息和读取对象的信息. 使得对象持久化.    ObjectInputStream   : 对象输入流    ObjectOutPutStream  :对象输 ...

  7. python3+beautifulSoup4.6抓取某网站小说(二)基础功能设计

    本章学习内容:1.网页编码还原读取2.功能设计 stuep1:网页编码还原读取 本次抓取对象: http://www.cuiweijuxs.com/jingpinxiaoshuo/ 按照第一篇的代码来 ...

  8. [python] 时间序列分析之ARIMA

    1 时间序列与时间序列分析 在生产和科学研究中,对某一个或者一组变量  进行观察测量,将在一系列时刻  所得到的离散数字组成的序列集合,称之为时间序列. 时间序列分析是根据系统观察得到的时间序列数据, ...

  9. iOS sandbox

    iOS的沙盒机制,应用只能访问自己应用目录下的文件.iOS不像android,没有SD卡概念,不能直接访问图像.视频等内容.iOS应用产生的内容,如图像.文件.缓存内容等都必须存储在自己的沙盒内.默认 ...

  10. linux 服务脚本

    #!/bin/bash # # chkconfig: # description: my_SERVICE_NAME is a my Service # # common function . /etc ...