1. hbase-env.sh
HBase 0.98.5及以后的版本,在启动之前需要设置JAVA_HOME环境变量。HBase 0.98.5之前的版本,HBase会尝试自动侦测JAVA的安装位置。
在这个文件中,还有几个配置需要注意:
export HBASE_MANAGES_ZK=true
由于hbase1.2.3版本自带了zookeeper,默认设置此项为true,目的是使用hbase自带的zookeeper,start-hbase的时候会先启动zookeeper,然后再启动regionserver,如果不想用hbase自带的zookeeper,而想要自己搭建zookeeper集群,可以将此项的值设为false。
export HBASE_HOME=/opt/hbase-1.2.3(此项为可选项)
export HADOOP_HOME=/opt/hadoop-2.7.3(此项为可选项)
2. hbase-site.xml
关于hbase-site.xml配置文件,有几点说明:
hbase.rootdir这个目录是region server的共享目录,用来持久化Hbase。
hdfs://master:9000/hbase必须与你的Hadoop集群的core-site.xml文件配置中的端口号保持一致,并且该项并不识别IP,只能使用hostname。
hbase.cluster.distributed指定hbase的运行模式,false代表单机模式,true代表全分布模式。
hbase.zookeeper.quorum和hbase.zookeeper.property.dataDir是hbase中zookeeper相关的配置,其中hbase.zookeeper.quorum设置了hbase的zookeeper集群的地址列表,用逗号分隔,建议为奇数个数,其默认值为“localhost”,是给伪分布式用的。hbase.zookeeper.property.dataDir此项设置zookeeper快照存放的地址。
hbase.zookeeper.property.clientPort配置客户端连接的端口,如果没有配置,则使用hbase默认的端口号,即2181。
3. regionservers
完全分布式模式下还需要修改regionservers文件。 这个文件中列出了你希望运行的全部 HRegionServer, 就像Hadoop里面的 slaves 一样。列在这里的server会随着集群的启动而启动,集群的停止而停止。
写入文件里面的内容可以是IP地址,也可以是主机名。