1.环境
●OS :ubuntu-10.04.2-desktop
●Hadoop :Hadoop-0.20.2
●HBase :HBase-0.20.6
●Zookeeper :Zookeeper-3.3.3
●JDK :JDK-1.6.0.24
本集群有三台机器IP对应分别如下:
192.168.9.128:ubuntu (namenode,SecondarNameNode,HMaster,HQuorumPeer,HRegionServer,DateNode)
192.168.9.131:test1 (DataNode,HRegionServer,HquorumPeer)
192.168.9.132:test2(DataNode,HRegionServer,HquorumPeer)
由于机器所限,为了模拟更多的节点,在Namenod节点上同时部署了DataNode,HRegionServer,SecondarNameNode,同时又作为HBase的主节点。
2.Hadoop集群的部署
详见Hadoop集群部署手册
3.安装和部署HBase
3.1.修改机器的hosts文件
修改所有机器的/etc/hosts文件将下面的内容添加进去:
192.168.9.128 ubuntu
192.168.9.131 test1
192.168.9.132 test2
3.2.安装
通过命令tar zxvf hbase-0.20.6.tar.gz加压到当前文件夹
3.3.修改HBase的配置文件
编辑所有机器上的hbase安装目录conf目录下的hbase-site.xml、hbase-default.xml、hbase-env.sh几个文件
3.3.1.Hbase-site.xml
编辑这个文件要注意hbase.rootdir参数,这个参数必须与你的hadoop集群里的core-site.xml文件里fs.default.name保持一致才可以。在就是hbase该项不识别机器的IP,只能使用机器的hostname才可以。
Hbase.zookeeper.quorum个数必须为奇数。
3.3.2.Hbase-default.xml
这个配置文件只需修改前面的hbase.rootdir和hbase.cluster.distributed这两项
3.3.3.Hbase-env.sh
修改代码如下
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.24
export HBASE_HOME=/home/zhangfeng/hbase-0.20.6
export PATH=$PATH:/home/zhangfeng/hbase-0.20.6/bin
export HBASE_OPTS="$HBASE_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"
export HBASE_MANAGES_ZK=true
export HADOOP_HOME=/home/zhangfeng/hadoop-0.20.2
export HBASE_MANAGES_ZK=true
3.3.4.修改regionservers文件
将所有的DataNode节点的主机名称加进去就可以了
test1
test2
ubuntu
4.安装Zookeeper
在所有机器上安装Zookeeper,我的安装目录是个hbase及hadoop的根目录在同级
通过命令 tar zxvf zookeeper-3.3.3.tar.gz
然后修改zookeeper安装目录下的conf下的zoo_sample.cfg,将其重命名为zoo.cfg。
修改配置如下:
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/home/zhangfeng/zookeeper-3.3.3/data
# the port at which the clients will connect
clientPort=2181
并在文件最后将所有的zookeeper服务添加上,如下:
server.1=ubuntu:2888:3888
server.2=test1:2888:3888
server.3=test2:2888:3888
到这里我们已经将三台机器的集群部署好了,下面我们看看我们部署的集群是否正确。
首先启动hadoop集群:
NameNode:
Test1:DataNode
Test2:DataNode
其次启动hbase(HMaster)
Test1:HRegionServer
Test2:HRegionServer
整个集群启动正常,下面我们通过hbase 的命令行管理界面看看是否正常
显示连接正常,可以创建数据表等。
我们也可以通过WEB页面来管理查看HBase数据库。
HMaster:http://ubuntu:60010/master.jsp
截图如下:下载本文