广告
返回顶部
首页 > 资讯 > 数据库 >hadoop 2.2.X 配置参数说明:hbase-site.xml
  • 130
分享到

hadoop 2.2.X 配置参数说明:hbase-site.xml

2024-04-02 19:04:59 130人浏览 独家记忆
摘要

<!--Mon Aug 19 12:45:45 2013-->  <configuration>    <property>  

<!--Mon Aug 19 12:45:45 2013-->

 <configuration>

   <property>

   <name>HBase.rpc.engine</name>

   <value>org.apache.hadoop.hbase.ipc.WritableRpcEngine</value>

 </property>

   <property>

   <name>hbase.hregion.max.filesize</name>

   <value>10737418240</value>

<!--默认值:256M:说明:在当前ReiGonServer上单个Reigon的最大存储空间,单个Region超过该值时,这个Region会被自动split成更小的region。 -->

 </property>

   <property>

   <name>hbase.rootdir</name>

   <value>hdfs://hadoop01:8020/apps/hbase/data</value>

 </property>

   <property>

   <name>hfile.block.cache.size</name>

   <value>0.40</value>

<!--默认值:0.2:说明:storefile的读缓存占用Heap的大小百分比,0.2表示20%。该值直接影响数据读的性能

调优:当然是越大越好,如果写比读少很多,开到0.4-0.5也没问题。如果读写较均衡,0.3左右。如果写比读多,果断默认吧。

设置这个值的时,同时要参考 hbase.regionserver.global.memstore.upperLimit ,该值是memstore占heap的最大百分比,

两个参数一个影响读,一个影响写。如果两值加起来超过80-90%,会有OOM的风险,谨慎设置。-->

 </property>

   <property>

   <name>hbase.regionserver.global.memstore.upperLimit</name>

   <value>0.4</value>

<!--默认值:0.4/0.35 upperlimit说明:hbase.hregion.memstore.flush.size 这个参数的作用是当单个Region内所有的memstore大小总和超过指定值时,flush该region的所有memstore。

RegionServer的flush是通过将请求添加一个队列,模拟生产消费模式来异步处理的。那这里就有一个问题,当队列来不及消费,产生大量积压请求时,可能会导致内存陡增,最坏的情况是触发OOM。

  这个参数的作用是防止内存占用过大,当ReigonServer内所有region的memstores所占用内存总和达到heap的40%时,HBase会强制block所有的更新并flush这些region以释放所有memstore占用的内存。 -->

 </property>

   <property>

   <name>hbase.regionserver.global.memstore.lowerLimit</name>

   <value>0.38</value>

<!--lowerLimit说明: 同upperLimit,只不过lowerLimit在所有region的memstores所占用内存达到Heap的35%时,不flush所有的memstore。它会找一个memstore内存占用最大的region,做个别flush,此时写更新还是会被block。lowerLimit算是一个在所有region强制flush导致性能降低前的补救措施。

日志中,表现为 “** Flush thread woke up with memory above low water.”

调优:这是一个Heap内存保护参数,默认值已经能适用大多数场景。

   参数调整会影响读写,如果写的压力大导致经常超过这个阀值,则调小读缓存hfile.block.cache.size增大该阀值,或者Heap余量较多时,不修改读缓存大小。

   如果在高压情况下,也没超过这个阀值,那么建议你适当调小这个阀值再做压测,确保触发次数不要太多,然后还有较多Heap余量的时候,调大hfile.block.cache.size提高读性能。-->

 </property>

 <property>

   <name>hbase.hregion.memstore.block.multiplier</name>

   <value>2</value>

<!--默认值:2:说明:当一个region里的memstore占用内存大小超过hbase.hregion.memstore.flush.size两倍的大小时,block该region的所有请求,进行flush,释放内存。

调优: 这个参数的默认值还是比较靠谱的。如果你预估你的正常应用场景(不包括异常)不会出现突发写或写的量可控,那么保持默认值即可。

如果正常情况下,你的写请求量就会经常暴长到正常的几倍,那么你应该调大这个倍数并调整其他参数值,比如hfile.block.cache.size和hbase.regionserver.global.memstore.upperLimit/lowerLimit,以预留更多内存,防止HBase server OOM。-->

 </property>

   <property>

   <name>dfs.support.append</name>

   <value>true</value>

 </property>

   <property>

   <name>hbase.ZooKeeper.quorum</name>

   <value>hadoop04,hadoop05,hadoop06,hadoop07</value>

 </property>

   <property>

   <name>zookeeper.session.timeout</name>

   <value>60000</value>

