hbase definitive guide 笔记
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 笔记的更多相关文章
- Introduction to Windows 8: The Definitive Guide for Developer
<Windows 8应用开发权威指南>介绍 Introduction to Windows 8: The Definitive Guide for Developer 一.封面设计要求及文 ...
- MONGODB的内部构造 FROM 《MONGODB THE DEFINITIVE GUIDE》
今天下载了<MongoDB The Definitive Guide>电子版,浏览了里面的内容,还是挺丰富的.是官网文档实际应用方面的一个补充.和官方文档类似,介绍MongoDB的内部原理 ...
- 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 ...
- 阅读 Device Driver Programmer Guide 笔记
阅读 Device Driver Programmer Guide 笔记 xilinx驱动命名规则 以X开头 源文件命名规则 以x打头 底层头文件与高级头文件 重点来了,关于指针的使用 其中 XDev ...
- Hadoop – The Definitive Guide Examples,,IntelliJ
IntelliJ Project for Building Hadoop – The Definitive Guide Examples http://vichargrave.com/intellij ...
- 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 ...
- 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
- Hadoop: the definitive guide 第三版 拾遗 第十三章 之HBase起步
指南上这一章的开篇即提出:HBase是一个分布式的.面向列的开源数据库.如果需要实时的随机读/写超大规模数据集,HBase无疑是一个好的选择. 简介 HBase 是一个高可靠性.高性能.面向列.可伸缩 ...
- 《JavaScript-The Definitive Guide》读书笔记:字符串常用方法
concat() 连接多个字符串,返回合并后的字符串. var s1="a"; var s2="b"; var s3="c"; consol ...
随机推荐
- python的unitest的简单使用
python的unitest的简单使用 unittest提供一个TestLoader类用于自动创建一个测试集并把单个测试放入到测试集中. TestLoader自动运行测试用例以test开头的方法的测试 ...
- Java基础(十四)--装箱、拆箱详解
Java中基本数据类型都有相对应的包装类 什么是装箱?什么是拆箱? 在Java SE5之前,Integer是这样初始化的 Integer i = new Integer(10); 而在从Java SE ...
- 【转】UpdateData()函数
一.总结UpdateData()函数 UpdateData(true);//用于将屏幕上控件中的数据交换到变量中. UpdateData(false);//用于将数据在屏幕中对应控件中显示出来. 当你 ...
- Duplicate fragment name ERROR Jetty Maven Plugin
http://stackoverflow.com/questions/5802096/duplicate-fragment-name-error-jetty-maven-plugin 4down vo ...
- 2. 区分散列的 undef 值, 和手动赋值 0 不一样。1. 使用exists函数,散列中有这个键(必须是keys %hash 有这结果),则返回真值,
2. 123 my %vertical_alignment; 124 $vertical_alignment{"subscripting"} = 0; 125 unle ...
- java自动机器人自动生成修姓名工具类
public class GenerateName { public static String getName() { Random random = new Random(); String[] ...
- li标签和checkbox绑定
参考原文:https://www.cnblogs.com/youxin/p/3885496.html 我们经常需要li或span包含一个checkbox,不管点击checkbox或li都会触发相应的事 ...
- Linux部署Web项目小记
1.安装Tomcat 官网下载 解压缩:tar -zxvf apache-tomcat-8.0.32.tar.gz 配置server.xml 连接池: <Executor name=" ...
- Python 迭代器-生成器-面向过程编程
上节课复习:1. 函数的递归调用 在调用一个函数的过程中又直接或者间接地调用了函数本身称之为函数的递归 函数的递归调用有两个明确的阶段: 1. 回溯 一层一层地调用本身 注意: 1.每一次调用问题的规 ...
- 零基础入门学习Python(18)--函数:灵活即强大
前言 上一节课我们基本介绍Python函数的用法,这一节课我们主要针对函数的参数进行进一步的深入学习. 知识点 形参(parameter)和实参(argument) >>> def ...