Hbase 0.98集群搭建的详细步骤

时间:2021-12-23 19:27:57
  • 准备工作

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

  • 版本选择

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

Hbase 0.98集群搭建的详细步骤

如果不是以上的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.

# 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></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></value>
</property>
</configuration>
  • 分发hbase并启动

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

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

[hadoop2@master conf]$ jps
DataNode
HRegionServer
HQuorumPeer
ResourceManager
NodeManager
HMaster
Jps
NameNode
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