HBase的初识和伪分布式集群搭建

概述

在这里插入图片描述

  • HBase是Apache 组织开源的顶级项目 distributed, scalable, big data store 产品
  • Apache HBase建立在HDFS之上的分布式、基于列存储的非关系型数据库;具有可靠、稳定、自动容错、多版本等特性
  • HBase是Google BigTable的开源实现, 爬虫爬取的网页
  • HBase运行亿级数据查询时,效率可达到秒级,毫秒级 在线处理 实时的处理

特点

  • 大: 表可以有数十亿行、数百万列,适合大规模的结构化数据存储
  • 面向列:面向列表(簇)的存储和权限控制,列(簇)独立检索。
  • 结构稀疏:对于为空(NULL)的列,并不占用存储空间,因此,表可以设计的非常稀疏。
  • 无模式:每一行都有一个可以排序的主键和任意多的列,列可以根据需要动态增加,同一张表中不同的行可以有截然不同的列。
  • 数据多版本:每个单元中的数据可以有多个版本,默认情况下,版本号自动分配,版本号就是单元格插入时的时间戳。
  • 数据类型单一:HBase中的数据在底层存储时使用byte[],没有类型。

NoSQL特点

1. 部分NoSQL In-Memory 内存型 (Redis)
2. Schema-Less NoSchema 弱格式 无格式
3. 杜绝表连接
4. 弱化事务,没有事务 (Redis有事务,MongoDB(4.x 没事务 4.x后有事务了)
5. 搭建集群方便 

NoSQL分类

1. key value 类型 redis
2. document  类型 mongodb
3. column    类型 HBase Cassandra
4. 图         类型 neo4j (金融 知识图谱) 

HBase的数据模型

在这里插入图片描述

列存储与行存储的区别

在这里插入图片描述
大多数的关系型数据库,都是行式存储系统;行式存储系统数据在物理介质(磁盘)存储组织方式逐行追加;擅长OLTP(联机事务处理)操作,指定字段查询时:

  • 可能会造成一些不必要的IO浪费
  • 通常情况下行式存储系统都是单机Server,规模严格硬件限制
  • 查询延迟较高

HBase是一个列式存储系统,按照列簇将数据进行分布式存储;擅长OLAP(联机分析处理),大规模结构化数据存储;

HBase伪分布式集群环境搭建

  1. linux服务器 ip 主机名 主机映射 防火墙 selinux ssh免密 jdk
  2. hadoop安装
   解压缩
   6个配置文件
   格式化
   启动进程
  1. 安装zookeeper
  解压缩
  配置conf/zoo.cfg 
  创建临时目录 data ---> myid文件(集群)
  启动服务

4.HBase的安装

  • 上传安装包
  • 解压缩安装
 tar -zxf /root/hbase-1.2.4-bin.tar.gz -C /usr
  • hdfs上创建 /hbase文件夹和hbase_home/data/tmp文件夹
  • 配置hdfs-site.xml
    [
root@HadoopNode00 hbase-1.2.4]# vi conf/hbase-site.xml
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://HadoopNode00:9000/hbase</value>
</property>
<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>HadoopNode00</value>
</property>
<property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
</property>
  • 配置regionservers
[root@HadoopNode00 hbase-1.2.4]# vi conf/regionservers
HadoopNode00
  • 配置环境变量
[root@HadoopNode00 hbase-1.2.4]# vi ~/.bashrc
export HBASE_HOME=/usr/hbase-1.2.4
export JAVA_HOME=/home/java/jdk1.8.0_181
export HADOOP_HOME=/home/hadoop/hadoop-2.6.0
export PROTBUF_HOME=/home/protobuf/protobuf-2.5.0
export FINDBUGS_HOME=/home/findbugs/findbugs-3.0.1
export MAVEN_HOME=/home/maven/apache-maven-3.3.9
export M2_HOME=/home/maven/apache-maven-3.3.9
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$M2_HOME/bin:$FINDBUGS_HOME/bin:$PROTBUF_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$HBASE_HOME/bin
[root@HadoopNode00 hbase-1.2.4]# source ~/.bashrc
  • 启动服务
[root@HadoopNode00 hbase-1.2.4]# start-hbase.sh
[root@HadoopNode00 hbase-1.2.4]# jps
2480 SecondaryNameNode
2113 NameNode
8082 HRegionServer  # 从服务
8438 Jps
7927 HMaster        # 主服务
2231 DataNode
1851 QuorumPeerMain
  • 访问web UI
    在这里插入图片描述
发布了24 篇原创文章 · 获赞 1 · 访问量 500

猜你喜欢

转载自blog.csdn.net/Mr_YXX/article/details/105022615