• 0

    用户访问量

  • 0

    注册用户数

  • 0

    在线视频观看人次

  • 0

    在线实验人次

HBase配置文件详解

作者:云创智学|发布时间:2022-02-23 10:01:39.0|来源:云创智学

HBase配置文件详解

1、HBase配置文件

hbase-site.xml:HBase最主要的配置文件。

hbase-env.sh:设置HBase运行所需的工作环境。

backup-masters:列出哪些服务器应启动备用HMaster进程。

regionservers:列出了哪些服务器启动HRegionServer进程。

hbase-policy.xml:PRC服务器对客户端请求进行权限验证时使用的策略配置文件,仅当启用HBase安全管理时才使用。

log4j.properties:HBase所使用的日志模块log4j的配置文件。

hadoop-metrics2-hbase.properties:该配置文件将HBase集群与Hadoop的Metrics2框架相关联,可用于实时收集HBase集群的各类监控信息。


上述7个HBase配置文件的路径和内容在每个节点上都必须一致。


2、主要配置项

hbase.cluster.distributed:是否为分布式运行模式,默认值为false。

hbase.tmp.dir:HBase节点在本地文件系统中的临时目录,默认值为${java.io.tmpdir}/hbase-${user.name}。

hbase.rootdir:HBase所保存文件的根目录,默认值为${hbase.tmp.dir}/hbase。

hbase.fs.tmp.dir:HBase集群在HDFS文件系统中保存临时数据的中转目录,默认值为/user/${user.name}/hbase-staging。

hbase.local.dir:HBase节点在本地文件系统中用于本地存储的目录,默认值为${hbase.tmp.dir}/local。

hbase.zookeeper.quorum:哪些服务器上运行ZooKeeper进程,默认值为localhost。

hbase.zookeeper.property.dataDir:ZooKeeper用于保存数据的目录,默认值为${hbase.tmp.dir}/zookeeper。

hbase.zookeeper.property.maxClientCnxns:每个ZooKeeper服务器允许接受的客户端并发连接数量,默认值为300。

zookeeper.session.timeout:ZooKeeper会话的超时时间,单位是毫秒,默认值是90000。

hbase.master.port:HMaster进程绑定的端口号,默认值为16000。

hbase.master.info.port:HBase Master的Web页面的端口号,默认值为16010。

hbase.master.wait.on.regionservers.mintostart:HBase集群启动时HMaster在有多少个HRegionServer启动后开始分配任务,默认值为1。

hbase.regionserver.port:HRegionServer进程绑定的端口号,默认值为16020。

hbase.regionserver.info.port:HRegionServer的Web页面的端口号,默认值为16030。

hbase.regionserver.handler.count:每台HRegionServer和HMaster上用于侦听响应客户端请求的线程数量,默认值为30。

hbase.ipc.server.callqueue.handler.factor:每台HRegionServer和HMaster上对应于处理线程数的调用等待队列数量因子,范围在0到1之间,默认值为0.1,表示每10个处理线程共享一个调用等待队列。

hbase.hregion.max.filesize:一个HRegion中所有Hfile文件合计大小上限,默认值为10737418240,即10G。

hbase.hregion.majorcompaction:HRegion数据自动进行周期性主压缩的间隔时间,单位是毫秒,默认值为604800000,即7天。

hbase.hregion.majorcompaction.jitter:随机执行周期性主压缩操作的前后时间范围,默认值为0.5。

hbase.hregion.memstore.flush.size:Store中的MemStore达到多大时会存入磁盘生成StoreFile,默认值为134217728,即128M。

hbase.regionserver.global.memstore.size:HRegionServer中所有MemStore合计大小的上限,按照堆内存的百分比计算,默认值为0.4,即上限为堆内存的40%。

hfile.block.cache.size:最多使用堆内存的百分之多少作为StoreFile的块缓存,默认值为0.4,即上限为堆内存的40%。

hbase.balancer.period:HMaster运行HRegion均衡器的周期,单位是毫秒,默认值为300000。

hbase.client.write.buffer:HBase服务器端和客户端写入数据库缓冲区的大小,默认值为2097152,即2M。

hbase.security.authentication:是否启用HBase客户端安全认证,默认值为simple,表示不进行安全认证。


3、配置建议

1)hbase-site.xml

必须配置以下参数:

hbase.cluster.distributed

hbase.tmp.dir

hbase.rootdir

hbase.zookeeper.quorum


建议配置以下参数:

hbase.zookeeper.property.dataDir

hbase.master.wait.on.regionservers.mintostart

hbase.regionserver.handler.count

hbase.hregion.majorcompaction

hbase.hregion.majorcompaction.jitter

hbase.regionserver.global.memstore.size

hfile.block.cache.size

hbase.client.write.buffer


2)hbase-env.sh 示例如下:

# The java implementation to use. Java 1.7+ required.

export JAVA_HOME=/etc/alternatives/jre_1.7.0_openjdk

 

# The maximum amount of heap to use. Default is left to JVM default.

export HBASE_HEAPSIZE=8G

 

# Tell HBase whether it should manage it's own instance of Zookeeper or not.

export HBASE_MANAGES_ZK=false


4、客户端配置

在客户端解压HBase安装包并将解压后的lib/子目录和conf/子目录加入到客户端的CLASSPATH环境变量中;

客户端的配置比较简单,只需要在conf/hbase-site.xml配置文件中设置好参数hbase.zookeeper.quorum即可,示例如下:

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

 <property>

  <name>hbase.zookeeper.quorum</name>

  <value>master,slave2,slave3</value>

 </property>

</configuration>

hbase.zookeeper.quorum 配置值中不能包含空格。


联系方式
企业微信