CentOS下搭建Hadoop-1.2.1集群(二):搭建HBase集群

HBase在Hadoop集群下搭建过程:

        在安装HBase集群前,必须先安装zookeeper。

        ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。Zookeeper是Google的Chubby一个开源的实现,是高有效和可靠的协同工作系统,Zookeeper能够用来leader选举,配置信息维护等,在一个分布式的环境中,需要一个Master实例或存储一些配置信息,确保文件写入的一致性等.ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,包含一个简单的原语集,是Hadoop和Hbase的重要组件。HBase需要Zookeeper来协调HBase集群,Zookeeper Quorum中除了存储了 HBase的-ROOT-表的地址和HMaster的地址,HRegionServer也会把自己以Ephemeral方式注册到Zookeeper中,使得 HMaster可以随时感知到各个HRegionServer的健康状态。此外,Zookeeper也避免了HBase中HMaster的单点问题。

一、安装zookeeper

              (1)配置

                        解压完zookeeper-3.4.6后,进入/home/myhadoop/zookeeper-3.4.6/conf/目录,拷贝zoo_sample.cfg生成一个新文件zoo.cfg。然后修改zoo.cfg中dataDir目录地址,增加访问地址和端口

                      

Java代码   收藏代码
  1. [myhadoop@myhadoop1 .ssh]$ cd /home/myhadoop/zookeeper-3.4.6/conf/  
  2. [myhadoop@myhadoop1 conf]$ ls  
  3. configuration.xsl  log4j.properties  zoo_sample.cfg  
  4. [myhadoop@myhadoop1 conf]$ cp zoo_sample.cfg zoo.cfg  
  5. [myhadoop@myhadoop1 conf]$ ls  
  6. configuration.xsl  log4j.properties  zoo.cfg  zoo_sample.cfg  
  7. [myhadoop@myhadoop1 conf]$ vim zoo.cfg   
  8. # example sakes.  
  9. dataDir=/home/myhadoop/zookeeper-3.4.6/data    ----修改此目录  
  10.   
  11. #-------添加如下内容  
  12. server.1=192.168.1.111:2887:3887    
  13. server.2=192.168.1.112:2888:3888    
  14. server.3=192.168.1.113:2889:3889  

 

 

       进入zookeeper-3.4.6目录,创建刚才配置中增加的data目录, 然后进入data目录,创建myid文件,输入服务器编号,比如在192.168.1.111上,myid文件就存储数字1,192.168.1.112上就存储数字2

Java代码   收藏代码
  1. [myhadoop@myhadoop1 conf]$ cd ..  
  2. [myhadoop@myhadoop1 zookeeper-3.4.6]$ ls  
  3. bin        CHANGES.txt  contrib     docs             ivy.xml  LICENSE.txt  README_packaging.txt  recipes  zookeeper-3.4.6.jar      zookeeper-3.4.6.jar.md5  
  4. build.xml  conf         dist-maven  ivysettings.xml  lib      NOTICE.txt   README.txt            src      zookeeper-3.4.6.jar.asc  zookeeper-3.4.6.jar.sha1  
  5. [myhadoop@myhadoop1 zookeeper-3.4.6]$ mkdir data  
  6. [myhadoop@myhadoop1 zookeeper-3.4.6]$ cd data  
  7. [myhadoop@myhadoop1 data]$ vim myid  
  8.   
  9. 1  

 

 

    (2)拷贝数据到其他服务器

     复制zookeeper-3.4.6目录到其他从服务器

         

Java代码   收藏代码
  1. [myhadoop@myhadoop1 ~]$ cd ~  
  2. [myhadoop@myhadoop1 ~]$ scp zookeeper-3.4.6 myhadoop@myhadoop2:~  

     (3)修改myid编号

 

       复制完成,以myhadoop用户登录到其他服务器,修改zookeeper-3.4.6/data/myid 文件的内容,myhadoop2服务器就改成2,myhadoop3服务器就改成3

        

 

Java代码   收藏代码
  1. [myhadoop@myhadoop2 ~]$ cd ~  
  2. [myhadoop@myhadoop2 ~]$ vim zookeeper-3.4.6/data/myid   
  3.   
  4. 2  

 

 

 

Java代码   收藏代码
  1. [myhadoop@myhadoop3 ~]$ cd ~  
  2. [myhadoop@myhadoop3 ~]$ vim zookeeper-3.4.6/data/myid   
  3.   
  4. 3  

      (4)启动验证

 

               在从myhadoop3、myhadoop2,myhadoop1,依次执行zkServer.sh start 来启动 zookeeper,所有服务器启动完成后,就可以通过zkServer.sh status来查看服务器状态。没有报错说明都正常了。输入jps可以看到服务器中多了一个QuorumPeerMain服务。

 

