HBase 0.98.1集群安装

确保已经安装了Hadoop并保证hadoop运行正常。关于hbase与hadoop的版本依赖关系,请参考:  关于java和hadoop的安装和配置请参考: 本文不再赘述,只给出/etc/profile中关于JAVA_HOME,HADOOP_HOME和HBASE_HOME的配置参考:

JAVA_HOME=/usr/java/jdk1.7.0_51
HADOOP_HOME=/usr/local/hadoop
HBASE_HOME=/usr/local/hbase
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin
export JAVA_HOME HADOOP_HOME HBASE_HOME PATH

注:为了在输入命令时避免同名的cmd文件的干扰,可以使用rm -f $HBASE_HOME/bin/*.cmd删除cmd文件。

1.2. 将安装包解压到/usr/local(或者/opt)下, 编辑conf/hbase-env.sh 在开头部分添加:

export JAVA_HOME=/usr/java/jdk1.7.0_51
export HBASE_LOG_DIR=/var/hbase/logs

关于在hbase-env.sh中设置JAVA_HOME的原因与在hadoop-env.sh和yarn-env.sh中设置JAVA_HOME的原因是一样的,即使你的结点上已经正确设置了JAVA_HOME,在*-env.sh中设置依然是必须的!

1.3. 配置${HBASE_HOME}/conf/hbase-site.xml

<configuration>
    <property>
        <name>hbase.tmp.dir</name>
        <value>/var/hbase</value>
    </property>
    <property >
        <name>hbase.rootdir</name>
        <value>hdfs://YOUR-NAMENODE:9000/hbase</value>
    </property>
    <property >
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>YOUR-ZNODE1,YOUR-ZNODE2,YOUR-ZNODE3</value>
    </property>
</configuration>

对于hbase.master.info.bindAddress的配置需要注意,该项默认值是0.0.0.0,若改为某个结点的主机名或IP时,若在另外一个结点上使用start-hbase.sh启动hbase会失败,原因是使用start-hbase.sh启动时,会将当前结点作为master,即在当前结点上启动master服务,但如果hbase.master.info.bindAddress是另外一个结点,那么另外一个主机的地址是肯定无法bind到当前主机上的,所以HMaster服务就起不来了。

1.4 配置slave结点列表

通常情况我们使用start-hbase.sh脚本来启动整个集群,查看该脚本可以知道,该脚本会基于配置文件在目标结点上启动master,zookeeper和regionserver,而regionserver的列表是在${HBASE_HOME}/conf/regionservers文件中配置的,一个结点一行。所以我们需要在此文件中添加所有的regionserver机器名或IP

1.5. 将上述配置的hbase安装程序重新打包复制到所有结点的对应位置再展开,同时记得修改每个结点的/etc/profile

2. 启动

2.1 关于账户设置

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/4815b42a2cd4b096859079685b9b9482.html