Hadoop上搭建Zookeeper、HBase

环境

ubuntu 14.04
hadoop 2.7.1 搭建过程,请参考我的上几篇文章
master 192.168.31.131
slave1 192.168.31.132
slave2 192.168.31.133

HBase依赖于zookeeper,故先搭建Zookeeper

Zookeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以单机模式安装运行,不过它的长处在于通过分布式ZooKeeper集群(一个Leader,多个Follower),基于一定的策略来保证ZooKeeper集群的稳定性和可用性,从而实现分布式应用的可靠性。

搭建Zookeeper

1.在zookeeper.apache.org上下载zookeeper-3.4.8.tar.gz
2.解压 tar -xzvf zookeeper-3.4.8.tar.gz
3.修改权限 sudo chown -R cms(ubuntu用户名) zookeeper-3.4.8
4.修改配置文件 /etc/profile,增加

export ZOOKEEPER_HOME=$HOME/zookeeper-3.4.8
export CLASSPATH=$ZOOKEEPER_HOME/lib
export PATH=$ZOOKEEPER_HOME/bin

5.对Zookeeper的配置文件的参数进行设置
进入zookeeper-3.4.5/conf
1)cp zoo_sample.cfg zoo.cfg

一是是修改dataDir的文件目录位置

2)在zookeeper下新建一个存放数据的目录
mkdir zookerperdata
3)vim zoo.cfg

dataDir=/home/cms/zookeeper-3.4.8/zookerperdata

二是配置id

   server.1=192.168.31.131:2888:3888  
   server.2=192.168.31.132:2888:3888  
   server.3=192.168.31.133:2888:3888
Hadoop上搭建Zookeeper、HBase_第1张图片
图示


注意上图的配置中master,slave1分别为主机名
在上面的配置文件中"server.id=host:port:port"中的第一个port是从机器(follower)连接到主机器(leader)的端口号,第二个port是进行leadership选举的端口号。

4)创建myid
接下来在dataDir所指定的目录下(zookeeper-3.4.8/zookerperdata/)创建一个文件名为myid的文件,文件中的内容只有一行,为本主机对应的id值,也就是上图中server.id中的id。例如:在服务器1中的myid的内容应该写入1。
vim myid

5)远程复制到slave1,slave2相同的目录下
scp -r zookeeper-3.4.8 cms@slave1:/home/cms/
scp -r zookeeper-3.4.8 cms@slave1:/home/cms/

6)修改slave1,slave2机器上的myid的值分别为2和3

启动ZooKeeper集群

在ZooKeeper集群的每个结点上,执行启动ZooKeeper服务的脚本,如下所示:
cms@master:~/zookeeper-3.4.8$ bin/zkServer.sh startcms@slave1:~/zookeeper-3.4.8$ bin/zkServer.sh startcms@slave2:~/zookeeper-3.4.8$ bin/zkServer.sh start
如下图所示:

Hadoop上搭建Zookeeper、HBase_第2张图片
master

slave1


其中,QuorumPeerMain是zookeeper进程,启动正常。
如上依次启动了所有机器上的Zookeeper之后可以通过ZooKeeper的脚本来查看启动状态,包括集群中各个结点的角色(或是Leader,或是Follower),如下所示,是在ZooKeeper集群中的每个结点上查询的结果:




通过上面状态查询结果可见,slave1是集群的Leader,其余的两个结点是Follower。
另外,可以通过客户端脚本,连接到ZooKeeper集群上。对于客户端来说,ZooKeeper是一个整体(ensemble),连接到ZooKeeper集群实际上感觉在独享整个集群的服务,所以,你可以在任何一个结点上建立到服务集群的连接,例如:
zkCli.sh -server slave1:2181

Hadoop上搭建Zookeeper、HBase_第3张图片


quit退出

停止zookeeper进程:

zkServer.sh stop
至此,Zookeeper集群安装大功告成!

安装HBase

1.下载以及解压hbase-1.0.3.tar.gz
2.修改配置文件 /etc/profile,增加

export HBASE_HOME=$HOME/hbase-1.0.3
export CLASSPATH=$HBASE_HOME/lib
export PATH=$HBASE_HOME/bin

3.对Hbase的配置文件的参数进行设置
进入Hbase/conf
1)修改 hbase-env.sh

 export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
 export HBASE_MANAGES_ZK=false // 告诉hbase使用外部的zk

2)修改hbase-site.xml



hbase.rootdir
hdfs://master:9000/hbase 


hbase.cluster.distributed
true


hbase.zookeeper.quorum
master,slave1,slave2


hbase.zookeeper.property.dataDir
/home/cms/zookeeper-3.4.8/zookerperdata!-- 指定zk的数据文件夹 -->

3)vim regionservers
添加内容

slave1 
slave2

4)远程复制到slave1,slave2相同的目录下
scp -r hbase-1.0.3 cms@slave1:/home/cms/
scp -r hbase-1.0.3 cms@slave1:/home/cms/

启动Hbase

在启动hbase之前,要启动
1)启动hadoop集群
start-dfs.sh start-yarn.sh
2)分别启动zk(注意每个节点的zk都要启动)
zkServer.sh start
3)启动hbase,在主节点上运行:

start-hbase.sh

jps

Hadoop上搭建Zookeeper、HBase_第4张图片
Hadoop上搭建Zookeeper、HBase_第5张图片

测试Hbase

Hadoop上搭建Zookeeper、HBase_第6张图片


显示:

Hadoop上搭建Zookeeper、HBase_第7张图片
Hadoop上搭建Zookeeper、HBase_第8张图片


至此搭建成功


通过web进行访问

Hadoop上搭建Zookeeper、HBase_第9张图片

参考文献

Zookeeper集群环境安装过程详解
hbase集群搭建


你可能感兴趣的:(Hadoop)