Java代码   收藏代码
  1. [myhadoop@myhadoop1 ~]$ zkServer.sh start  
  2. JMX enabled by default  
  3. Using config: /home/myhadoop/zookeeper-3.4.6/bin/../conf/zoo.cfg  
  4. Starting zookeeper ... STARTED  
  5. [myhadoop@myhadoop1 ~]$ zkServer.sh status  
  6. JMX enabled by default  
  7. Using config: /home/myhadoop/zookeeper-3.4.6/bin/../conf/zoo.cfg  
  8. Mode: follower  
  9. [myhadoop@myhadoop1 ~]$   
  10. [myhadoop@myhadoop1 ~]$ jps  
  11. 4870 SecondaryNameNode  
  12. 4625 NameNode  
  13. 4746 DataNode  
  14. 5102 TaskTracker  
  15. 6377 Jps  
  16. 5744 QuorumPeerMain  
  17. 4971 JobTracker  

 

 

二、 安装hbase

              (1)配置数据目录、集群模式、Zookeeper服务器地址

                 配置hbase-0.94.17/conf/hbase-site.xml                

Xml代码   收藏代码
  1. [myhadoop@myhadoop1 ~]$ vim hbase-0.94.17/conf/hbase-site.xml   
  2.   
  3. <?xml version="1.0"?>  
  4. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  5. <configuration>  
  6.   <property>  
  7.     <name>hbase.rootdir</name>  
  8.     <value>hdfs://myhadoop1:9000/hbase</value>      
  9.     <description>区域服务器使用存储HBase数据库数据的目录,服务器名称不能填IP,不然会报错</description>          
  10.   </property>              
  11.   <property>                
  12.      <name>hbase.cluster.distributed</name>                 
  13.      <value>true</value>                     
  14.      <description>指定HBase运行的模式: false: 单机模式或者为分布式模式   true: 全分布模式 </description>             
  15.   </property>                                                   
  16.   <property>                                                     
  17.     <name>hbase.zookeeper.quorum</name>                                                       
  18.     <value>myhadoop1,myhadoop2,myhadoop3</value>                                                           
  19.     <description>ZooKeeper集群服务器的位置</description>                                                                 
  20.   </property>                                                                  
  21. </configuration>  

 

 

              (2)配置数据服务器地址

                hbase-0.94.17/conf/regionservers

 

Java代码   收藏代码
  1. [myhadoop@myhadoop1 ~]$ vim hbase-0.94.17/conf/regionservers   
  2.   
  3. 192.168.1.111  
  4. 192.168.1.112  
  5. 192.168.1.113  

 

 

              (3)配置HBase中Zeekeeper使用方式

             在hbase-0.94.17/conf/hbase-env.sh文件最尾部,打开注释 export HBASE_MANAGES_ZK=false,修改true为false。意思是使用外部的Zeekeeper

 

Java代码   收藏代码
  1. [myhadoop@myhadoop1 ~]$ vim hbase-0.94.17/conf/hbase-env.sh  
  2.   
  3. export HBASE_MANAGES_ZK=false  

 

 

              (3)复制HBase目录到其他服务器

           在myhadoop1上以myhadoop用户,使用以下命令进行复制:

                 scp -r hbase-0.94.17 myhadoop@myhadoop2:~

                 scp -r hbase-0.94.17 myhadoop@myhadoop1:~

 

              (4)启动,验证

                   拷贝完成后就可以输入:start-hbase.sh启动HBase集群了;启动完成后,myhadoop1上使用jps命令可以看到多了一个HMaster服务,在子节点输入jps可以看到多了一个HRegionServer服务; 登录HBase可以使用hbase shell命令登录HBase,输入status查看当前状态。输入exit退出HBase服务。

Java代码   收藏代码
  1. [myhadoop@myhadoop1 ~]$ start-hbase.sh   
  2. starting master, logging to /home/myhadoop/hbase-0.94.17/logs/hbase-myhadoop-master-myhadoop1.out  
  3. 192.168.1.112: starting regionserver, logging to /home/myhadoop/hbase-0.94.17/bin/../logs/hbase-myhadoop-regionserver-myhadoop2.out  
  4. 192.168.1.113: starting regionserver, logging to /home/myhadoop/hbase-0.94.17/bin/../logs/hbase-myhadoop-regionserver-myhadoop3.out  
  5. 192.168.1.111: starting regionserver, logging to /home/myhadoop/hbase-0.94.17/bin/../logs/hbase-myhadoop-regionserver-myhadoop1.out  
  6. [myhadoop@myhadoop1 ~]$ jps  
  7. 4870 SecondaryNameNode  
  8. 4625 NameNode  
  9. 6013 HMaster  
  10. 4746 DataNode  
  11. 5102 TaskTracker  
  12. 6377 Jps  
  13. 5744 QuorumPeerMain  
  14. 4971 JobTracker  
  15. 6171 HRegionServer  
  16. [myhadoop@myhadoop1 ~]$ hbase shell  
  17. HBase Shell; enter 'help<RETURN>' for list of supported commands.  
  18. Type "exit<RETURN>" to leave the HBase Shell  
  19. Version 0.94.17, r1569509, Tue Feb 18 22:25:31 UTC 2014  
  20.   
  21. hbase(main):001:0> status  
  22. 3 servers, 0 dead, 0.6667 average load  
  23.   
  24. hbase(main):002:0> exit  
  25. [myhadoop@myhadoop1 ~]$   

 

 

       通过浏览器查看:在浏览器中输入 : http://192.168.1.111:60010/

      

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值