怎么在Linux 完全分布式上搭建Hbase 呢? hadoop 那点事

精彩匹配

1.成功结果图:

 

 

2.具体步骤:

环境准备

  • 服务器集群 我用的CentOS-6.6版本的4个虚拟机,主机名为hadoop01、hadoop02、hadoop03、hadoop04,另外我会使用hadoop用户搭建集群(生产环境中root用户不是可以任意使用的) 关于虚拟机的安装可以参考以下两篇文章: 在Windows中安装一台Linux虚拟机 通过已有的虚拟机克隆四台虚拟机
  • 服务器集群中已经搭建了hadoop集群(完全分布式和HA集群都可以) 参考 Hadoop完全分布式集群搭建 Hadoop高可用(HA)集群搭建 我的四台虚拟机上已经搭建了hadoop HA集群
  • hbase安装包 下载地址:https://mirrors.aliyun.com/apache/hbase/ 我用的hbase-1.2.6
  • 2. 安装步骤

    (1) 把hbase安装包上传到集群中任一服务器中并解压

    [hadoop@hadoop01 ~]$ tar -zxvf hbase-1.2.6-bin.tar.gz -C /opt/

    (2) 修改hbase-env.sh配置文件

    hbase的配置文件在HBASE_HOME/conf下

    [hadoop@hadoop01 conf]# vim hbase-env.sh 
    
    # 加入JAVA_HOME
    export JAVA_HOME=/usr/local/java/jdk1.8.0_73
    # 指定不使用自带的zookeeper
    export HBASE_MANAGES_ZK=false

    (3) 修改hbase-site.xml配置文件

    [hadoop@hadoop01 ~]$ vim hbase-site.xml
    
    <configuration>
        <!--
        可以不配置,如果要配置,需要和zookeeper配置文件zoo.cfg中的dataDir指定的路径相同
        zoo.cfg中dataDir=/var/zookeeper
        那么:
        <property>
            <name>hbase.zookeeper.property.dataDir</name>
            <value>/var/zookeeper</value>
        </property>
        -->
        
        <!--指定hbase的数据在hdfs上存放的位置-->
        <property>
            <name>hbase.rootdir</name>
            <value>hdfs://jed/user/hbase</value>
        </property>
        
        <!--指定hbase集群为分布式集群-->
        <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
        </property>
        
        <!--指定zookeeper集群-->
        <property>
            <name>hbase.zookeeper.quorum</name>
            <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
        </property>
    </configuration>

    (4) 新建backup-masters文件,并做修改

    [hadoop@hadoop01 conf]$ vim backup-masters
    
    # 添加备用hbase-master
    hadoop02

    (5) 修改regionservers配置文件,加入RegionServer节点列表

    [hadoop@hadoop01 conf]$ vim regionservers
    
    # 默认有一行localhost,删除
    hadoop01
    hadoop02
    hadoop03
    hadoop04

    (6) 把hadoop的配置文件core-site.xml和hdfs-site.xml复制到hbase的配置文件目录下

    [hadoop@hadoop01 conf]$ cp /home/hadoop/apps/hadoop-2.7.4/etc/hadoop/core-site.xml ./
    [hadoop@hadoop01 conf]$ cp /home/hadoop/apps/hadoop-2.7.4/etc/hadoop/hdfs-site.xml ./

    (7) 把hbase安装目录分发给其他节点

    [hadoop@hadoop01 apps]$ scp -r hbase-1.2.6 hadoop02:`pwd`
    [hadoop@hadoop01 apps]$ scp -r hbase-1.2.6 hadoop03:`pwd`
    [hadoop@hadoop01 apps]$ scp -r hbase-1.2.6 hadoop04:`pwd`

    (8) 在全部节点的环境变量配置文件中加入HBASE_HOME

    3. 启动集群

    (1) 首先启动zookeeper集群

    zkServer.sh start

    (2) 然后启动HDFS集群

    start-dfs.sh

    (3) 最后启动hbase集群

    [hadoop@hadoop01 ~]$ start-hbase.sh

    6. 测试

    (1) 查看进程启动情况

    如果有节点相应的进程没有启动,那么可以手动启动

    • hbase-daemon.sh start master
    • hbase-daemon.sh start regionserver

    (2) 访问WEB页面进行验证

    (3) 测试是否可以进入hbase命令行

    至此,hbase完全分布式集群搭建成功!

© 版权声明
THE END
喜欢就支持以下吧
点赞0 分享
图片正在生成中,请稍后...