Hbase 0.98集群搭建的详细步骤

准备工作

Hbase的搭建是依赖于Hadoop的,Hbase的数据文件实际上存储在HDFS文件系统中,所以我们需要先搭建hadoop环境,之前的博文中已经搭建过了(详见http://sxlkk.iteye.com/blog/2309385),这里就不在赘述。

版本选择

由于之前搭建的hadoop2.2.0社区版,hadoop和hbase之间存在版本的兼容性问题,并不是所有的版本都可以相互兼容,所以在此我选择:Hbase 0.98版本,能够完美兼容hadoop2.2.0版本。我们进入hbase的lib目录中可以看到jar包的版本:



 

如果不是以上的2.2.0版本的jar包,需要与hadoop的jar包版本保持一致,从hadoop的share/hadoop目录中找到相对应的jar包进行替换。

配置文件

进入hbase的conf目录下,对配置文件进行修改:

regionservers文件:

vi regionservers

master
slave1
slave2

hbase-env.sh文件:

export JAVA_HOME=/opt/jdk1.7

# The directory where pid files are stored. /tmp by default.
export HBASE_PID_DIR=/var/hadoop/pids

# Where log files are stored.  $HBASE_HOME/logs by default.
# export HBASE_LOG_DIR=${HBASE_HOME}/logs

hbase-site.xml文件:

<configuration>
<property>  
    <name>hbase.rootdir</name>   
    <value>hdfs://master:9000/hbase</value>  
</property>  
<property>
    <name>hbase.master</name>
        <value>hdfs://master:60000</value>
        </property>
<property>  
    <name>hbase.cluster.distributed</name>  
    <value>true</value>  
</property>  
<property>  
    <name>hbase.zookeeper.property.clientPort</name>  
    <value>2222</value>  
</property>  
<property>  
    <name>hbase.zookeeper.quorum</name>  
    <value>master, slave1, slave2</value>  
</property>  
<property>  
    <name>hbase.zookeeper.property.dataDir</name>  
    <value>/home/hadoop2/zookeeper</value>  
</property>
<property>
    <name>hbase.regionserver.handler.count</name>
    <value>100</value>
</property>
</configuration>  

分发hbase并启动

将以上配置好的hbase文件夹,整个分发到集群的各个机器中,然后使用命令启动hbase:bin/start-hbase.sh。

然后使用jps命令查看hbase启动必须的进程:

[hadoop2@master conf]$ jps
7586 DataNode
2968 HRegionServer
2728 HQuorumPeer
7894 ResourceManager
8002 NodeManager
2827 HMaster
9331 Jps
7463 NameNode
7750 SecondaryNameNode

其中,标红的3个进程为hbase启动后,master主机中会出现的进程,HMaster进程为master进程,在普通的slave机器中只会出现,HRegionServer和HQuorumPeer两个Hase相关的进程,前者为RegionServer的进程,后者则是hbase自启动的ZooKeeper的进程。当然了,启动hbase之前必须先启动hadoop,所以必然存在DataNode、NodeManager等hadoop相关的进程。

值得一提的是,hbase的运行必须依赖于Zookeeper,默认情况下,hbase启动的时候会自启动Zookeeper,其中的配置选项存在于/conf/hbase-env.sh:

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

默认为true,表示hbase自己管理Zookeeper,如果修改为false,则需要在hbase-site.xml中配置Zookeeper, 并自行安装Zookpeer集群。

出处:http://www.cnblogs.com/bxljoy/p/3939600.html

猜你喜欢

转载自sxlkk.iteye.com/blog/2309391