<!--默认: 180000 :zookeeper 会话超时时间,单位是毫秒 -->

 </property>

   <property>

   <name>hbase.superuser</name>

   <value>hbase</value>

 </property>

   <property>

   <name>hbase.cluster.distributed</name>

   <value>true</value>

 </property>

   <property>

   <name>hbase.client.keyvalue.maxsize</name>

   <value>10485760</value>

<!--默认: 10485760 :一个KeyValue实例的最大size.这个是用来设置存储文件中的单个entry的大小上限。因为一个KeyValue是不能分割的,

所以可以避免因为 数据过大导致region不可分割。明智的做法是把它设为可以被最大region  size整除的数。如果设置为0或者更小,就会禁用这个检查。默认10MB。  -->

 </property>

   <property>

   <name>hbase.zookeeper.property.clientPort</name>

   <value>2181</value>

<!--默认: 2181 :ZooKeeper的zoo.conf中的配置。 客户端连接的端口 -->

 </property>

   <property>

   <name>hbase.hstore.blockingStoreFiles</name>

   <value>7</value>

<!--默认: 7 : 当一个HStore含有多于这个值的HStoreFiles(每一个memstore flush产生一个HStoreFile)的时候,会执行一个合并操作,update会阻塞直到合并完成,直到超过了hbase.hstore.blockingWaitTime的值

调优:block写请求会严重影响当前regionServer的响应时间,但过多的storefile也会影响读性能。从实际应用来看,为了获取较平滑的响应时间,可将值设为无限大。如果能容忍响应时间出现较大的波峰波谷,那么默认或根据自身场景调整即可。-->

 </property>

 <property>

   <name>hbase.hstore.blockingWaitTime</name>

   <value>90000</value>

<!--20140314添加

默认: 90000 :hbase.hstore.blockingStoreFiles所限制的StoreFile数量会导致update阻塞,这个时间是来限制阻塞时间的。当超过了这个时间,HRegion会停止阻塞update操作,不过合并还有没有完成。默认为90s.-->

 </property>

 <property>

   <name>hbase.hstore.compactionThreshold</name>

   <value>3</value>

<!--默认: 3 :当一个HStore含有多于这个值的HStoreFiles(每一个memstore flush产生一个HStoreFile)的时候,会执行一个合并操作,把这HStoreFiles写成一个。这个值越大,需要合并的时间就越长。-->

 </property>

   <property>

   <name>hbase.hregion.majorcompaction</name>

   <value>86400000</value>

<!--默认: 86400000 :一个Region中的所有HStoreFile的major compactions的时间间隔。默认是1天。设置为0就是禁用这个功能。-->

 </property>

   <property>

   <name>hbase.security.authorization</name>

   <value>false</value>

 </property>

   <property>

   <name>hbase.zookeeper.useMulti</name>

   <value>true</value>

 </property>

   <property>

   <name>hbase.client.scanner.caching</name>

   <value>100</value>

<!--默认: 1  :当调用Scanner的next方法,而值又不在缓存里的时候,从服务端一次获取的行数。越大的值意味着Scanner会快一些,但是会占用更多的内存。

当缓冲被占满的时候,next方法调用会越来越慢。慢到一定程度,可能会导致超时。例如超过了 hbase.regionserver.lease.period。 -->

 </property>

   <property>

   <name>hbase.defaults.for.version.skip</name>

   <value>true</value>

 </property>

   <property>

   <name>zookeeper.znode.parent</name>

   <value>/hbase-unsecure</value>

 </property>

   <property>

   <name>hbase.hregion.memstore.flush.size</name>

   <value>134217728</value>

<!--默认: 67108864 :当memstore的大小超过这个值的时候,会flush到磁盘。这个值被一个线程每隔hbase.server.thread.wakefrequency检查一下。-->

 </property>

   <property>

   <name>hbase.regionserver.handler.count</name>

   <value>60</value>

<!--默认: 10  :RegionServers受理的RPC Server实例数量。对于Master来说,这个属性是Master受理的handler数量.-->

 </property>

   <property>

   <name>hbase.hregion.memstore.mslab.enabled</name>

   <value>true</value>

