Apache HBase

kudu记录-kudu原理

北慕城南 提交于 2021-02-20 04:47:35
1.kudu是什么? 2.kudu基本概念 特点:   High availability(高可用性)。Tablet server 和 Master 使用 Raft Consensus Algorithm 来保证节点的高可用,确保只要有一半以上的副本可用,该 tablet 便可用于读写。例如,如果3个副本中有2个或5个副本中的3个可用,则该tablet可用。即使在 leader tablet 出现故障的情况下,读取功能也可以通过 read-only(只读的)follower tablets 来进行服务,或者是leader宕掉的情况下,会根据raft机制重新选举leader。 基础概念: 开发语言:C++ Columnar Data Store(列式数据存储) Read Efficiency(高效读取)   对于分析查询,允许读取单个列或该列的一部分同时忽略其他列 Data Compression(数据压缩)   由于给定的列只包含一种类型的数据,基于模式的压缩比压缩混合数据类型(在基于行的解决案中使用)时更有效几个数量级。结合从列读取数据的效率,压缩允许您在从磁盘读取更少的块时完成查询 Table(表)   一张table是数据存储在 Kudu 的位置。表具有schema和全局有序的primary key(主键)。table被分成很多段,也就是称为tablets。 Tablet(段

8.hbase写入流程和读取流程

好久不见. 提交于 2021-02-18 21:44:52
1 hbase写入流程 hbase中无论是新增数据还是修改已有行,其内部流程都是一样的,hbase执行写入时会写到两个地方,write-ahead log 简称wal 也叫hlog 预写式日志 和 MemStore,hbase默认把数据先写到这两个地方,只有这两个地方的变化都写入并确认后,才认为写动作完成。 MemStore是内存中的缓冲区默认64m,HBase会把要写入的数据在这里积累,当填满后 才进行刷写到硬盘上,生成一个HFile。 WAL 使用来排除故障,大型分布式系统,节点故障很常见,设想如果MemStore没有写满刷写到硬件上,那么内存中的数据就会丢失,应对办法就是将数据在写动作完成前就写入WAL,每台节点维护一个WAL,直到WAL写入成功,写动作才算完成。 同时,如果节点宕机恢复,MemStore里的数据会被自动从WAL中恢复到内存中 HRegion虽然是分布式存储的最小单元,但并不是存储的最小单元。 事实上,HRegion由一个或者多个Store组成,每个store保存一个columns family。 每个Strore又由一个memStore和0至多个StoreFile组成。 StoreFile以HFile格式保存在HDFS上 2 hbase读取流程 如果想快速访问,通用的原则是,尽可能多的把数据有序,并且放到内存中,hbase实现了这两个要求

基于Cloudera Search设计数据灾备方案

亡梦爱人 提交于 2021-02-18 21:32:29
  当实际项目上线到生产环境中,难以避免一些意外情况,如数据丢失、服务器停机等。对于系统的搜索服务来说,当遇到停机的情况意味着在停机这段时间内,用户都不能通过搜索的相关功能进行访问数据,停机意味着将这一段时间内的数据服务完全停止。如果项目是互联网项目依赖于用户数量,这将严重影响用户访问和用户的产品体验。   针对于这种实际情况,在实际的项目开发维护过程中,如果系统使用的大数据平台是Cloudera公司是CDH,可以考虑使用Cloudera Search来进行数据的增量备份和数据恢复工作。Cloudera Search是Cloudera公司基于Apache的开源项目Solr发布的一个搜索服务,安装非常简单,通过Cloudera Manager的管理页面就可以进行一键式安装,本文将对使用Cloudera Search进行各个应用场景做灾备的方案一一介绍。 1.HDFS - HDFS   一般情况下,一个大数据项目中所有用到的原始数据都会存储HDFS中(Hive和HBase存储也是基于HDFS存储数据)。对HDFS做灾备和数据恢复最直接的方式是在源HDFS集群和备份HDFS集群之间设置数据定期增量更新,例如时间Cloudera BDR工具,基础数据备份之后可以选择使用MapReduce Indexer或者Spark

分库分表的方案

戏子无情 提交于 2021-02-18 17:49:56
大数据量系统开发中,由于数据量很大,经常遇到数据存储在集群上的需求,这时候就需要在不同的方案中进行权衡选择了。 一种选择是利用现成的中间件,比如ES,HBASE,mongdb等,这些中间件自带集群扩展功能,业务代码无需关注水平扩展。 还有一种是关系数据库+分库分表路由的方式,典型的是shardingJDBC+多台mysql,通过shardingJDBC来进行路由到哪台mysql的方式完成。 第二种方式用起来比较费事,需要手工配置路由规则,因此最好的方式还是核心交易数据用这种方式,非核心数据还是用ES这种集群中间件来做,简化代码开发。 来源: oschina 链接: https://my.oschina.net/u/778683/blog/4955261

Atlas 2.1.0 实践(2)—— 安装Atlas

折月煮酒 提交于 2021-02-18 00:59:53
在完成Atlas编译以后,就可以进行Atlas的安装了。Atlas的安装主要是安装Atlas的Server端,也就Atlas的管理页面,并确保Atlas与Kafka Hbase Solr等组件的集成。 Atlas的系统架构如下,在确保 底层存储与UI界面正常后,之后就可以进行与Hive等组件的集成调试了。 一、环境准备 安装之前 先要准备好 JDK1.8 Zookeeper Kafka Hbase Solr 在启动Atlas时会配置这些环境变量的地址,所以一定要确保以上组件正常运行。 由于在编译时可以选择内部集成,所以这些Atlas是可以自带的,但是JDK一定要安装好。 在安装Altas中,需要Solr 预先创建好collection bin/solr create -c vertex_index -shards 3 -replicationFactor 2 bin/solr create -c edge_index -shards 3 -replicationFactor 2 bin/solr create -c fulltext_index -shards 3 -replicationFactor 2 在solr中验证创建成功。 二、安装Atlas 到编译好的包的路径下 apache-atlas-sources-2.1.0/distro/target 将生成好的安装包

HBase笔记(2)架构解析(未写完,改天写)

半世苍凉 提交于 2021-02-17 18:52:45
HBase基本架构: RegionServer的作用 Data (某一行或者几行数据的操作):get, put, delete (查、增、删,改是通过时间戳timestamp控制的) Region (相当于水平分表): splitRegion(切分), compactRegion(合并) Master的作用: Table:create, delete, alter RegionServer: 分配regions到每个RegionServer,监控每个RegionServer的状态。 注意:Mater挂掉的一段时间里面,对数据的增删改查,没问题;对表的操作,不能够了! 也就是说Master其实管两件事情: 1)Master管理的DDL操作,不管DML的事情。 2)Master根据负载情况,决定把数据给哪个region(region XXX),即当前表给谁维护。 Master存在单点故障。所以需要高可用。 (Hadoop1.0不带高可用,Hadoop2.0可以高可用但是相对比较麻烦,Hadoop3.0自带高可用) RegionServer管理DML操作,直接和数据操作。 搭建HBase环境需要启动的清单: 1)Zookeeper 2)Master 3)RegionServer 4)HDFS Yarn可以不启动。因为这部分和Yarn没关系,Yarn是调度资源做计算的

