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

1,HBase是什么?

1,概念

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

  • 列式存储和行式存储?
    在这里插入图片描述
  • 非关系型数据库与关系型数据库?
    在这里插入图片描述

2,与Google Bigtable的不同之处

服务Google BigtablesHBase
文件存储系统Google Bigtable:GFSHBase:HDFS
海量数据计算框架Google Bigtable:MapReduceHBase:MapReduce
应用程序协调服务Google Bigtable:ChubbyHBase:ZooKeeper

3, 何时采用 HBase?

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

4,HBase 集群结构

在这里插入图片描述
在这里插入图片描述

HBase 分布式集群搭建

1,前期装备

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_73在这里插入图片描述
      2,不引用HBase自带的ZooKeeper,使用自己安装的在这里插入图片描述

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

        <property>
        <name>hbase.rootdir</name>
        <value>hdfs://hadoop01:9000/hbase</value>
        </property>
      

      2,指定 HBase 是分布式的

        <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
        </property>
      

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

        	<property>
        	<name>hbase.zookeeper.quorum</name>
        	<value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
        	</property>
      

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

        <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/home/shiny/zkdata</value>
        </property>
      
  • 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
    在这里插入图片描述
    登录Web UI 页面:主节点:16010
    在这里插入图片描述

  • 8,单步启动

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

3,常见异常

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

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

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值