Hbase伪分布式及高可用集群搭建

本文详细介绍了HBase的引言,包括NoSQL的特点和分类。深入讲解了HBase的存储逻辑结构和如何搭建HBase的伪分布式环境。接着,重点探讨了HBase集群的搭建过程,包括时间同步、Hadoop、Zookeeper和HBase集群的配置。此外,还讨论了HBase的JAVA API使用、过滤器和列簇属性。最后,解析了HBase的体系结构,特别是RegionServer、HMaster和Zookeeper的作用,以及compact和split过程,并提到了RowKey设计的关键性。
摘要由CSDN通过智能技术生成

Hbase的引言

什么是HBase

hbase是Apache 组织开源的顶级项目 distributed, scalable, big data store 产品
hbase是基于Hadoop的一个NoSQL产品  Column类型的NoSQL
hbase是Google BigTable的开源实现, 爬虫爬取的网页
hbase运行亿级数据查询时,效率可达到秒级,毫秒级 在线处理 实时的处理

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存储的逻辑结构

mysql
t_user
在这里插入图片描述
HBase
在这里插入图片描述

多版本的好处:修改速度快,直接新增一条新数据,给旧数据标记墓碑

Hbase伪分布式环境的搭建

Hmaster、 Hregionserver 
1. linux服务器 ip 主机名 主机映射 防火墙 selinux ssh免密 jdk
2. hadoop安装
   2.1 解压缩
   2.2 6个配置文件
   2.3 格式化
   2.4 启动进程
3. 安装zookeeper
   3.1 解压缩
   3.2 配置conf/zoo.cfg 
   3.3 创建临时目录 data ---> myid文件(集群)
   3.4 启动服务
4. hbase的安装
   4.1 解压缩hbase
   4.2 hdfs上创建 /hbase文件夹
                 hbase_home/data/tmp文件夹
   4.3 修改hbase相关的配置文件 
       env.sh
       export HBASE_MANAGES_ZK=false
       export JAVA_HOME=/usr/java/jdk1.7.0_71
       hbase-site.xml 
       <property >
	   <name>hbase.tmp.dir</name>
	   <value>/opt/install/hbase-0.98.6-hadoop2/data/tmp</value>
       </property>
       <property >
            <name>hbase.rootdir</name>
            <value>hdfs://CentOSA:8020/hbase</value>
        </property>
        <property >
            <name>hbase.cluster.distributed</name>
            <value>true</value>
        </property>
        <property>
            <name>hbase.zookeeper.quorum</name>
            <value>CentOSA</value>
        </property>
        <property>
            <name>hbase.zookeeper.property.dataDir</name>
            <value>/opt/install/zookeeper-3.4.6</value>
        </property>
        <property>
            <name>hbase.unsafe.stream.capability.enforce</name>
            <value>false</value>
        </property>
   4.4 修改
       regionservers文件
       CentOSA
   4.5 替换hbase相关hadoop的jar
   4.6 启动hbase
       bin/hbase-daemon.sh start master
       bin/hbase-daemon.sh start regionserver
   4.7 网络访问
       http://CentOS:60010
       bin/hbase shell

Hbase的shell命令

1. help 帮助命令
   help '命令名字'
2. hbase中数据库的概念
   namespace 
2.1 显示所有的数据库 
    list_namespace 
    默认  default  
          hbase
2.2 显示当前数据库中所有的表
    list_namespace_tables 'hbase'
2.3 创建一个数据库
    create_namespace 'test'
2.4 描述数据库
    describe_namespace 'test'
2.5 修改数据库
    alter_namespace
2.6 删除数据库
    drop_namespace 'test'
3. 创建hbase中的表【重点】
3.1 基本的建表方式 【默认default库中】
   create 't1','cf1'
3.2 创建多个列簇【默认default库中】
   create 't1','cf1','cf2'
3.3 指定表所属的数据库
   create 'test:t1','cf1'
3.4 详细描述列簇的相关属性
   create 'test:t2',{NAME=>'cf1',VERSIONS=>2},{NAME=>'cf2'}
4. 描述表 
   describe 'test:t1'
5. 修改表
   alter 'test:t2',{NAME=>'cf2',VERSIONS=>2}
6. 删除表
   disable 'test:t2'
   drop 'test:t2'
7. 失效 生效表相关命令
   enable disable 
   enable_all disable_all
   is_enable is_disable
8. 判断表是否存在
   exists 
9. 表的查找命令
   list 'namespace:t.*'
10. 插入数据
   put 't1',’rowkey‘,'family:qualify','value'
   put 'namespace:t1',’rowkey‘,'family:qualify','value'
11. 删除数据
   delete 'namespace:t1' ,'rowkey','family:qualify','timestamp'
12. 全表扫描 
    scan '表名'
    scan 'namespace:tb1', {STARTROW => '20170521_10001',STOPROW => '20170521_10003'}
    scan 'test:user',{STARTROW=>'001',STOPROW=>'004'}
    不包括stoprow的值
13. 某条数据的查询
    get 'test:user','001'
    get 'test:user','001','base:name'

HBase 集群搭建

1.时间同步集群

 CentOS 作为时间同步服务器 主节点
 1. yum install ntp 三台机器
 2. service ntpd start 三台机器
 chkconfig ntpd on
 3. 服务器节点 主节点
 ntpdate -u 202.112.10.36
 vi /etc/ntp.conf
 restrict 192.168.111.0 mask 255.255.255.0 nomodify notrap
 # 中国这边最活跃的时间服务器 : http://www.pool.ntp.org/zone/cn
 server 210.72.145.44 perfer      # 中国国家受时中心
 server 202.112.10.36             # 1.cn.pool.ntp.org
 server 59.124.196.83             # 0.asia.pool.ntp.org

# 允许上层时间服务器主动修改本机时间
restrict 210.72.145.44 nomodify notrap noquery
restrict 202.112.10.36 nomodify notrap noquery
restrict 59.124.196.83 nomodify notrap noquery

# 外部时间服务器不可用时,以本地时间作为时间服务
server  127.127.1.0     # l
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

问题不太大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值