HBase简介和分布式集群的搭建

1,HBase是什么?

1,概念

HBase是一个高可靠性、高性能、可伸缩、分布式、基于列存储的非关系型(NoSQL)数据库。

  • 列式存储和行式存储?
    HBase简介和分布式集群的搭建_第1张图片
  • 非关系型数据库与关系型数据库?
    HBase简介和分布式集群的搭建_第2张图片

2,与Google Bigtable的不同之处

服务 Google Bigtables HBase
文件存储系统 Google Bigtable:GFS HBase:HDFS
海量数据计算框架 Google Bigtable:MapReduce HBase:MapReduce
应用程序协调服务 Google Bigtable:Chubby HBase:ZooKeeper

3, 何时采用 HBase?

  • (1)需适应不同种类数据格式和数据源,不能预先严格定义模式
  • (2)需处理大规模数据
  • (3)不强调数据之间的关系,需存储半结构化和非结构化数据
  • (4)数据非常稀疏,有大量为 NULL 的字符串
  • (5)想要更好的进行扩展

4,HBase 集群结构

HBase简介和分布式集群的搭建_第3张图片
HBase简介和分布式集群的搭建_第4张图片

HBase 分布式集群搭建

1,前期装备

  • (1)同步网络时间

      cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime   #修改时区
      ntpdate cn.pool.ntp.org    #同步网络时间
      date   #检查时间是否修改成功
    
  • (2)安装zookeeper在所有节点上
    zookeeper安装步骤(点击可跳转到安装页面)

2,HBase1.3.1 分布式集群搭建

  • 1,下载安装包
    下载地址: https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/
    版本号: hbase-1.3.1-bin.tar.gz

  • 2,上传并解压
    将 HBase 安装包上传到 Linux 服务器
    解压命令:tar -zxvf hbase-1.3.1-bin.tar.gz

  • 3,修改配置文件

    • hbase-env.sh
      1,修改JDK安装路径
      export JAVA_HOME=/home/shiny/Desktop/software/jdk1.8.0_73HBase简介和分布式集群的搭建_第5张图片
      2,不引用HBase自带的ZooKeeper,使用自己安装的在这里插入图片描述

    • hbase-site.xml
      1,指定 HBase 在 HDFS 上存储的路径

        
        hbase.rootdir
        hdfs://hadoop01:9000/hbase
        
      

      2,指定 HBase 是分布式的

        
        hbase.cluster.distributed
        true
        
      

      3,指定 ZooKeeper 节点,多个用“,”分割

        	
        	hbase.zookeeper.quorum
        	hadoop01:2181,hadoop02:2181,hadoop03:2181
        	
      

      4,ZooKeeper配置文件zoo.cfg中的dataDir。ZooKeeper存储数据库快照的位置

        
        hbase.zookeeper.property.dataDir
        /home/shiny/zkdata
        
      
  • 4,分发到其它节点

      scp -r hbase-1.3.1/ shiny@hadoop02:$PWD
      scp -r hbase-1.3.1/ shiny@hadoop03:$PWD
    
  • 5,配置环境变量
    1,编辑.bash_profile文件

      vim /home/theone/.bash_profile
    

    2,添加环境变量:

      export HBASE_HOME=/home/theone/Desktop/software/hbase-1.3.1/
      export PATH=$PATH:$HBASE_HOME/bin
    

    3,立即执行文件

      source /home/theone/.bash_profile
    
  • 6,启动 HBase 集群
    1,启动hadoop集群,(在主节点上执行命令)

      start-dfs.sh
      start-yarn.sh
    

    2,启动 ZooKeeper 集群,(在所有节点上执行命令)

      zkServer.sh start
    

    3,启动 HBase 集群,(在哪个节点启动哪个节点就是主节点)

      start-hbase.sh
    

    启动页面有警告信息:

    解决方案:
    1,将 JDK 修改为 1.7 版本
    2,修改 HBase 的配置文件hbase-env.sh

    关闭 HBase 集群,命令:stop-hbase.sh
    修改配置文件hbase-env.sh,将以下两行配置注释掉(每个节点)在这里插入图片描述
    再次启动 HBase 集群,警告信息消失

  • 7,验证 HBase 集群
    检查进程,命令:jps
    HBase简介和分布式集群的搭建_第6张图片
    登录Web UI 页面:主节点:16010
    HBase简介和分布式集群的搭建_第7张图片

  • 8,单步启动

主节点:hbase-daemon.sh start master
从节点:hbase-daemon.sh start regionserver

3,常见异常

HRegionServer 进程启动后立即退出
多台服务器之间 HBase 默认的容忍时间差为 30s

原因:由于HBase 集群服务器时间不同步

你可能感兴趣的:(Hadoop)