Hbase完全分布式安装

HBase是一个基于Hadoop的分布式的、面向列的开源数据库,它以Google的BigTable为原型。

  高可用性、高性能、列存储、可伸缩、实时读写。

  完全分布式安装HBase是在完全分布式安装好Hadoop的基础上进行的。

  HBase的版本和Hadoop的版本需要匹配得上,尽量不要选择最新的版本,应该选稳定版本的。

  我这里用的是Hadoop-1.2.1和HBase-0.94.11。

  以下操作在hadoop的namenode主节点上进行,在主节点上配置好之后,再复制到各个从节点。


1. 配置hbase-env.sh文件

  该文件在hbase-0.90.5/conf/目录下。

  1)配置JDK安装目录

 # The java implementation to use.  Java 1.6 required.
 export JAVA_HOME=/usr/java

  2)配置Hadoop安装目录

# Extra Java CLASSPATH elements.  Optional.
 export HBASE_CLASSPATH=/home/hadoop/hadoop-1.2.1/conf

  3)配置由HBase负责启动和关闭zookeeper

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

2. 该文件在hbase-0.94.11/conf/目录下,文件内容配置如下:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
/**
 * Copyright 2010 The Apache Software Foundation
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-->
<configuration>
        <property>
                <!--指定HBase数据的存放位置-->
                <name>hbase.rootdir</name>
                <value>hdfs://master:9000/hbase</value>
        </property>
        <property>
                <!--启动分布模式-->
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
          <property>
                <!--hbase临时目录,不配置可能出错-->
                <name>hbase.tmp.dir</name>
                <value>/home/hadoop/hbase-0.94.11/tmp</value>
        </property>
        <property>                
                      <!--指定HBase主节点的主机名和端口-->                
                          <name>hbase.master</name>               
                          <value>master:60000</value>       
        </property>        
        <property>               
                        <!--设置所有zookeeper节点的主机名或IP-->             
                        <name>hbase.zookeeper.quorum</name>                
                        <value>master,node1,node2</value>        
        </property>        
        <property>                
                        <!--指定zookeeper目录-->               
                        <name>hbase.zookeeper.property.dataDir</name>                
                       <value>/home/coder/hbase-0.94.11/zookeeper</value>        
        </property>
  </configuration>

3. 配置regionservers文件

  该文件在hadoop-0.94.11/conf/目录下,我这里配置了两个从节点h2和h3作为Region服务器,该文件内容如下:

node1                     
node2                            

4. 替换HBase的hadoop核心jar包

  进入到hbase-0.94.11/lib/目录下。

  1)将原来的hadoop-core-0.20-append-r1056497.jar做个备份,或者直接删掉

[coder@master lib]$ mv hadoop-core-0.20-append-r1056497.jar hadoop-core-0.20-append-r1056497.jar.bak

  2)将Hadoop安装目录中的hadoop-1.2.1-core.jar复制到hbase-0.94.11/lib/目录中

[coder@master lib]$ cp /home/hadoop/hadoop-1.2.1/hadoop-1.2.1-core.jar /home/hadoop/hbase-0.94.11/lib/ 

5. 到这里,最简单HBase配置已经ok了。现在需要把配置好的Hbase复制到其他节点,执行如下命令

[hadoop@master ~]$ scp -r hbase-0.94.11 node1:/home/hadoop/
[hadoop@master ~]$ scp -r hbase-0.94.11 node2:/home/hadoop/
6、先启动Hadoop,再启动HBase。

  1)启动hadoop,进入hadoop安装目录,执行:

[coder@master hadoop-1.2.1]$ bin/start-all.sh

  2)启动HBase,进入HBase安装目录,执行:

[coder@master hbase-0.94.11]$ bin/start-hbase.sh

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页