Change Dir

先知cd——热爱生活是一切艺术的开始

统计

留言簿(18)

积分与排名

“牛”们的博客

各个公司技术

我的链接

淘宝技术

阅读排行榜

评论排行榜

Hbase配置项粗解(1)

继之前写的设计和使用tip,这里补充一下hbase所有的配置项。之前涉及的一个项目在hbase设计上存在缺陷,当进入时已经存在着很多rowkey设计和读写问题,现在重读hbase文档,把所有的配置项整理一遍。

hbase.tmp.dir:本地文件系统的临时目录,默认是${java.io.tmpdir}/hbase-${user.name};

hbase.rootdir:hbase持久化的目录,被所有regionserver共享,默认${hbase.tmp.dir}/hbase,一般设置为hdfs://namenode.example.org:9000/hbase类似,带全限定名;

hbase.cluster.distributed:hbase集群模式运作与否的标志,默认是false,开启需要设置为true,false时启动hbase会在一个jvm中运行hbase和zk;

hbase.zookeeper.quorum:重要的也是必须设置的,启动zk的服务器列表,逗号分隔,cluster模式下必须设置,默认是localhost,hbase客户端也需要设置这个值去访问zk;

hbase.local.dir:本地文件系统被用在本地存储的目录,默认${hbase.tmp.dir}/local/;

hbase.master.port:hbase master绑定的端口,默认是60000;

hbase.master.info.port:hbase master web 界面的端口,默认是60010,设置为-1可以禁用ui;

hbase.master.info.bindAddress:master web界面的绑定地址,默认是0.0.0.0;

hbase.master.logcleaner.plugins:清理日志的插件列表,逗号分隔,被LogService调用的LogCleanerDelegate,可以自定义,顺序执行,清理WAL和HLog;默认org.apache.hadoop.hbase.master.cleaner.TimeToLiveLogCleaner

hbase.master.logcleaner.ttl:HLog在.oldlogdir目录中生存的最长时间,过期则被Master起线程回收,默认是600000;

hbase.master.hfilecleaner.plugins:HFile的清理插件列表,逗号分隔,被HFileService调用,可以自定义,默认org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleaner

hbase.master.catalog.timeout:Catalog Janitor从master到META的超时时间,我们知道这个Janitor是定时的去META扫描表目录,来决定回收无用的regions,默认是600000;

fail.fast.expired.active.master:如果master过期,那么不需要从zk恢复,直接终止,默认是false;

hbase.master.dns.interface:master的dns接口,向该接口提供ip,默认是default;

hbase.master.dns.nameserver:master使用的dns主机名或者ip,默认是default;

hbase.regionserver.port:regionserver绑定的端口,默认是60020;

hbase.regionserver.info.port:regionserver的web界面端口,-1取消界面,默认是60030;

hbase.regionserver.info.bindAddress:regionserver的web绑定,默认是0.0.0.0;

hbase.regionserver.info.port.auto:master或者regionserver是否自动搜索绑定的端口,默认是false;

hbase.regionserver.handler.count:regionserver上rpc listener的个数,http://kenwublog.com/hbase-performance-tuning把这个配置称为io线程数,其实雷同,就是说在regionserver上一个处理rpc的handler,默认是30;

hbase.regionserver.msginterval:regionserver向master发消息的间隔,默认3000毫秒;

hbase.regionserver.optionallogflushinterval:如果没有足够的entry触发同步,那么过了这个间隔后HLog将被同步到HDFS,默认是1000毫秒;

hbase.regionserver.regionSplitLimit:regionsplit的最大限额,默认是MAX_INT=2147483647,设置这个限制后,在到达限制时region split就不会再进行;

hbase.regionserver.logroll.period:不管有多少版本,直接roll掉commit log的周期,也就是说一个固定的时间周期,到期就roll,默认是3600000毫秒;

hbase.regionserver.logroll.errors.tolerated:可接受的WAL关闭错误个数,到达后将触发服务器终止;设置为0那么在WAL writer做log rolling失败时就停止region server,默认是2;

hbase.regionserver.hlog.reader.impl:HLog 文件reader的实现类,默认是org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader;

hbase.regionserver.hlog.writer.impl:HLog 文件writer的实现类,默认是org.apache.hadoop.hbase.regionserver.wal.ProtobufLogWriter;

hbase.regionserver.global.memstore.upperLimit:memstore在regionserver内存中的上限,届时新的update被阻塞并且flush被强制写,默认是0.4就是堆内存的40%;阻塞状态持续到regionserver的所有memstore的容量到达hbase.regionserver.global.memstore.lowerLimit;

hbase.regionserver.global.memstore.lowerLimit:memstore在regionserver内存中的最大上限,到达时flush就被强制写,默认是0.38等价于38%的内存容量;

hbase.regionserver.optionalcacheflushinterval:一个edit版本在内存中的cache时长,默认3600000毫秒,设置为0的话则禁止自动flush;

hbase.regionserver.catalog.timeout:regionserver的Catalog Janitor访问META的超时时间,默认是600000;

hbase.regionserver.dns.interface:同master类似~~不讲

hbase.regionserver.dns.nameserver:同master类似

zookeeper.session.timeout:这是个值得说道一下的配置,首先ZK客户端要用,Hbase使用zk的客户端联系总体,同时也被用来启动一个zk server,作为zk的maxSessionTimeout,总的来说就是regionserver与zk的关键参数,如果连接超时,master会重新的balance,regionserver也会被从集群名单中清除,默认是90000;一个问题是如果zk 由hbase自己维护,那么该参数作为regionserver连接是一个值,如果zk在另外的集群,那么zk自己的maxSessionTimeout参数将优先于Hbase的该参数,届时可能会发生超时时间不同的问题;

zookeeper.znode.parent:znode存放root region的地址,默认是root-region-server;

zookeeper.znode.acl.parent:root znode的acl,默认acl;

hbase.zookeeper.dns.interface:zk的dns接口,默认default;

hbase.zookeeper.dns.nameserver:zk的dns服务地址,默认default;

hbase.zookeeper.peerport:zk的peer之间的通讯端口,默认是2888;

hbase.zookeeper.leaderport:zk选leader的通讯端口,默认是3888;

hbase.zookeeper.useMulti:zk支持多重update,要求zk在3.4版本以上,默认是false;

hbase.config.read.zookeeper.config:让hbaseconfig去读zk的config,默认false,也不支持开启,这个功能很搞笑~~个人观点;

hbase.zookeeper.property.initLimit:zk的配置,同步的属性个数限制,默认10个~~没用;

hbase.zookeeper.property.syncLimit:zk的配置,同步时的每次请求的条数,默认5个;

hbase.zookeeper.property.dataDir:zk的配置,snapshot存放的目录,默认是${hbase.tmp.dir}/zookeeper;

hbase.zookeeper.property.clientPort:zk的配置,client连zk的端口,默认2181;

hbase.zookeeper.property.maxClientCnxns:zk的配置,允许接入zk的最大并发连接数的限制,按ip分配,默认300;



posted on 2013-12-09 20:07 changedi 阅读(5494) 评论(0)  编辑  收藏 所属分类: 数据


只有注册用户登录后才能发表评论。


网站导航: