HBase参数配置及说明

     

不管在什么地方,什么时候,学习是快速提升自己的能力的一种体现!!!!!!!!!!!


hbase-site.xml配置

hbase.tmp.dir
  • 本地文件系统tmp目录,一般配置成local模式的设置一下,但是最好还是需要设置一下,因为很多文件都会默认设置成它下面的
  • 线上配置
    <property>
         <name>hbase.tmp.dir</name>
         <value>/mnt/dfs/11/hbase/hbase-tmp</value>
    </property>
  • 默认值:
    ${java.io.tmpdir}/hbase-${user.name}
    写到系统的/tmp目录
hbase.rootdir
  • HBase集群中所有RegionServer共享目录,用来持久化HBase的数据,一般设置的是hdfs的文件目录,如hdfs://master:9000/hbase
  • 线上配置
    <property>
         <name>hbase.rootdir</name>
         <value>hdfs://master:9000/hbase</value>
    </property>
  • 默认值:
    ${hbase.tmp.dir}/hbase
hbase.cluster.distributed
  • 集群的模式,分布式还是单机模式,如果设置成false的话,HBase进程和Zookeeper进程在同一个JVM进程。
  • 线上配置为true
  • 默认值:false
hbase.zookeeper.quorum
  • zookeeper集群的URL配置,多个host中间用逗号(,)分割
  • 线上配置
    <property>
       <name>hbase.zookeeper.quorum</name>     <value>inspurXXX.xxx.xxx.org,inspurXXX.xxx.xxx.org,inspurXXX.xxx.xxx.org,inspurXXX.xxx.xxx.org,inspurXXX.xxx.xxx.org</value>
    </property>
  • 默认值:localhost
hbase.zookeeper.property.dataDir
  • ZooKeeper的zoo.conf中的配置。 快照的存储位置
  • 线上配置:/home/hadoop/zookeeperData
  • 默认值:${hbase.tmp.dir}/zookeeper
zookeeper.session.timeout
  • 客户端与zk连接超时时间
  • 线上配置:1200000(20min)
  • 默认值:180000(3min)
hbase.zookeeper.property.tickTime
  • Client端与zk发送心跳的时间间隔
  • 线上配置:6000(6s)
  • 默认值:6000
hbase.security.authentication
  • HBase集群安全认证机制,目前的版本只支持kerberos安全认证。
  • 线上配置:kerberos
  • 默认值:空
hbase.security.authorization
  • HBase是否开启安全授权机制
  • 线上配置: true
  • 默认值: false
hbase.regionserver.kerberos.principal
  • regionserver的kerberos认证的主体名称(由三部分组成:服务或用户名称、实例名称以及域名)
  • 线上配置:hbase/_HOST@HADOOP.xxx.xxx.COM
  • 默认:无
hbase.regionserver.keytab.file
  • regionserver keytab文件路径
  • 线上配置:/home/hadoop/etc/conf/hbase.keytab
  • 默认值:无
hbase.master.kerberos.principal
  • master的kerberos认证的主体名称(由三部分组成:服务或用户名称、实例名称以及域名)
  • 线上配置:hbase/_HOST@HADOOP.xxx.xxx.COM
  • 默认:无
hbase.master.keytab.file
  • master keytab文件路径
  • 线上配置:/home/hadoop/etc/conf/hbase.keytab
  • 默认值:无
hbase.regionserver.handler.count
  • regionserver处理IO请求的线程数
  • 线上配置:50
  • 默认配置:10
hbase.regionserver.global.memstore.upperLimit
  • RegionServer进程block进行flush触发条件:该节点上所有region的memstore之和达到upperLimit*heapsize
  • 线上配置:0.45
  • 默认配置:0.4
hbase.regionserver.global.memstore.lowerLimit
  • RegionServer进程触发flush的一个条件:该节点上所有region的memstore之和达到lowerLimit*heapsize
  • 线上配置:0.4
  • 默认配置:0.35
hbase.client.write.buffer
  • 客户端写buffer,设置autoFlush为false时,当客户端写满buffer才flush
  • 线上配置:8388608(8M)
  • 默认配置:2097152(2M)
hbase.hregion.max.filesize
  • 单个ColumnFamily的region大小,若按照ConstantSizeRegionSplitPolicy策略,超过设置的该值则自动split
  • 线上配置:107374182400(100G)
  • 默认配置:21474836480(20G)
hbase.hregion.memstore.block.multiplier
  • 超过memstore大小的倍数达到该值则block所有写入请求,自我保护
  • 线上配置:8(内存够大可以适当调大一些,出现这种情况需要客户端做调整)
  • 默认配置:2
hbase.hregion.memstore.flush.size
  • memstore大小,当达到该值则会flush到外存设备
  • 线上配置:104857600(100M)
  • 默认值: 134217728(128M)
hbase.hregion.memstore.mslab.enabled
  • 是否开启mslab方案,减少因内存碎片导致的Full GC,提高整体性能
  • 线上配置:true
  • 默认配置: true
hbase.regionserver.maxlogs
  • regionserver的hlog数量
  • 线上配置:128
  • 默认配置:32
hbase.regionserver.hlog.blocksize
  • hlog大小上限,达到该值则block,进行roll掉
  • 线上配置:536870912(512M)
  • 默认配置:hdfs配置的block大小
hbase.hstore.compaction.min
  • 进入minor compact队列的storefiles最小个数
  • 线上配置:10
  • 默认配置:3
hbase.hstore.compaction.max
  • 单次minor compact最多的文件个数
  • 线上配置:30
  • 默认配置:10
hbase.hstore.blockingStoreFiles
  • 当某一个region的storefile个数达到该值则block写入,等待compact
  • 线上配置:100(生产环境可以设置得很大)
  • 默认配置: 7
hbase.hstore.blockingWaitTime
  • block的等待时间
  • 线上配置:90000(90s)
  • 默认配置:90000(90s)
hbase.hregion.majorcompaction
  • 触发major compact的周期
  • 线上配置:0(关掉major compact)
  • 默认配置:86400000(1d)
hbase.regionserver.thread.compaction.large
  • large compact线程池的线程个数
  • 线上配置:5
  • 默认配置:1
hbase.regionserver.thread.compaction.small
  • small compact线程池的线程个数
  • 线上配置:5
  • 默认配置:1
hbase.regionserver.thread.compaction.throttle
  • compact(major和minor)请求进入large和small compact线程池的临界点
  • 线上配置:10737418240(10G)
  • 默认配置:2 * this.minFilesToCompact * this.region.memstoreFlushSize
hbase.hstore.compaction.max.size
  • minor compact队列中storefile文件最大size
  • 线上配置:21474836480(20G)
  • 默认配置:Long.MAX_VALUE
hbase.rpc.timeout
  • RPC请求timeout时间
  • 线上配置:300000(5min)
  • 默认配置:60000(10s)
hbase.regionserver.region.split.policy
  • split操作默认的策略
  • 线上配置: org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy(采取老的策略,自己控制split)
  • 默认配置: org.apache.hadoop.hbase.regionserver.IncreasingToUpperBoundRegionSplitPolicy(在region没有达到maxFileSize的前提下,如果fileSize达到regionCount * regionCount * flushSize则进行split操作)
hbase.regionserver.regionSplitLimit
  • 单台RegionServer上region数上限
  • 线上配置:150
  • 默认配置:2147483647

hbase-env.sh配置

指定系统运行环境
export JAVA_HOME=/usr/lib/jvm/java-6-sun/ #JDK HOME
export HBASE_HOME=/usr/local/hadoop/hbase-1.3.0 # HBase 安装目录
export HBASE_LOG_DIR=/mnt/dfs/11/hbase/hbase-logs #日志输出路径
JVM参数调优
export HBASE_OPTS="-verbose:gc -XX:+PrintGCDetails -Xloggc:${HBASE_LOG_DIR}/hbase-gc.log -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime \
-server -Xmx20480m -Xms20480m -Xmn10240m -Xss256k  -XX:SurvivorRatio=4 -XX:MaxPermSize=256m -XX:MaxTenuringThreshold=15 \
-XX:ParallelGCThreads=16 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC  -XX:CMSFullGCsBeforeCompaction=5 -XX:+UseCMSCompactAtFullCollection \
-XX:+CMSClassUnloadingEnabled  -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSMaxAbortablePrecleanTime=5000     \
"

转载于:http://www.cnblogs.com/nexiyi/p/hbase_config_94.htmlHBase参数配置及说明
<think>好的,我现在需要回答用户关于HBase Shell配置方法及基本操作的问题。首先,用户的问题涉及配置和基本操作,我需要确保涵盖这两个方面,同时遵循系统级指令,比如正确使用LaTeX格式和引用标注。 首先,关于HBase Shell的配置。用户可能已经安装了HBase,但需要知道如何配置Shell环境。根据引用[1]和[4],HBase的安装和配置可能需要修改配置文件,比如hbase-site.xml。这里需要提到关键配置参数,如ZooKeeper的地址、数据目录等。同时,需要指导用户如何启动HBase Shell,引用[2]提到了访问管理界面,确认服务是否启动,这部分也要提到。 接下来是基本操作部分。根据引用[3],HBase Shell的常见操作包括表管理、数据操作等。需要列出常用命令,如创建表、插入数据、查询等,并给出示例。同时,需要注意命令的格式,比如使用disable表后才能删除,以及使用scan来查看数据。 然后,用户要求生成相关问题。我需要根据内容提出相关问题,比如性能调优、高级命令、数据模型等,这些问题应该与配置和操作相关,但稍微扩展一些。 在引用方面,用户提供的四个引用中,引用[1]、[2]、[3]、[4]分别涉及安装、操作指南、数据模型和下载地址。我需要确保在回答中正确标注引用,比如在配置部分引用[1]和[4],在操作部分引用[2]和[3]。 另外,要确保所有数学表达式使用正确的LaTeX格式,但HBase Shell的配置和操作可能较少涉及数学公式,但如果有变量路径,可能需要用$...$包裹,比如$HBASE_HOME。 还需要检查LaTeX语法是否正确,比如路径中的斜杠是否正确,避免使用特殊字符导致错误。同时,回答结构要清晰,分步骤说明配置和操作,帮助用户逐步解决问题。 最后,生成的相关问题要自然,覆盖用户可能感兴趣的扩展内容,比如配置参数优化、与其他数据库对比、数据备份等。确保每个问题都与HBase Shell的使用相关,并且能够引导用户进一步学习。</think>### HBase Shell 配置与基本操作指南 --- #### 一、HBase Shell 配置方法 1. **前置条件** - 确保已安装 HBase 并完成基础配置(如 Java 环境、HDFS 集成等)。下载地址可参考引用[^4]。 - 配置文件 `hbase-site.xml` 中需设置关键参数,例如: ```xml <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> <!-- ZooKeeper 地址 --> </property> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> <!-- 数据存储路径 --> </property> ``` 详细配置步骤可参考引用[^1]。 2. **启动 HBase Shell** - 进入 HBase 安装目录,执行命令启动服务: ```bash $HBASE_HOME/bin/start-hbase.sh ``` - 启动成功后,执行以下命令进入 Shell 交互界面: ```bash $HBASE_HOME/bin/hbase shell ``` - 检查服务状态:访问 `http://localhost:16010` 确认 HBase 管理界面是否正常[^2]。 --- #### 二、HBase Shell 常用操作 1. **表管理** - **创建表**:指定表名和列族(Column Family) ```shell create 'student', 'info', 'score' ``` - **查看表列表**: ```shell list ``` - **删除表**(需先禁用表): ```shell disable 'student' drop 'student' ``` 2. **数据操作** - **插入数据**:使用 `put` 命令指定行键、列族、列名和值 ```shell put 'student', 'row1', 'info:name', 'Alice' put 'student', 'row1', 'score:math', '95' ``` - **查询数据**: - 单行查询:`get 'student', 'row1'` - 全表扫描:`scan 'student'` - **删除数据**: ```shell delete 'student', 'row1', 'info:name' ``` 3. **其他管理命令** - 查看表结构:`describe 'student'` - 检查集群状态:`status` - 退出 Shell:`exit` --- #### 三、操作示例 ```shell # 创建表 hbase> create 'test_table', 'cf1', 'cf2' # 插入数据 hbase> put 'test_table', 'row1', 'cf1:col1', 'value1' # 查询数据 hbase> scan 'test_table' ROW COLUMN+CELL row1 column=cf1:col1, timestamp=1620000000, value=value1 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值