HBase使用与Apache Hadoop相同的配置系统。所有配置文件都位于conf/目录中,需要保持群集中每个节点的同步。,主要包括4个文件:环境变量配置文件hbase-env.sh、核心配置文件hbase-site.xml、备用节点配置文件backup-masters、节点配置文件regionservers。

1. conf下的配置文件

1.1 backup-masters

默认情况下不存在。这是一个纯文本文件,其中列出了主服务器应在其上启动备份主进程的主机,每行一台主机。

1.2 hadoop-metrics2-hbase.properties

用于连接HBase Hadoop的Metrics2框架。有关Metrics2的更多信息,请参阅Hadoop Wiki条目。默认情况下只包含注释出的示例。

1.3 hbase-env.sh

环境的脚本,以设置HBase的工作环境,包括Java、Java选项和其他环境变量的位置。该文件包含许多注释示例来提供指导。

1.4 hbase-policy.xml

RPC服务器使用默认策略配置文件对客户端请求进行授权决策。仅在启用HBase安全性的情况下使用。

1.5 hbase-site.xml

主要的HBase配置文件。该文件指定覆盖HBase的默认配置的配置选项。可在docs/hbase-default.xml中查看默认配置文件。还可以在HBase Web UI的HBase配置选项卡中查看群集的整个有效配置(默认和覆盖)。

1.6 log4j.properties

通过log4j进行HBase日志记录的配置文件。

1.6 regionservers

包含应该在HBase集群中运行RegionServer的主机列表的纯文本文件。默认情况下,这个文件包含单个条目localhost。它应该包含主机名或IP地址列表,每行一个,如果集群中的每个节点将在其localhost接口上运行RegionServer的话,则只应包含localhost。

2.配置文件检查

使用该xmllint实用程序检查的XML格式是否正确。默认情况下,xmllint将XML打印到标准输出。要检查格式是否正确,并且只在存在错误时才打印输出,使用命令xmllint -noout filename.xml。

3. hbase-env.sh

export JAVA_HOME=Hbase配置jps命令 hbase配置文件_xml{HBASE_HOME}/logs
export HBASE_PID_DIR=${HBASE_HOME}/pids

export HBASE_MANAGES_ZK=false
Hbase依赖一个在ZooKeeper集群有托管和自管(非托管)两种方式。默认的情况下Hbase会托管zookeep集群。ZooKeeper集群会随着Hbase的启动而启动。也可以自管zookeeper集群,需要修改HBASE_MANAGES_ZK 来切换。默认是true(Hbase托管zookeeper)
,HBase启动的同时也启动ZooKeeper,使得ZooKeeper也成为HBase的一个进程。
Hbase使用系统现有的不被Hbase托管的Zookeep集群,需要设置 conf/hbase-env.sh文件中的HBASE_MANAGES_ZK 属性为 false。

4. hbase-site.xml

hbase.rootdir
region server共享目录,用来持久化Hbase。需要是与hdfs的core-site.xml中的fs.defaultFS选项相互匹配,如fs.defaultFS为hdfs://blueicex,默认端口9000,那么hbase.rootdir匹配为hdfs://blueicex/hbase。默认情况下Hbase是写到/tmp的。不改这个配 置,数据会在重启的时候丢失。默认: file:///tmp/hbase-${user.name}/hbase。

hbase.cluster.distributed
Hbase运行模式。false单机模式,true分布式模式。若为false,Hbase和Zookeeper会运行在同一个JVM里面。默认: false

hbase.zookeeper.property.clientPort
客户端连接的端口。单机模式下,需要配置。

hbase.zookeeper.quorum
Zookeeper 集群的地址列表,用逗号分割。 如:“node1.blueicex.com,master.blueicex.com,node2.blueicex.com”,默认是 localhost,是给伪分布式用的。要修改才能在完全分布式的情况下使用。如果在hbase-env.sh设置了HBASE_MANAGES_ZK, 这些ZooKeeper节点就会和Hbase一起启动。默认 localhost。
运行一个ZooKeeper也是可以的,但是在生产环境中,最好部署3,5,7个节点。部署的越多,可靠性就 越高,当然只能部署奇数个,偶数个是不可以。每个ZooKeeper需1G左右的内存,如果可能的话,最好有独立的磁盘,独立磁盘可以确保ZooKeeper是高性能的。如果你的集群负载很重,不要把Zookeeper和RegionServer运行在同一台机器上 面。

hbase.zookeeper.property.dataDir
ZooKeeper快照的存储位置。基本与ZooKeeper zoo.cfg中的dataLogDir=…路径配置相同。把ZooKeeper保存数据的目录地址改掉。默认值是 /tmp ,这里在重启的时候会被操作系统删掉。

————Blueicex 2020/3/14