<!--默认: false  :体验特性:启用memStore分配本地缓冲区。这个特性是为了防止在大量写负载的时候堆的碎片过多。这可以减少GC操作的频率。

说明:减少因内存碎片导致的Full GC,提高整体性能。-->

 </property>

   <property>

   <name>hbase.security.authentication</name>

   <value>simple</value>

 </property>

   <property>

   <name>hbase.tmp.dir</name>

   <value>/var/log/hbase</value>

 </property>

   <property>      

   <name>hbase.master.info.bindAddress</name>      

   <value>hadoop03</value>  

   <description>Enter the HBase Master server hostname</description>

 </property>


 </configuration>


您可能感兴趣的文档:

--结束END--

本文标题: hadoop 2.2.X 配置参数说明:hbase-site.xml

本文链接: https://www.lsjlt.com/news/44169.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • hadoop 2.2.X 配置参数说明:hbase-site.xml
    <!--Mon Aug 19 12:45:45 2013-->  <configuration>    <property>   ...
    99+
    2022-10-18
  • redis参数配置说明
    redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程daemonize no2. 当Redis以守护进程方式运行时,Redis默认...
    99+
    2022-10-18
  • Mysql配置my.cnf 参数说明
     ...
    99+
    2016-11-27
    Mysql配置my.cnf 参数说明
  • mysql8.0基本参数配置说明
    ## 注意: # ## (1)本配置假设物理服务器内存为 16G,总表数量在300之内,中小型企业业务 # ## (2)请根据实际情况作调整部分参数 # ## (3)本人不对这些建议结果负相应责任 ##服务端参数配置 [m...
    99+
    2023-09-11
    mysql 数据库 Powered by 金山文档
  • Redis配置文件参数说明
    Redis配置文件参数说明1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程    daemonize no2. 当Redis...
    99+
    2022-10-18
  • MySQL 从库配置常用参数说明
    #启用从库日志,这样可以进行链式复制log-slave-updates=1#从库是否只读,0表示可读写,1表示只读read-only=1#只复制某个表replicate-do-table=tablename...
    99+
    2022-10-18
  • jvm的内存参数说明和配置
    这篇文章主要介绍“jvm的内存参数说明和配置”,在日常操作中,相信很多人在jvm的内存参数说明和配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jvm的内存参数说明和配置”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-02
  • Linux安装Oracle内核参数配置说明
    fs.file-max = 6815744    --表示文件句柄的最大数量,表示在Linux系统中可以打开的文件数量。fs.aio-max-nr = 1048576 ...
    99+
    2022-10-18
  • my.cnf配置文件中mysql pid参数说明
    my.cnf配置文件中mysql pid参数说明 当MySQL实例启动时,会将自己的进程ID写入一个文件中——该文件即为pid文件。该文件可由参数pid_file控制,默认位于数据库目录下,文件名为主...
    99+
    2022-10-18
  • Redhat配置nagios参数说明的示例分析
    这篇文章主要为大家展示了“Redhat配置nagios参数说明的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Redhat配置nagios参数说明的示例分析”这篇文章吧。参数说明服务出了...
    99+
    2023-06-16
  • Linux下的/etc/pam.d/system-auth配置文件参数说明
    文章目录 一 配置文件内容二 各列参数说明1)第一列2)第二列3)第三列和第四列 三 常用类说明 一 配置文件内容 首先打开配置文件/etc/pam.d/system-auth,我们会发现这个文件大致分成四列四部分内容。 [...
    99+
    2023-08-21
    linux 服务器
  • Apache中Virtual Host虚拟主机配置及rewrite参数说明
    这篇文章主要介绍了Apache中Virtual Host虚拟主机配置及rewrite模块中的重要参数说明,是在同一个Apache服务器软件上部署多个站点的基础方法,需要的朋友可以参考下Virtual Host配置过程这里例子中我们的路径为这...
    99+
    2023-06-05
  • CentOS Linux系统下安装Redis过程和配置参数说明
    安装过程: wget http://code.google.com/p/redis/downloads/detail?name=redis-2.0.4.tar.gz tar xvzf redis...
    99+
    2022-06-04
    参数 过程 系统
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作