[hadoop] 基于Hadoop集群的HBase集群的配置

时间:2022-12-27 08:26:16
1>  准备工作
       a> 已经配置完成的Hadoop集群
       b> 所需要的软件包
             zookeeper-3.4.4.tar.gz
             hbase-0.94.5.tar.gz
2>  单独安装的ZooKeeper集群,不基于HBase集群管理
       a> 在master01上解压zookeeper-3.4.4.tar.gz
             #tar -zxvf zookeeper-3.4.4.tar.gz
       b> 修改Zookeeper的配置文件
             #vim /root/zookeeper-3.4.4/conf/zoo.cfg      
       tickTime=2000
initLimit=5
syncLimit=2
dataDir=/data/zookeeper
clientPort=2181
server.1=master01:2888:3888
server.2=master02:2888:3888
server.3=slave01:2888:3888
server.4=slave02:2888:3888
server.5=slave03:2888:3888
       c> 将zookeeper-3.4.4复制到其他机器
             #scp -r zookeeper-3.4.4 root@master02:/root/
             #scp -r zookeeper-3.4.4 root@slave01:/root/
             #scp -r zookeeper-3.4.4 root@slave02:/root/
             #scp -r zookeeper-3.4.4 root@slave03:/root/
       d> 在每台机器配置的dataDir目录下面,创建myid文件标志当前主机
             例在master01上
             #echo "1" > /data/zookeeper/myid
             例在slave03上
             #echo "5" > /data/zookeeper/myid
       e> 启动zookeeper集群
             在每台机器上执行
             #./zookeeper-3.4.4/bin/zkServer.sh start
             可通过ZooKeeper的脚本查看启动状态,包括集群中各个节点的角色(Leader或Follower),Leader只有一个,选举产生
             #./zookeeper-3.4.4/bin/zkServer.sh status     
3>  安装配置Hbase集群
       a> 启动HDFS集群实例,并创建目录hdfs://master01:8020/hbase,在master01上执行
             #./hadoop-0.20.2/bin/hadoop fs -mkdir /hbase 
             验证是否创建成功
             #./hadoop-0.20.2/bin/hadoop fs -lsr /hbase
       b> 解压hbase-0.94.5.tar.gz,修改配置文件
             #tar -zxvf hbase-0.94.5.tar.gz
             #vim hbase-0.94.5/conf/hbase-env.sh   
       export JAVA_HOME=/usr/java/jdk1.6.0_26
export HBASE_CLASSPATH=$HBASE_HOME/
export HBASE_HEAPSIZE=128
export HBASE_OPTS="-XX:+UseConcMarkSweepGC"
export HBASE_MANAGES_ZK=false

      #vim hbase-0.94.5/conf/hbase-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master01:8020/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>ls /data/zookeeper/</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master01,master02,slave01,slave02,slave03</value>
</property>
</configuration>
             #vim hbase-0.94.5/conf/regionservers

     slave01
slave02
slave03
       c>  使HBase的lib中的hadoop版本和HDFS集群使用的版本一致
              #rm hbase-0.94.5/lib/hadoop-*.tar
              #cp hadoop-0.20.2/hadoop-0.20.2-*.tar  hbase-0.94.5/lib/

       d>  重命名hbase-0.94.5下的hbase-webapps 目录为webapps
              #mv hbase-0.94.5/hbase-webapps/  hbase-0.94.5/webapps/

       e>  将配置好的hbase-0.94.5复制到其他机器
              #scp -r hbase-0.94.5  root@master01:/root/
              #scp -r hbase-0.94.5  root@master02:/root/
              #scp -r hbase-0.94.5  root@slave01:/root/
              #scp -r hbase-0.94.5  root@slave02:/root/
              #scp -r hbase-0.94.5  root@slave03:/root/
4>  启动HBase集群
       a>  确保HDFS和Zookeeper已经启动
       b>  在master01上执行
              #./hbase-0.94.5/bin/start-hbase.sh
5>  查看master和slave上启动的进程
       a>  在master01上执行
              #jps
                1957 QuorumPeerMain
                2298 Jps
                2140 HMaster
                1654 NameNode
        b>  在slave01上执行
               #jps
                 3656 Jps
                 3466 HRegionServer
                 3074 QuorumPeerMain
                 1758 TaskTracker
                 1827 DataNode
6> 验证Hbase集群是否安装成功
      #./hbase-0.94.5/bin/hbase shell
         HBase Shell; enter 'help<RETURN>' for list of supported commands.
         Type "exit<RETURN>" to leave the HBase Shell
         Version 0.94.5, r1443843, Fri Feb  8 05:51:25 UTC 2013
         hbase(main):001:0>