大数据分享:Hbase精解

  • 时间:
  • 浏览:1

  /usr/local/zookeeperdata

  drop 'ns1:t1'

  export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"。

  create 'test','f1', 'f2'

  hbase.rootdir

  设置查询条件:(包头不包尾)

  count 'ns1:t_userinfo'

  list_namespace_tables 'hbase'

  hbase是基于hadoop:hbase的存储依赖于hdfs。具体说hbase的特点:

  hmaster:(hbase的老大)为regionserver分配region(新建表等)。负责regionserver的负载均衡。负责region的重新分配(hregionserver异常、hregion裂变)。hdfs上的垃圾文件回收。处置schema的更新请求。

  启动:

  配置hbase的配置文件

  source /etc/profile

  disable 'ns1:t_userinfo'

  vi hbase-site.xml

  column:列。

  columnfamily:列簇(列的集合)。

  2)启动hdfs

  配置hbase的配置文件

  删除表:(这麼禁用表)

  alter 'ns1:t_userinfo', NAME => 'extra_info', METHOD => 'delete'

  delete 'ns1:t_userinfo','rk00001','base_info:name',TIMESTAMP=>1534138686498

  创建表:

  列式存储:有另1个列簇存储到有另1个目录。

  /usr/local/zookeeperdata

  alter 'ns1:t_userinfo',{NAME=>'extra_info',BLOOMFILTER => 'ROWCOL',VERSIONS => '5'}

  再说hbase的安装:

  create 'ns1:t_userinfo',{NAME=>'base_info',BLOOMFILTER => 'ROWCOL',VERSIONS => '3'}

  表判断:

  get 'ns1:t_userinfo','rk00001',{COLUMN=>['base_info:name','base_info:age'],VERSIONS =>4}

  3、全分布式

  hregionserver:hregion=1:n

  alter_namespace 'ns1', {METHOD => 'set', 'NAME' => 'gjz1'}

  hlog:对hbase的操作进行记录,使用WAL写数据,优先写入log,为什么我么我让再写入memstore,以防数据丢死还还都可以进行回滚。

  vi conf/hbase-env.sh

  help "COMMAND_GROUP"

  一、 为哪些有hbase?

  hbase.zookeeper.property.dataDir

  list

  tar -zxvf hbase-1.2.1-bin.tar.gz -C /usr/local

  hbase集群的时间都要同步。

  hdfs://qianfeng/hbase

  zookeeper:监控hmaster的情况报告,保证许多仅有有另1个active的hmaster,达到高可用。存储所有region的寻址入口,--root表在那台服务器上。实时监控hregionserver的情况报告,将regionserver的上下线信息实时通知给hmaster。存储hbase的所有表的信息(hbase的元数据)

  alter 'ns1:t_userinfo',{NAME=>'extra_info',BLOOMFILTER => 'ROW',VERSIONS => '2'}

  bin/start-hbase/sh

  default:

  hbase是有另1个开源的、分布式的、多版本的、可扩展的非关系型数据库。hbase是bigtable的开源java版本,建立在hdfs之上,提供高可靠性的、高性能、列式存储、可伸缩、实时读写的nosql数据库系统。适用的场景如:都要对海量非底部形态化的数据进行存储。

  describe_namespace 'ns1'

  hregionserver:(hbase的小弟)hregionserver维护master分配给他的region(管理本机器上region)。处置client对哪些region的IO请求,并和hdfs进行交互

  模式:无模式。

  vi regionservers

  truncate 'ns1:test'

  hbase.cluster.distributed

  disable 'ns1:t1'

  exists 'ns1:t_userinfo'

  enable 'ns1:t_userinfo'

  export HBASE_MANAGES_ZK=false

  hbase.rootdir

  创建表:

  解压并配置环境变量

  region server负责切分在运行过程中变大的region。

  store:memstore=1:1

  get 'ns1:t_userinfo','rk00001',{TIMESTAMP=>153413651501150}

  DDL:

  store:storefile=1:n

  timestamp:时间戳,默认显示最新的时间戳。

  list_namespace

  create 'test','f1', 'f2'

  稀疏存储:机会key-value为null,则将不占用存储空间。

  hbase.zookeeper.quorum

  client:hbase的客户端,含有 访问hbase的接口(linux shell 、java api)

  rowkey:行键,和mysql的主键是一样的,不允许重复,有顺序。

  hadoop05:2181,hadoop06:2181,hadoop07:2181

  bin/hbase shell

  删除列簇:

  注意:

  三、hbase的架构

  storefile:hfile=1:1

  查询数据:(GET)

  hmaster:115010

  'ns1:t_userinfo','rk00001',{TIMERANGE=>[1534138686498,1534138738862]}

  client维护许多cache来加快访问hbase的效率,比如region的位置信息。

  3)启动hbase

  hbase的shell操作

  列举出所有的namespcae:

  namespace:

  数据类型:单一 byte[]。

  help

  删除指定的版本:(往上删除版本)

  hmaster:hregionserver=1:n

  1、standalone模式

  hbase:

  put 'ns1:t_userinfo','rk00002','base_info:name','zhaoming'

  put 'ns1:t_userinfo','rk00001','base_info:name','gaoyuanyuan'

  1)解压并配置环境变量

  vi backup-masters

  scp -r hbase-1.2.1 root@hadoop06:$PWD

  scp -r hbase-1.2.1 root@hadoop07:$PWD

  drop_namespace 'ns1' ###只有删除有另1个空的namespace

  scan 'ns1:t_userinfo'

  help "COMMAND"

  hbase这麼 库的概念,为什么我么我让有名称空间机会组的概念,namespace相当于(库)

  机会hdfs是高可用的,要讲hadoop下的core-site.xml和hdfs-site.xml copy到hbase/conf目录下。

  hbase默认有有另1个组:

  下发:

  hregion:hstore=1:n

  hregionserver:1150150

  export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"。

  DML:

  alter_namespace 'ns1', {METHOD => 'unset', NAME => 'NAME'}

  file:///usr/local/hbasedata

  Group name: ddl

  Group name: dml

  启动hbase服务:

  插入数据:(只有一次性插入多列)

  hregionserverhloghregionmemstorestorefilehfile

  2)测试hbase的安装

  hregionserver:hlog=1:1

  启动客户端:

  memstore:128M内存缓冲区,用于将数据批量刷新到hdfs上。

  create 'ns1:t1', 'f1', SPLITS => ['10', '20', '150', '40'] --时候 分配好region所管辖的rowkey的范围。

  JAVA_HOME

  清空表:

  hbase关键字词:

  统计表:(统计效率较差,不建议使用)

  vi conf/hbase-env.sh

  四、hbase和hadoop的关系

  1)启动zk

  Commands: alter, alter_async, alter_status, create, describe, disable, disable_all, drop, drop_all, enable, enable_all, exists, get_table, is_disabled, is_enabled, list, locate_region, show_filters

  version:版本号。

  vi /etc/profile

  put 'ns1:t_userinfo','rk00001','base_info:name','zhouzhiruo'

  scan 'ns1:t_userinfo',{COLUMNS => ['base_info:name','base_info:age']}

  hbase.zookeeper.property.dataDir

  二、hbase是哪些?

  scan 'ns1:t_userinfo',{COLUMNS => ['base_info:name','base_info:age'],STARTROW=>'rk000012',LIMIT=>2}

  delete 'ns1:t_userinfo','rk00002','base_info:age'

  get 'ns1:t_userinfo','rk00001'

  删除数据:(DELETE)

  desc 'ns1:t_userinfo'

  clientzookeeperhmaster\

  更新数据:

  get 'ns1:t_userinfo','rk00001',{TIMERANGE=>[1534136591897,1534136667747]}

  put 'ns1:test','u00001','cf1:name','zhangsan'

  hstorefile(hfile):hbase中的数据是以hfile的形式存储在hdfs上。

  # Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+

  true

  多版本:每个值都还还都可以有多个版本。

  表扫描(scan)

  hregion:hbase中分布式存储和负载均衡的最小单元,表机会表的一部分。

  create_namespace 'ns1'

大数据培训技术分享:Hbase精解,为哪些有hbase?hbase是哪些?Hbase的架构。

  cd /usr/local

  学习大数据开发,内容含有 Linux&&Hadoop生态体系、大数据计算框架体系、云计算体系、机器学习&&高度学习。

  scan 'ns1:t_userinfo',{COLUMNS => ['base_info:name','base_info:age'],STARTROW=>'rk000012',ENDROW=>'rk00002',LIMIT=>2}

  2、伪分布式

  列举出当前namespace下的所有表

  数据量这麼 大,传统的关系型数据库只有满足存储和查询的需求。而hive虽然能满足存储的要求,为什么我么我让hive只有满足非底部形态化、半底部形态化数据的存储和查询。

  注意:

  put 'ns1:t_userinfo','rk00001','extra_info:pic','picture'

  Commands: append, count, delete, deleteall, get, get_counter, get_splits, incr, put, scan, truncate, truncate_preserve

  修改表:(有则更新,无则新增)

  都要随机近实时的读写管理数据。

  各组件间的数量关系:

  store:相当于有另1个列簇。

  cell:单元格。

  hbase version

  vi hbase-site.xml

  alter 'ns1:t_userinfo', 'delete' => 'base_info'