Feed流系统设计

六眼飞鱼酱① 提交于 2021-02-17 06:56:58
点击上方蓝色“ 肉眼品世界 ”,选择“设为星标” 来源 :r6d.cn/E8pb 差不多十年前,随着功能机的淘汰和智能机的普及,互联网开始进入移动互联网时代,最具代表性的产品就是微博、微信,以及后来的今日头条、快手等。这些移动化联网时代的新产品在过去几年间借着智能手机的风高速成长。 简介 差不多十年前,随着功能机的淘汰和智能机的普及,互联网开始进入移动互联网时代,最具代表性的产品就是微博、微信,以及后来的今日头条、快手等。这些移动化联网时代的新产品在过去几年间借着智能手机的风高速成长。 这些产品都是Feed流类型产品,由于Feed流一般是按照时间“从上往下流动”,非常适合在移动设备端浏览,最终这一类应用就脱颖而出,迅速抢占了上一代产品的市场空间。 Feed流是Feed + 流,Feed的本意是饲料,Feed流的本意就是有人一直在往一个地方投递新鲜的饲料,如果需要饲料,只需要盯着投递点就可以了,这样就能源源不断获取到新鲜的饲料。在信息学里面,Feed其实是一个信息单元,比如一条朋友圈状态、一条微博、一条咨询或一条短视频等,所以Feed流就是不停更新的信息单元,只要关注某些发布者就能获取到源源不断的新鲜信息,我们的用户也就可以在移动设备上逐条去浏览这些信息单元。 当前最流行的Feed流产品有微博、微信朋友圈、头条的资讯推荐、快手抖音的视频推荐等,还有一些变种,比如私信、通知等

