Hbase基础使用与云Hbase2.0体验
又到金三银四的季节,相信各位都已经找到适合自己的工作了~当然我也悄悄告诉你我也找到了,去到更广阔的平台
今年开始决定正式进入大数据领域工作,从事大数据方向方面的开发。因为之前我一直在游戏公司,所以我选择领域是游戏行业的大数据解决方案。目前我的工作主要是负责建立一套游戏大数据运营系统,包括一套完善的游戏数据采集,计算,落地的系统。通过开发一套游戏大数据运营系统提供给我们的游戏运营大佬们。
通过整合海量数据处理、敏捷BI、智能算法等平台能力,提高游戏日志等数据向业务价值转化的效率及智能化水平。
以前游戏大部分处理游戏日志都是把原始数据通过游戏服保存至Mysql,然后GM后台通过一定的定时逻辑运行定时统计,统计后的数据存入Mysql结果库。随着数据量的不断增长,MySQL传统关系型数据库并不能满足日益增长的数据需求。作为数据仓库需要解决高可用,分布式,存储大量数据的数据库。Hbase就是不错的选择。同时传统的数据统计计算交由Mysql的统计语句对数据进行汇总统计,加剧数据库负担,并且对实际生产环境产生一定的影响。Mysql是一款数据存储引擎,并不适合做大量的数据汇总与计算。计算应该交由专业的计算引擎去做计算【参考计算框架:MR,Spark,Flink】
HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable。 Hbase作为大数据产品家族的一员,存储底层借助Hadoop的HDFS,能够存储海量数据,同时它和mongoDB一样,也是一款NoSQL产品,但是却有一定的区别,例如列族,RowKey这些概念。下面我们来看看Hbase的架构图
HBase 一种是作为存储的分布式文件系统,另一种是作为数据处理模型的 MR 框架。因为日常开发人员比较熟练的是结构化的数据进行处理,但是在 HDFS 直接存储的文件往往不具有结构化,所以催生出了 HBase 在 HDFS 上的操作。如果需要查询数据,只需要通过键值便可以成功访问。 HBase 内置有 Zookeeper,但一般我们会有其他的 Zookeeper 集群来监管 master 和 regionserver,Zookeeper 通过选举,保证任何时候,集群中只有一个活跃的 HMaster,HMaster 与 HRegionServer 启动时会向 ZooKeeper 注册,存储所有 HRegion 的寻址入口,实时监控 HRegionserver 的上线和下线信息。并实时通知给 HMaster,存储 HBase 的 schema 和 table 元数据,默认情况下,HBase 管理 ZooKeeper 实例,Zookeeper 的引入使得 HMaster 不再是 单点故障。一般情况下会启动两个 HMaster,非 Active 的 HMaster 会定期的和 Active HMaster 通信以获取其最新状态,从而保证它是实时更新的,因而如果启动了多个 HMaster 反而增加 了 Active HMaster 的负担。 一个 RegionServer 可以包含多个 HRegion,每个 RegionServer 维护一个 HLog,和多个 HFiles 以及其对应的 MemStore。RegionServer 运行于 DataNode 上,数量可以与 DatNode 数量一致
随着 Spark 以及其社区的不断发展,Spark 及 Spark SQL 本身技术的不断成熟,Spark 在技术架构和性能上都展示出 Hive 无法比拟的优势。以前我们常用Hive进行数据分析,目前Spark结合SparkStreaming,MLib等组件能完美配合完成大数据生态圈的工作
我们通常会通过Kafka消息队列对接SparkStreaming作为消费者,根据Group去消费一组业务的Topic,主要有以下场景:
- Streaming实时读取Kafka数据做ETL
- 复杂的ETL可以实时读取HBase/Phoenix的维表数据做关联
- 结果数据写入HBase/Phoenix对外提供在线查询服务
现在阿里云最近在搞活动,免费1个月Hbase单节点版体验学习。借此机会赶紧学习一下~~ 白用白不用~ 赶紧撸了一台
阿里云Hbase访问控制台通过管理开通公网访问权限,公网访问必须下载阿里云Hbase客户端,借助ECS 访问ZK地址去访问的。这个大家可以参考官方文档,我这里不做过多的描述。我们连接上去首先先来些简单操作,例如创建一张表Student:
Hbase-UI我们首先创建表,然后往里面放入数据,人名为czy年龄23的和一条人名为yejoe的,sex为0的数据。Hbase这里存数据是使用put,不是insert,mongdob使用时update,mysql使用insert,大家意思都有点大同小异,最好扫描了一下表结构。
操作记录 取出用户数据和查看表结构 统计student条数(基于RowKey),然后我们修改表结构,最多有3版本,然后再次放入数据,可以看到每次get会取出最新的数据我们可以看到Hbase控制台查看Table Schema
通过简单学习,是不是发现Hbase原来这么强大,后续我们还会介绍Hbase读写机制,Hbase实际生产应用
***部分图片来自阿里云Hbase
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Elasticsearch使用指南之Elasticsearch Mapping parameters(主要参数一览)
作者简介:《RocketMQ技术内幕》作者、中间件兴趣圈微信公众号维护者。 本文将详细介绍Elasticsearch在创建索引映射时可指定的参数,并重点分析其含义。 1、analyzer指定分词器。elasticsearch是一款支持全文检索的分布式存储系统,对于text类型的字段,首先会使用分词器进行分词,然后将分词后的词根一个一个存储在倒排索引中,后续查询主要是针对词根的搜索。 analyzer该参数可以在每个查询、每个字段、每个索引中使用,其优先级如下(越靠前越优先):1)字段上定义的分词器2)索引配置中定义的分词器3)默认分词器(standard) 在查询上下文,分词器的查找优先为:1)full-text query中定义的分词器2)定义类型映射时,字段中search_analyzer 定义的分词器。3)定义字段映射时analyzer定义的分词器4)索引中default_search中定义的分词器。5)索引中默认定义的分词器6)标准分词器(standard)。 2、normalizer规划化,主要针对keyword类型,在索引该字段或查询字段之前,可以先对原始数据进行一些简单的...
- 下一篇
好程序员大数据教程Hadoop全分布安装(非HA)
机器名称 启动服务linux11 namenode secondrynamenode datanodelinux12 datanodelinux13 datanode第一步:更改主机名,临时修改+永久修改临时修改:hostname linux11永久修改: vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=linux11临时修改:hostname linux12永久修改: vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=linux11临时修改:hostname linux13永久修改: vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=linux13第二步:配置ip地址1.三台机器关闭NetworkManager服务 service NetworkManager stop2.三台机器禁止开机启动NetworkManager服务 chkconfig NetworkManager off3. vi /etc/sysconfig/network-scri...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Hadoop3单机部署,实现最简伪集群