栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

day06hbase

day06hbase

一.Hbase基本介绍
    hbase基本介绍:基于hadoop的分布式可扩展的大数据存储的基于内存列存储nosql数据库,持久性存储,基于内存存储。设计思想:基于内存达到实时性效果;基于分布式磁盘直接使用HDFS;基于分布式内存+分布式磁盘;实时,数据一产生写入,就立即要读取计算主要用于离线场景,用于提升离线存储的性能使用的是jvm堆内存:内存操作日志Hbase与HDFS、Redis。kafka区别:
    Hbase与Mysql的区别
    Hbase与Hive的区别

    Hbase中的对象:namespace(命名空间)数据库,任何一张表都必须属于某个namespace;访问表必须是namespace:表名hbase的表分布式的,表的数分布存储在不同的机器上,表是一个分布式逻辑对象,不同的分区存储在不同的hbase节点如果表在默认的default下,可以不用加namespace
    Hbase的核心
    11.1 RowKey行键,所有的hbase表不用定义,所有Hbase的表自带行键这一列(行键的值用户自己设计)唯一标识一行,Hbase不能创建索引 (不按照rowkey查询,只能全表扫描)
    11.2 列族设计columnfamily(读):对除了rowkey意外的列进行分组,将列划分不同的组中,(任何一张hbase表,都至少有一个列族,除了rowkey以外的任何一列,都必须属于某个列族)
    分组:将拥有相似IO属性的列放入同一个列族(要读一起读,要写一起写)划分列族读取数据时可以加快读取的性能。

    11.3 数据列设计Qualifier与mysql的列是一样(除了rowkey以外的任何一个列都属于某个列族,引用列的时候必须加上列族的名称)

    11.4多版本设计version:某一行的任何一列存储时,只能存储一个,Hbase可以允许某一行的某一列存储多个版本的值
    11.5整体概念对比
二.Hbase集群架构
    架构
    1.1 HMaster:主节点管理节点,负责所有从节点的管理,负责元数据的管理
    1.2 HregionServer:从节点存储节点:负责管理每张表的分区数据(region),对外提供region的读写请求,用于构建分布式内存搭建Hbase
    2.1上传解压
    2.2修改配置文件:
    vim hbase-env.sh

    是否使用hbase自带的zk
    在hbase目录下创建mkdir datas
    修改vim hbase-site.xml
    vim regionservers

    配置环境变量
    拷贝:cp lib/client-facing-thirdparty/htrace-core-3.1.0-incubating.jar lib/
    分发:scp -r hbase-2.1.0 node3:$PWD
    服务端启动:启动HDFS:start-dfs.sh;启动zk;启动hbase:start-hbase.sh(那台机器启动那台机器就是主节点)
    关闭:先关hbase再关zk
    界面:http://node1:16010/master-status
    启动第二台备份主节点:hbase-daemon.sh start master
三Hbase的使用
    Hbase命令:DDl命令:
    1.1 list_namespace:列举当前hbase的数据库
    1.2 list_namespace_tables ‘namespace’:列举当前namespace下的表
    1.3 create_namespace:创建namespace;
    1.4 drop_namespace:删除namespace建表
    2.1 list:列举出表
    2.2 create ‘namespace:表名’,{NAME=>‘f1’,VERSION=>5}//在namespace下创建表。有一个列族f1,这个列族的所有列可以存储5个版本的值
    create ‘t1’,‘f1’,‘f2’,‘f3’//在default下创建t1有f1f2f3三个列族
    2.3 desc:查看表状态
    2.4 disable ‘test01:lhh’ :禁用表lhh(确认表不可用)
    2.5 enable ‘test01:lhh’ :启用表
    2.6 exists ‘表名’:判断表是否存在
    2.7 drop ‘表名’:删除表PUT(更新)
    3.1 put (插入或更新数据某一行的某一列)(存在修改,不存在插入)
    put ‘itcast:t2’,‘202201_00’,‘cf1:age’,18
    3.2 查看:scan ‘namespace:表名’GET(查询最快按照rowkey)
    get ‘itcast:t2’,‘202201_00’(必须给rowkey)delete(删除)
    delete ‘itcast:t2’ ,‘202201_x0A001’,‘cf1:name’
    deleteall(删除rowkey)truncate ‘’清空
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/745447.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号