该⽂档是⽤hba默认配置⽂件⽣成的,⽂件源是l
这个⽬录是region rver的共享⽬录,⽤来持久化HBa。URL需要是'完全正确'的,还要包含⽂件系统的scheme。例如,要表⽰hdfs中
的'/hba'⽬录,namenode 运⾏在ample的9090端⼝。则需要设置为hdfs://ample:9000/hba。默认情况
下HBa是写到/tmp的。不改这个配置,数据会在重启的时候丢失。
默认: file:///tmp/hba-${ur.name}/hba
hba.master.port
HBa的Master的端⼝.
默认: 60000
hba.cluster.distributed HBa的运⾏模式。fal是单机模式,true是分布式模式。若为fal,HBa和Zookeeper会运⾏在同⼀个JVM⾥⾯。 默认: p.dir 本地⽂件系统的临时⽂件夹。可以修改到⼀个更为持久的⽬录上。(/tmp会在重启时清楚) 默
认:${pdir}/hba-${ur.name} hba.local.dir 作为本地存储,位于本地⽂件系统的路径。 默认: ${p.dir}/local/ hba.master.info.port HBa Master web 界⾯端⼝. 设置为-1 意味着你不想让他运⾏。 0.98 版本以后默认: 16010 以前是
60010 hba.master.info.bindAddress HBa Master web 界⾯绑定的端⼝ 默认: 0.0.0.0 hba.client.write.buffer HTable客户端的写缓冲的默认⼤⼩。这个值越⼤,需要消耗的内存越⼤。因为缓冲在客户端和服务端都有实例,所以需要消耗客户端和服务端两个地⽅的内存。得到的好处是,可以减少RPC的次数。可以这样估算服务器端被占⽤的内存: hba.client.write.buffer *
认: 60020 以后默认是:ionrver.info.port HBa RegionServer web 界⾯绑定的端⼝ 设置为 -1 意味这你不想与运⾏ RegionServer 界⾯. 0.98 以前默认: 60030 以后默认是:ionrver.info.port.auto Master或RegionServer 是否要动态搜⼀个可以⽤的端⼝来绑定界⾯。
新疆羊肉手抓饭当ionrver.info.port已经被占⽤的时候,可以搜⼀个空闲的端⼝绑定。这个功能在测试的时候很有⽤。默认关闭。 默认: ionrver.info.bindAddress HBa RegionServer web 界⾯的IP地址 默
认: 0.0.0.0 ionrver.class RegionServer 使⽤的接⼝。客户端打开代理来连接region rver的时候会使⽤到。 默
认: org.apache.hadoop.hba.ipc.HRegionInterface hba.client.pau 通常的客户端暂停时间。最多的⽤法是客户端在重试前的等待时间。⽐如失败的get操作和region查询操作等都很可能⽤到。 默认: 1000 ies.number 最⼤重试次数。所有需重试操作的最⼤值。例如从root region服务器获取root region,Get单元值,⾏Update操作等等。这是最⼤重试错误的值。 Default: 10. 0.98以前默认: 10 以后默认是:35 ies.number 最⼤重试次数。 原⼦批加载尝试的迭代最⼤次数。 0 永不放弃。默认: 0.默认: 0 hba.client.scanner.caching 当调⽤Scanner的next⽅法,⽽值⼜不在缓存⾥的时候,从服务端⼀次获取的⾏数。越⼤的值意味着Scanner会快⼀些,但是会占⽤更多的内存。当缓冲被占满的时候,next⽅法调⽤会越来越慢。慢到⼀定程度,可能会导致超时。例如超过了ionrver.lea.period。 默认: 100 hba.client.keyvalue.maxsize ⼀个KeyValue实例的最⼤size.这个是⽤来设置存储⽂件中的单个entry的⼤⼩上界。因为⼀个KeyValue是不能分割的,所以可以避免因为数据过⼤导致region不可分割。明智的做法是把它设为可以被最⼤region size
整除的数。如果设置为0或者更⼩,就会禁⽤这个检查。默认10MB。 默认: 10485760
认: ader.impl HLog file reader 的实现. 默
认: org.apache.ionrver.wal.ionrver.hlog.writer.impl HLog file writer
的实现. 默认: org.apache.ionrver.wal.SequenceFileLogWriter ionr
ver.nbrervationblocks 储备的内存block的数量(译者注:就像⽯油储备⼀样)。当发⽣out of memory 异常的时候,我们可以⽤这些内存在RegionServer停⽌之前做清理操作。 默认: keeper.dns.interface 当使⽤DNS的时候,Zookeeper⽤来上报的IP地址的⽹络接⼝名字。 默认: keeper.dns.namerver 当使⽤DNS的时候,Zookeepr使⽤的DNS的域名或者IP 地址,Zookeeper⽤它来确定和master⽤来进⾏通讯的域名. 默认: ionrver.dns.interface 当使⽤DNS的时候,RegionServer⽤来上报的IP地址的⽹络接⼝名字。 默认: ionrver.dns.namerver 当使⽤DNS的时候,RegionServer使⽤的DNS的域名或者IP 地
址,RegionServer⽤它来确定和master⽤来进⾏通讯的域名. 默认: default hba.master.dns.interface 当使⽤DNS的时候,Master⽤来上报的IP地址的⽹络接⼝名字。 默认: default hba.master.dns.namerver 当使⽤DNS的时候,RegionServer使⽤的DNS的域名或者IP 地址,Master⽤它来确定⽤来进⾏通讯的域名. 默认: default hba.balancer.period Master执⾏region balancer的间隔。 默认: ions.slop 当任⼀区域服务器有average + (average * slop)个分区,将会执⾏重新均衡。默认 20% slop . 默认:0.2 hba.l Hlog存在于.oldlogdir ⽂件夹的最长时间, 超过了就会被 Master 的线程清理掉. 默认: 600000
hba.master.logcleaner.plugins LogsCleaner服务会执⾏的⼀组LogCleanerDelegat。值⽤逗号间隔
的⽂本表⽰。这些WAL/HLog cleaners会按顺序调⽤。可以把先调⽤的放在前⾯。你可以实现⾃⼰的LogCleanerDelegat,加到Classpath下,然后在这⾥写下类的全称。⼀般都是加在默认值的前⾯。 默认: org.apache.hadoop.hba.master.TimeToLiveLogCleaner
hba.rver.thread.wakefrequency rvice⼯作的sleep间隔,单位毫秒。 可以作为rvice线程的sleep间隔,⽐如log roller. 默
认: 10000 hba.rver.versionfile.writeattempts 退出前尝试写版本⽂件的次数。每次尝试由 hba.rver.thread.wakefrequency 毫秒数间隔。 默认: 3 store.flush.size 当memstore的⼤⼩超过这个值的时候,会flush到磁盘。这个值被⼀个线程每隔hba.rver.thread.wakefrequency检查⼀下。 默认:134217728 hba.hregion.preclo.flush.size
当⼀个region中的memstore的⼤⼩⼤于这个值的时候,我们⼜触发了clo.会先运⾏“pre-flush”操作,清理这个需要关闭的memstore,然后将这个region下线。当⼀个region下线了,我们⽆法再进⾏任何写操作。如果⼀个memstore很⼤的时候,flush操作会消耗很多时间。"pre-flush"操作意味着在region下线之前,会先把memstore清空。这样在最终执⾏clo操作的时候,flush操作会很快。 默认: 5242880 store.block.multiplier 如果memstore有store.block.multiplier倍数的
hba.hregion.flush.size的⼤⼩,就会阻塞update操作。这是为了预防在update⾼峰期会导致的失控。如果不设上界,flush的时候会花很长的时间来合并或者分割,最坏的情况就是引发out of memory异常。(译者注:内存操作的速度和磁盘不匹配,需要等⼀等。原⽂似乎有误) 默认: 2 abled 体验特性:启⽤memStore分配本地缓冲区。这个特性是为了防⽌在⼤量写负载的时候堆的碎⽚过多。这可以减少GC操作的频率。(GC有可能会Stop the world)(译者注:实现的原理相当于预分配内存,⽽不是每⼀个值都要从堆⾥分配) 默认: true hba.hregion.max.filesize 最⼤HStoreFile⼤⼩。若某个列族的HStoreFile增长达到这个值,这个Hegion 会被切割成两个。 默认: 10G. 默认:10737418240 pactionThreshold 当⼀个HStore含有多于这个值的HStoreFiles(每⼀个memstore flush产⽣⼀个HStoreFile)的时候,会执⾏⼀个合并操作,把这HStoreFiles写成⼀个。这个值越⼤,需要合并的时间就越长。 默认: 3 hba.hstor宣传稿范文大全
e.blockingStoreFiles 当⼀个HStore含有多于这个值的HStoreFiles(每⼀个memstore flush 产⽣⼀个HStoreFile)的时候,会执⾏⼀个合并操作,update会阻塞直到合并完成,直到超过了hba.hstore.blockingWaitTime的值 默认: 7 hba.hstore.blockingWaitTime hba.hstore.blockingStoreFiles所限制的StoreFile数量会导致update阻塞,这个时间是来限制阻塞时间的。当超过了这个时间,HRegion会停⽌阻塞update操作,不过合并还有没有完成。默认为90s. 默认: 90000
paction.max 每个“⼩”合并的HStoreFiles最⼤数量。 默认: 10 hba.hregion.majorcompaction ⼀个Region中的所有HStoreFile的major compactions的时间间隔。默认是1天。 设置为0就是禁⽤这个功能。 默认: 86400000
hba.storescanner.able 允许 StoreFileScanner 并⾏搜索 StoreScanner, ⼀个在特定条件下降低延迟的特性。 默认: fal hba.storescanner.parallel.ek.threads 并⾏搜索特性打开后,默认线程池⼤⼩。 默认: 10
hba.mapreduce.hfileoutputformat.blocksize MapReduce中HFileOutputFormat可以写 storefiles/hfiles. 这个值是hfile的blocksize的最⼩值。通常在HBa写Hfile的时候,bloocksize是由table schema(HColumnDescriptor)决定的,但是在mapreduce写的时候,我们⽆法获取schema中blo
cksize。这个值越⼩,你的索引就越⼤,你随机访问需要获取的数据就越⼩。如果你的cell都很⼩,⽽且你需要更快的随机访问,可以把这个值调低。 默认: 65536 hfile.block.cache.size 分配给HFile/StoreFile的block cache占最⼤堆(-Xmx tting)的⽐例。默认0.25意思是分配25%,设置为0就是禁⽤,但不推荐。 默认:0.25 pe 哈希函数使⽤的哈希算法。可以选择两个值:: murmur (MurmurHash) 和 jenkins (JenkinsHash). 这个哈希是给 bloom filters⽤的. 默认: murmur
hfile.block.index.cacheonwrite 在index写⼊的时候允许put⽆根(non-root)的多级索引块到block cache⾥,默认是fal; hfile.index.block.max.size:在多级索引的树形结构⾥,如果任何⼀层的block index达到这个配置⼤⼩,则block写出,同时
替换上新的block,默认是131072; hfile.format.version 新⽂件的HFile 格式版本,设置为1来测试向后兼容,默认是2;
io.storefile.bloom.block.size ⼀个联合布隆过滤器的单⼀块(chunk)的⼤⼩,这个值是⼀个逼近值,默认是131072;
hfile.block.bloom.cacheonwrite 对于组合布隆过滤器的内联block开启cache-on-write,默认是fal hba.rs.cacheblocksonwrite
女人坚强独立的微信名
一本一道
当⼀个HFile block完成时是否写⼊block cache,默认是fal hba.ine hba 做rpc rver的调度管理类,实现⾃org.apache.hadoop.ipc.RpcServerEngine,默认是org.apache.hadoop.hba.ipc.ProtobufRpcServerEngine
播音主持专业院校排名hba.pnodelay 默认是true,具体就是在tcp socket连接时设置 no delay hba.master.keytab.file HMaster rver验证登录使⽤的kerberos keytab ⽂件路径。(译者注:HBa使⽤Kerberos实现安全) 默认: hba.master.kerberos.principal 例如. "hba/_HOST@EXAMPLE". HMaster运⾏需要使⽤ kerberos principal name. principal name 可以在:
ur/hostname@DOMAIN 中获取. 如果 "_HOST" 被⽤做hostname portion,需要使⽤实际运⾏的hostname来替代它。 默认: ionrver.keytab.file HRegionServer验证登录使⽤的kerberos keytab ⽂件路径。 默认:
要的安全策略配置⽂件,在Hba curity开启后使⽤,默认是l; hba.superur Hba curity 开启后的超级⽤户配置,⼀系列由逗号隔开的ur或者group; hba.auth.key.update.interval Hba curity开启后服务端更新认证key的间隔时间:默认是86400000毫秒; ken.max.lifetime Hba curity开启后,认证token下发后的⽣存周期,默认是604800000毫秒 zookeeper.ssion.timeout ZooKeeper 会话超时.HBa把这个值传递改zk集群,向他推荐⼀个会话的最⼤超时时间。详见hadoop.apache/zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions "The client nds a requested timeout, the rver responds with the timeout that it can give the client. "。 单位是毫秒 默认: 180000
⼰实现了⼀个Coprocessor后,将其添加到Hba的classpath并加⼊全限定名。也可以延迟加载,由HTableDescriptor指定; processor.master.class 由HMaster进程加载的coprocessors,逗号分隔,全部实现
org.apache.processor.MasterObrver,同coprocessor类似,加⼊classpath及全限定名;
如:",,".默认是localhost,是给伪分布式⽤的。要修改才能在完全分布式的情况下使⽤。如果在hba-env.sh设置了HBASE_MANAGES_ZK,这些ZooKeeper节点就会和HBa⼀起启动。 默
认: keeper.peerport ZooKeeper节点使⽤的端⼝。详细参见:
hadoop.apache/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper 默认: keeper.leaderport ZooKeeper⽤来选择Leader的端⼝,详细参见:
hadoop.apache/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper 默认: keeper.uMulti Instructs HBa to make u of ZooKeeper's multi-update fun
ctionality. This allows certain ZooKeeper operations to complete more quickly and prevents some issues with rare Replication failure scenarios (e the relea note of HBASE-2611 for an example). IMPORTANT: only t this to true if all ZooKeeper rvers in the cluster are on version 3.4+ and will not be downgraded. ZooKeeper versions before 3.4 do not support multi-update and will not fail gracefully if multi-update is invoked (e ZOOKEEPER-1495). Default: fal keeper.property.initLimit ZooKeeper 的f中的配置。 初始化synchronization阶段的ticks数量限制 默认: keeper.property.syncLimit ZooKeeper的f中的配置。 发送⼀个请求到获得承认之间的ticks的数量限制 默认: keeper.property.dataDir ZooKeeper的相闻
致悼词
hba.defaults.for.version.skip Set to true to skip the 'hba.defaults.for.version' check. Setting this to true can be uful in contexts other than the other side of a maven generation; i.e. running in an ide. You'll want to t this boolean to true to avoid eing the RuntimException complaint: "l file ems to be for and old version of HBa
(\${hba.version}), this version is X.X.X-SNAPSHOT" Default: fal 是否跳过hba.defaults.for.version的检查,默认是fal;processor.abortonerror Set to true to cau the hosting rver (master or regionrver) to abort if a coprocessor throws a Throwable object that is not IOException or a subclass of IOException. Setting it to true might be uful in development environments where one wants to terminate the rver as soon as possible to simplify coprocessor failure analysis. Default: fal 如果coprocessor加载失败或者初始化失败或者抛出Throwable对象,则主机退出。设置为fal会让系统继续运⾏,但是coprocessor的状态会不⼀致,所以⼀般debug时才会设置为fal,默认是true; line.able Set true to enable online schema changes. This is an experimental feature. There are known issues modifying table schemas at the same time a region split is happening so your table needs to be quiescent or el you have to be running with splits disabled. Default: fal 设置true来允许在线schema变更,默认是true; hba.able Set to true to enable locking the table in zookeeper for schema c
简短小情书
hange operations. Table locking from master prevents concurrent schema modifications to corrupt table state. Default: true 设置为true来允许在schema变更时zk锁表,锁表可以组织并发的schema变更导致的表状态不⼀致,默认是true; dfs.support.append Does HDFS allow appends to files? This is an hdfs config. t in here so the hdfs client will do append support. You must ensure that this config. is true rverside too when running hba (You will have to restart your cluster after tting it). Default: true hba.thrift.minWorkerThreads The "core size" of the thread pool. New threads
are created on every connection until this many threads are created. Default: 16 线程池的core size,在达到这⾥配置的量级后,新线程才会再新的连接创⽴时创建,默认是16; hba.thrift.maxWorkerThreads The maximum size of the thread pool. When the pending request queue overflows, new threads are created until their number reaches this number. After that, the rver starts dropping connections. Default: 1000 顾名思义,最⼤线程数,达到这个数字后,服务器开始drop连接,默认是1000;hba.thrift.maxQueuedRequests The maximum number of pending Thrift connections waiting in the queue. If there are no idle threads in the pool, the rver queues requests. Only when the queue overflows, new threads are added, up to
hba.thrift.maxQueuedRequests threads. Default: 1000 Thrift连接队列的最⼤数,如果线程池满,会先在这个队列中缓存请求,缓存上限就是该配置,默认是1000; hba.offheapcache.percentage
The amount of off heap space to be allocated towards the experimental off heap cache. If you desire the cache to be disabled, simply t this value to 0. Default: 0 JVM参数-
XX:MaxDirectMemorySize的百分⽐值,默认是0,即不开启堆外分配; hba.able Enable, if true, that file permissions should be assigned to the files written by the regionrver Default: fal 开启后,⽂件在regionrver写⼊时会 有权限相关设定,默认是fal不开启; hba.data.umask File permissions that should be ud to write data files when
hba.able is true Default: 000 开启上⾯⼀项配置后,⽂件的权限umask,默认是000
ster.hfilecleaner.plugins A comma-parated list of HFileCleanerDelegate invoked by the HFileCleaner rvice. The HFiles cleaners are called in order, so put the cleaner that prunes the most files in front. To implement your own HFileCleanerDelegate, just put it in HBa's classpath and add the fully qualified class name here. Always add the above default log cleaners in the list as they will be overwritten l.
Default: org.apache.hadoop.hba.master.cleaner.TimeToLiveHFileCleaner HFile的清理插件列表,逗号分隔,被HFileService调⽤,可以⾃定义,默认org.apache.hadoop.hba.master.cleaner.ionrver.catalog.timeout Timeout value for the Catalog Janitor from the regionrver to META. Default: 600000 regionrver的Catalog Janitor访问META的超时时间,默认是600000; hba.master.catalog.timeout Timeout value for the Catalog Janitor from the master to META. Default: 600000 Catalog Janitor从master到META的超时时间,我们知道这个Janitor是定时的去META扫描表⽬录,来决定回收⽆⽤的regions,默认是600000; fig Set to true to allow HBaConfiguration to read the zoo.cfg file for ZooKeeper properties. Switching this to true is not recommended, since the functionality of reading ZK properties from a zoo.cfg file has been deprecated. Default: fal 让hbaconfig去读zk的config,默认fal,也不⽀持开启,这个功能
很搞笑~~个⼈观点; abled Set to true to allow snapshots to be taken / restored / cloned.
Default: true 是否允许snapshot被使⽤、存储和克隆,默认是true; st.threads.max The maximum number of threads of the REST rver thread pool. Threads in the pool are reud to process REST requests. This controls the maximum number of requests procesd concurrently. It may help to control the memory ud by the REST rver to avoid OOM issues. If the thread pool is full, incoming requests will be queued up and wait for some free threads. The default is 100. Default: 100 REST服务器线程池的最⼤线程数,池满的话新请求会⾃动排队,限制这个配置可以控制服务器的内存量,预防OOM,默认是100;st.threads.min The minimum number of threads of the REST rver thread pool. The thread pool always has at least the number of threads so the REST rver is ready to rve incoming requests. The default is 2. Default: 2 同上类似,最⼩线程数,为了确保服务器的服务状态,默认是2;