hive安装部署

旧巷老猫 提交于 2021-02-16 20:43:45
1、 准备环境 1, 软件准备 Java-- jdk-8u121-linux-x64.tar.gz Hadoop--hadoop-2.7.4.tar.gz (jdk1.7会报错) Hive-- apache-hive-1.2.1-bin.tar.gz 本系列 教程所有 jar 包,请关注微信公众号 : Spark 高级玩法 ,输入 software 获取。 C entos 6.5 是本文采用的操作系统 2, 安装 mysql yum install mysql-server -y 启动 mysql service mysqld status service mysqld start 加上账户密码 mysqladmin -u root password '123456' 添加开机启动 chkconfig mysqld on chkconfig -- list | grep mysqld 测试 mysql - uroot - p123456 整理认证权限 名字叫mysql的数据库中假如需要的认证。 重点强调一定要执行: flush privileges; 二,安装Hive 1. 本地安装测试 配置好HIVE_HOME等环境变量 # Hive export HIVE_HOME=/opt/modules/hive-1.2.1 export HIVE_CONF_DIR=$HIVE_HOME

大数据之Hive

…衆ロ難τιáo~ 提交于 2021-02-16 09:45:11
Hive Author: Lijb Email: lijb1121@163.com Hive介绍: hive是基于Hadoop的一个数据仓库工具,可以用来进行数据踢群转换加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的大规模数据机制。可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 ETL介绍: 什么是etl Extract-Transform-Load): 1、用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库。是一个数据清洗工具 2、实现ETL,首先要实现ETL转换的过程。体现为以下几个方面: 1、空值处理:可捕获字段空值,进行加载或替换为其他含义数据,并可根据字段空值实现分流加载到不同目标库。 2、规范化数据格式:可实现字段格式约束定义,对于数据源中时间、数值、字符等数据,可自定义加载格式。 3、拆分数据:依据业务需求对字段可进行分解。例,主叫号 861082585313-8148,可进行区域码和电话号码分解。 4、验证数据正确性:可利用Lookup及拆分功能进行数据验证。例如,主叫号861082585313-8148,进行区域码和电话号码分解后,可利用Lookup返回主叫网关或交换机记载的主叫地区

大数据开发--Hbase协处理器案例

落爺英雄遲暮 提交于 2021-02-15 17:12:27
大数据开发--Hbase协处理器案例 1. 需求描述 在社交网站,社交APP上会存储有大量的用户数据以及用户之间的关系数据,比如A用户的好友列表会展示出他所有的好友,现有一张Hbase表,存储就是当前注册用户的好友关系数据,如下 需求 使用Hbase相关API创建一张结构如上的表 删除好友操作实现(好友关系双向,一方删除好友,另一方也会被迫删除好友) 例如:uid1用户执行删除uid2这个好友,则uid2的好友列表中也必须删除uid1 2.需求分析实现 2.1 考虑到需求是个双向删除,第一想法是客户端用两次Api执行删除,细考虑,这个问题不应该在客户端来做啊 2.2 所以考虑服务端的同步删除,即利用hbase的协处理器来完成,协处理器在Hbase里面即是 BaseRegionServer ,重写postDelete方法,监听删除操作,获取到删除的列族队列集合,判断其中的cells,包含rollkey的列,如果包含,则生成相应的 delQualifier 对象进行删除。 2.3 打包上传jar,并建立user_relation关系表,挂载协处理器jar包。 2.4 最后演示整个过程。 3.过程演示 3.1 创建表,展示表内数据 3.2 删除表数据,并展示是否会启用协处理器删除相应的好友关系 大数据开发,更多关注查看个人资料 来源: oschina 链接: https://my