Hbase完全分布式安装

来源:互联网 发布:mac怎么打开显示包内容 编辑:程序博客网 时间:2024/05/21 12:47
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

原创粉丝点击