自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ChengYanan的博客

大数据技术学习园地

  • 博客(449)
  • 资源 (12)
  • 论坛 (1)
  • 收藏
  • 关注

原创 每天进步一点点【2021-1-16】

每日一读Clickhouse源码解读 - 两个核心机制的数据抽象https://www.aboutyun.com/forum.php?mod=viewthread&tid=301481、如何理解Column组织?2、如何理解MergeTree组织?3、三种Function接口如何使用?4、机器学习接口有哪些?大数据项目之电商数仓(总结)(三):系统业务数据仓库https://www.aboutyun.com/forum.php?mod=viewthread&tid=30149

2021-01-16 13:27:46 7

原创 代码中如何取消正在运行的Flink Streaming作业

1可以通过 StreamExecutionEnvironment#executeAsync 提交作业,返回 JobClient [1], 通过JobClient 可以 cancel 作业,获取 job status。[1] https://cwiki.apache.org/confluence/display/FLINK/FLIP-74%3A+Flink+JobClient+API2如果是想做一个作业管理的平台,可以尝试看一下 CliFrontend[1] 中相关的逻辑,对于 On Yarn的作

2021-01-15 13:15:47 12

原创 Flink连接Hive代码测试案例

import org.apache.flink.table.api.{EnvironmentSettings, StatementSet, Table, TableEnvironment, TableResult}import org.apache.flink.table.catalog.hive.HiveCatalogimport org.apache.flink.types.Rowimport org.apache.flink.util.CloseableIterator/** * @pa

2021-01-15 09:48:55 22

原创 【Flink答疑】Flink sql 状态过期后,checkpoint 大小没变化

版本: 1.12.0方式: flink sql测试sql:select a.id,b.money,b.createTime from test_state_from afull join test_state_from1 b on a.id=b.id;问题:test_state_from和test_state_from1 分别插入50万条数据,查看 checkpoint 大小为83m,state ttl 设 置为16分钟,30分钟后查看checkpoint的值还是83m,状态过期清理

2021-01-15 09:35:43 16

原创 【Flink 注意】Flink checkpoint清除策略使用指南

文章目录Flink Checkpoint 目录的清除策略应用代码Flink源码需要注意Flink Checkpoint 目录的清除策略应用代码CheckpointConfig checkPointConfig = streamEnv.getCheckpointConfig();checkPointConfig.setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE);checkPointConfig.setCheckpointTimeout(1 *

2021-01-14 20:16:25 25

原创 【Flink纠错】The method requestJob‘s result size 19811407 exceeds the maximum size 10485760

完整log日志见最后报错信息:关键报错信息是:org.apache.flink.runtime.rpc.akka.exceptions.AkkaRpcException:The method requestJob's result size 19811407 exceeds the maximum size 10485760 .这是flink的Akka部分报的错,相关源码如下:https://github.com/apache/flink/blob/d093611b5dfab95fe62e4f

2021-01-14 19:47:37 9

原创 Python threading 线程 target 函数参数传递 args要用中括号

今天开启线程传递参数的时候,出现了一个小问题,一直不能传递多个参数,如下import threadingthread1 = threading.Thread(target=fun, args=[1, 2, 3,])thread1.start()thread1.join()要用中括号,不用用大括号,一开始的时候,用的大括号,参数不能组成数组, 在最后的参数内,还要添加逗号.另外当传入参数是一个字符串的时候,一定要这样写也是中括号import threadingthread1 = thread

2021-01-14 15:42:08 25 1

原创 【flink源码解读 】flink 生成watermark的默认时间间隔

默认间隔是200ms(1) 在 StreamExecutionEnvironmennt的方法有体现@PublicEvolvingpublic void setStreamTimeCharacteristic(TimeCharacteristic characteristic) { this.timeCharacteristic = Preconditions.checkNotNull(characteristic); if (characteristic == TimeCharacteristic

2021-01-14 09:50:36 76

原创 hive 解决 ALTER TABLE cannot be used for a non-native table

hive on es 表中配置的es.nodes节点下线了怎么处理前提描述hive on es表中有一个属性es.nodesCREATE EXTERNAL TABLE `es_xxx`(xxx...)ROW FORMAT SERDE 'org.elasticsearch.hadoop.hive.EsSerDe' STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler' WITH SERDEPROPERTIES (

2021-01-13 17:49:30 15

原创 FlinkSQL 维表中的async参数使用介绍

在维表的DDL的WITH参数中添加async='true',Async 相关参数如下。参数说明是否必填备注async 是否开启异步请求 否 默认值为fasle。asyncResultOrder 异步结果顺序取值如下:unordered(默认值):无序。ordered:有序。asyncTimeoutMs 异步请求的超时时间 否 单位毫秒,默认值为3分钟。asyncCapacity 异步请求的队列容量 否 默认值为100。asyncCallbackThreads 回调处理线程数 否回调类中

2021-01-12 20:07:17 14

原创 Impala使用ORC文件格式

注意: Impala 3.1版本之后才可以使用ORC格式Impala官方文档描述:https://docs.cloudera.com/documentation/enterprise/6/6.1/topics/impala_orc.html#orc$ impala-shell -i localhost[localhost:21000] default> CREATE TABLE orc_table (x INT) STORED AS ORC;[localhost:21000] defaul

2021-01-12 19:47:13 27

原创 hive分区表插入/导入数据

数据库分区的主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减响应时间,主要包括两种分区形式:水平分区与垂直分区。水平分区是对表进行行分区。而垂直分区是对列进行分区,一般是通过对表的垂直划分来减少目标表的宽度,常用的是水平分区.1. hive建立分区表create external table if not exists tablename(a string,b string)partitioned by (year string,month string)row format deli

2021-01-12 17:07:33 33

原创 Hive 表备注中文乱码

这个还是因为编码的问题:hive元数据表以及字段默认编码是 latin1,需要修改为utf8执行如下语句即可:alter table partition_keys modify column PKEY_COMMENT varchar(4000) character set utf8;如果已经乱码的,不方便再重新建hive表,可以直接去mysql表中找到对应的记录,直接修改元数据即可。...

2021-01-12 15:06:42 13

原创 hive jdbc连接报错 thrift.TApplicationException: Required field ‘client_protocol‘ is unset !

10:50:13.115 [main] ERROR org.apache.hive.jdbc.HiveConnection - Error opening sessionorg.apache.thrift.TApplicationException: Required field 'client_protocol' is unset! Struct:TOpenSessionReq(client_protocol:null, configuration:{set:hiveconf:hive.server2.

2021-01-12 11:04:24 11

原创 zookeeper的znode最多可以存储多大数据

看到Solr将index的配置文件放在zookeeper的znode中,所以就查询了相关问题:官方给的解释是1M,但是不建议存储太大的数据https://zookeeper.apache.org/doc/r3.6.2/zookeeperProgrammers.html#Data+Access翻译过来就是:存储在namespace中每个znode上的数据以原子方式读取和写入。读取将获取与znode关联的所有数据字节,而写入将替换所有数据。每个节点都有一个访问控制列表(ACL),用来限制谁可以做什

2021-01-12 09:06:21 58

原创 Flink消费kafka获取kafka消息的offset

虽然Flink消费kafka有着完善的checkpoint机制,可以使得程序停止后再次能从上一次的消费位点继续消费,但是有时候flink的checkpoint也会失败,或者checkpoint管理起来不够灵活,我们想自己维护kafka 的offset信息。但是Flink封装的FlinkKafkaConsumer并不能直接的获取kafka 消息的offset现在有两种实现方法,原理都是一样的,第二种就是知道这里可以改就行了,真正使用的时候还是第一种。原理:将kafka消息的offset和partitio

2021-01-09 16:05:29 61

原创 Canal 直接发送消息到 Kafka 、RocketMQ配置

文章目录环境版本一、 安装zookeeper二、安装MQ三、 安装canal.server3.1 下载压缩包3.2 将canal.deployer 复制到固定目录并解压3.3 配置修改参数mq相关参数说明mq顺序性问题MQ发送性能数据阿里云RocketMQ对接参数3.4 启动3.5 查看日志3.6 关闭3.7 MQ数据消费canal 1.1.1版本之后, 默认支持将canal server接收到的binlog数据直接投递到MQ, 目前默认支持的MQ系统有:kafka: https://github.

2021-01-06 20:04:39 61

原创 Currently, defining WATERMARK on a changelog source is not supported

fink mysql cdc报错:Currently, defining WATERMARK on a changelog source is not supported原因为flink cdc connector 表不支持定义 watermark将watermark定义删除即可

2021-01-06 19:39:44 7

原创 Canal使用官方指南

环境要求1. 操作系统    a.  纯java开发,windows/linux均可支持    b.  jdk建议使用1.6.25以上的版本,稳定可靠,目前阿里巴巴使用基本为此版本.  2. mysql要求   a. 当前的canal开源版本支持5.7及以下的版本(阿里内部mysql 5.7.13, 5.6.10, mysql 5.5.18和5.1.40/48),ps. mysql4..

2021-01-06 11:37:09 69

原创 Flink streaming 程序报错not enough arguments for method addSource: (implicit evidence$9:

运行flink streaming程序报错:报错信息如下:Error:(21, 18) not enough arguments for method addSource: (implicit evidence$9: org.apache.flink.api.common.typeinfo.TypeInformation[String])org.apache.flink.streaming.api.scala.DataStream[String].Unspecified value parameter

2021-01-05 20:37:44 36

原创 Access denied; you need (at least one of) the RELOAD privilege(s) for this operation

使用flink mysql cdc时报错,原因是该用户没有mysql的reload权限:Caused by: java.sql.SQLSyntaxErrorException: Access denied; you need (at least one of) the RELOAD privilege(s) for this operation at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)

2021-01-05 13:52:40 30

原创 CDH 集群服务器下线记录

CDH测试集群原来有5台服务器,现在需要下线其中的4号和5号服务器。服务器上主要有如下服务:要保证服务器平稳下线,所以就需要将这些节点一个个的轮流停止,万一中间那个环节报错了,也好排查。先从对整个集群影响最大的节点开始:zookeeper因为几乎所有的高可用分布式服务都是依赖zookeeper的,所以先下线zk节点。zookeeper直接停止4,5两台服务器上的zkServer,然后删除,然后cm会提示需要重启整个集群,按指示操作即可。KuduTabletServer下线kudu表建表时

2021-01-04 16:16:50 17

原创 linux下切换用户出现This account is currently not available

今天在一台新服务器下切换用户的时候出现“This account is currently not available”错误这是因为用户的shell设置的禁止登录解决办法:比如我是 su apache的时候出现的问题用vi看看 apache的帐号信息# cat /etc/passwd | grep apache发现它的shell是“/sbin /nologin”,需要将起改成“/bin/bash”# vim /etc/passwd修改完毕后,保存退出这 样再 su apache就可以很

2021-01-04 15:17:42 47

原创 flink如何使用oss作为checkpoint/savepoint/statebackend

将flink-oss-fs-hadoop jar包放在plugins目录下配置oss的endpoint,id和secret在需要使用oss的地方,声明oss:// 开头的schema,例如state backend创建的时候;// 读取 OSS bucketenv.readTextFile("oss://<your-bucket>/<object-name>");// 写入 OSS bucketstream.writeAsText("oss://<your-b.

2020-12-31 10:06:35 19

原创 备用库做逻辑备份时,主库执行了一个DDL语句会怎么样

当备库用–single-transaction 做逻辑备份的时候,如果从主库的 binlog 传来一个 DDL 语句会怎么样?假设这个 DDL 是针对表 t1 的, 这里我把备份过程中几个关键的语句列出来:Q1:SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;Q2:START TRANSACTION WITH CONSISTENT SNAPSHOT;/* other tables */Q3:SAVEPOINT sp;/* 时刻 1

2020-12-25 16:43:41 11

原创 Mysql的行锁(六)

Mysql的行锁是引擎层各个引擎独立实现的。MyIsam引擎不支持行锁,意味着MyISAM表的并发只能用表锁,会影响业务并发度,但是InnoDB是支持行锁的。行锁就是对数据库中某一行数据的加锁行为,行锁中也有一些特别的情况,如果考虑不全,就会导致非预期结果,比如接下来要说的两阶段锁。两阶段锁在事务中,行锁都是自动隐式开启的,某一行发生了数据修改行为,那么就会给这一行加上锁,一直到当前事务提交或回滚,行锁才会自动释放。上图,假设id是表t的主键,事务B的执行会被阻塞,直到事务A执行commit之后

2020-12-25 10:34:26 42 2

原创 Hue中执行的SQL语句,链接不释放

在cm界面上,将这个参数改为较小的数(默认-1是不限制):如果是单独安装的,可以修改这个参数

2020-12-24 11:29:02 35 1

原创 Mysql全局锁和表锁(五)

根据加锁的范围,MySQL里面的锁大致可以分成全局锁、表级锁和行锁三类。全局锁对整个数据库实例加锁,mysql加全局读锁的方法:flush tables with read lock (FTWRL),当需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新语句(数据的增删改)、数据定义语句(包括建表、修改表结构等)和更新类事务的提交语句。全局锁的典型使用场景是,做全库逻辑备份。也就是把整库每个表都select出来存成文本。注意,在备份过程中整个库完全处于只读状态,

2020-12-23 20:42:40 42 1

原创 mysql 深入浅出索引(四)

执行select * from T where k between 3 and 5,需要执行几次树的搜索操作,会扫描多少行?下面是这个表的初始化语句。mysql> create table T (ID int primary key,k int NOT NULL DEFAULT 0, s varchar(16) NOT NULL DEFAULT '',index k(k))engine=InnoDB;insert into T values(100,1, 'aa'),(200,2,'b

2020-12-21 17:18:55 10

原创 Cannot modify mapreduce.job.name at runtime. It is not in list of params that are allowed to be modi

Hive报错:Error: Error while processing statement: Cannot modify mapreduce.job.name at runtime. It is not in list of params that are allowed to be modified at runtime (state=42000,code=1)解决方法:在hive-site.xml中增加如下配置:<property> <name>hive.sec

2020-12-21 10:58:59 98

原创 Mysql如何避免长事务对业务的影响

这个问题可以从应用开发端和数据库端来看:应用开发端:确认是否使用了set autocommit=0。这个确认工作可以在测试环境中开展,把MySQL的general_log开起来,然后随便跑一个业务逻辑,通过general_log的日志来确认。一般框架如果会设置这个值,也就会提供参数来控制行为,你的目标就是把它改成1。确认是否有不必要的只读事务。有些框架会习惯不管什么语句先用begin/commit框起来。我见过有些是业务并没有这个需要,但是也把好几个select语句放到了事务中。这种只读事务可

2020-12-20 16:18:59 33

原创 深入浅出索引Mysql索引(三)

数据库索引的出现是为了提高数据查询的效率,就像书的目录一样。索引常见的三种模型哈希表,有序数组,搜索树。哈希表是一种以key-value存储数据的结构,我们只要输入待查找的键即可,当多个key值有相同的hash结果时,就会出现一种链表结构:上图,user2和user4对应的key值都是N,查询user2的时候,就会先将ID_card_n2通过hash运算得到N,然后顺序遍历找到User2。因为是key值的hash值确定索引的位置,这样做的好处,增加数据的时候插入会很快,等值查询时也很快,但

2020-12-20 16:08:43 10

原创 PyFlink 在Pycharm中开启调试

问题描述:基于flink1.12.0版本的pyflink开发了一个程序,使用了udaf,想在本地的PyCharm环境调试该功能,在udaf的第一行打了断点,但是没法进入。可以确认程序有正确运行,因为sink到kafka里看了是有数据的,请问是否需要什么配置才能进行调试。问题解答:调试可以使用的方式为在PyCharm里创建一个Python Remote Debug run -> Python Remote Debug -> + -> 选择一个端口(比如6789)如下图:

2020-12-15 21:57:06 93

原创 Kafka日志存储解析(二)日志索引

每个日志分段文件对应了两个索引文件,主要用来提高查找消息的效率。如上图偏移量索引文件用来建立offset到物理地址之间的映射关系,方便快速定位消息所在的物理文件的位置。时间戳索引文件则根据指定的时间戳来查找对应的偏移量信息。Kafka中的索引文件属于稀疏索引,不是所有的消息都有对应的索引项。每当写入一定量(由broker端参数log.index.interval.bytes指定,默认是4KB)的消息时,偏移量索引文件和时间戳索引文件分别增加一个偏移量索引项和时间戳索引项。索引文件会被映射到

2020-12-08 14:18:33 35

原创 Kafka日志存储解析(一)

注:本文是《深入理解Kafka:核心设计与实践原理》的读书笔记Kafka中的消息是以Topic为单位管理的,每个Topic又可以分为若干个分区,消息在被发送后悔根据分区规则被追加到特定的分区,每条消息都会有一个唯一的“编号”,也就是我们常说的offset。Kafka消息日志(Log)是以分区为单位存储在磁盘中,为了便于管理和存储,这些日志数据被切分为若干个LogSegment来进行存储,而每个LogSegment 实际上对应于磁盘上的一个日志文件和两个索引文件,以及可能的其他文件(比如以.txninde

2020-12-05 18:02:47 43

原创 DBeaver 连接 Hive 报错解决

版本信息DBeaver:7.3.0Hive: CDH 5.12.1 集成的 1.1.0问题描述DBeaver 连接各种数据库时需要自己安装驱动编辑驱动设置,将hive-jdbc-1.1.0.jar添加并加载进去后, 点击测试连接然后就开始报各种诸如下面截图的错误。解决问题后来经过一步步的排查,发现DBeaver 连接 Hive 不仅仅需要hive-jdbc-1.1.0.jar这么简单,而是需要如下10个jar包,而且缺一不可:到此,问题解决,可以连接Hive了...

2020-12-01 19:09:06 94

原创 DBeaver 连接 Apache Phoenix 报错Unexpected version format 11.0.5

下载最新版的DBeaver 连接 Apache Phoenix,habse版本是cdh 5.12.1 自带的1.2.0Phoenix 是用的整合的cdh版本的4.14.0一切都配置好后连接报错:关键信息如下:......Unexpected version format 11.0.5......这个问题一般是哪个组件的版本不兼容后来打开DBeaver安装目录下,看到一个jre的文件夹,使用jre\bin\java.exe -version命令后果然出现了:open jdk ver

2020-12-01 14:45:31 57

转载 [squirrel使用]--Windows安装详解 [转]

注:本文转载自https://blog.csdn.net/high2011/article/details/80565352squirrel在windows下的安装文档一.下载安装从网址http://www.squirrelsql.org/下载相应版本的squirrel的安装jar包,比如下载squirrel-sql-3.7-standard.jar双击安装,出现如下安装界面,下一步开始安装二.配置连接phonenix(无kerberos认证)1.配置squirrel(1)在phoenix机器

2020-12-01 10:04:01 26

原创 Mysql事务隔离(二)

文章目录mysql事务事务的四大属性ACID隔离性与隔离级别测试案例事务隔离的实现事务的启动方式总结mysql事务事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在 MySQL 中,事务支持是在引擎层实现的。MySQL 是一个支持多引擎的系统,但并不是所有的引擎都支持事务。比如 MySQL 原生的 MyISAM 引擎就不支持事务,这也是 MyISAM 被 InnoDB 取代的重要原因之一。事务的四大属性ACIDACID(Atomicity、Consistency、Isolation、D

2020-11-25 19:58:14 41

原创 一条SQL查询语句时如何执行的(一)

一、Mysql的逻辑架构图大体上Mysql可分为Server层和存储引擎层两部分。Server层:主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。存储引擎层主要负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。现在最常用的存储引擎是 InnoDB,它从 MySQL 5.5.5

2020-11-21 14:28:03 24

数据仓库数据分层结构

数据仓库是决策支持系统(dss)和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。 数据仓库 ,由数据仓库之父比尔·恩门(Bill Inmon)于1990年提出,主要功能仍是将组织透过资讯系统之联机事务处理(OLTP)经年累月所累积的大量资料,透过数据仓库理论所特有的资料储存架构,作一有系统的分析整理,以利各种分析方法如联机分析处理(OLAP)、数据挖掘(Data Mining)之进行,并进而支持如决策支持系统(DSS)、主管资讯系统(EIS)之创建,帮助决策者能快速有效的自大量资料中,分析出有价值的资讯,以利

2019-03-02

hadoop-2.7.2.zip

http://archive.apache.org/dist/hadoop/core/hadoop-2.7.2/ 从官网上直接下载的,下载比较慢。所以这里分享一下 所需积分我设置的是0,如果CSDN官方不修改我设置的积分,也就是说免费下载的

2020-09-16

sqoop-1.4.6.2.3.99.0-195.jar..zip

编译Atlas用 sqoop-1.4.6.2.3.99.0-195.jar 内含安装jar包以及maven手动安装命令 详情可参考我的博客: https://blog.csdn.net/qq_26502245/article/details/108008070

2020-08-14

javax.jms-1.1.jar.7z

内含javax.jms-1.1.jar 安装包下载以及Maven手动安装命令 Maven官方仓库下载不下来资源,只能手动安装 <!-- https://mvnrepository.com/artifact/javax.jms/jms --> <dependency> <groupId>javax.jms</groupId> <artifactId>jms</artifactId> <version>1.1</version> </dependency>

2020-08-14

十大数据分析模型详解_白皮书.pdf

基于多维事件模型,会形成一些常见的数据分析方法,在用户行为分析领域,对这些数分析方法的科学婴童进行理论指导,能够相对的完整的解释用户行为的内在规律,基于此帮助企业实现多维的交叉分析,让企业建立快速反应,适应变化的敏捷商业智能决策。

2020-06-24

mongodb-win32-x86_64-enterprise-windows-64-4.2.1-signed.msi

mongodb-win32-x86_64-enterprise-windows-64-4.2.1-signed.msi mongodb windows 版本,官网下载的

2020-06-05

Apache Flink结合Apache Kafka实现端到端的一致性语义.pdf

流计算中的一致性语义定义,以及通常系统怎么支持一致性语义,Flink+Fafka如何实现端到端的一致性语义。Flink会定期地产生checkpoint并且把这些checkpoint写入到一个持久化存储上,比如S3或HDFS。这个写入过程是异步的,这就意味着Flink即使在checkpointing过程中也是不断处理输入数据的。

2019-05-16

基于Flink SQL构建实时数仓.pdf

OPPO 作为手机厂商,基于 Android 定制了自己的 ColorOS 系统,当前日活跃用户超过 2 亿。围绕 ColorOS,OPPO 构建了很多互联网应用,比如应用商店、浏览器、信息流等。在运营这些互联网应用的过程中,OPPO 积累了大量的数据,上图右边是整体数据规模的演进:从 2012 年开始每年都是 2~3 倍的增长速度,截至目前总数据量已经超过 100PB,日增数据量超过 200TB。 要支撑这么大的一个数据量,OPPO 研发出一整套的数据系统与服务,并逐渐形成了自己的数据中台体系。

2019-05-16

HDFS智能异构存储方案.pdf

HDFS异构存储,该方案能够智能的区分冷热数据,并按照配置的磁盘模式自动转移数据,做到冷热数据异构智能存储

2019-05-16

Scala编程核心教程(电子版)

学习Scala的全部资料,从最基本的数据结构,到最后高阶函数

2019-03-09

HBase权威指南

HBase还可以利用Zookeeper确保只有一个主服务在运行(HBaseMaster),存储用于发现region的引导位置,作为一个region服务器的注册表,以及实现其他目的。Zookeeper是一个关键组成部分,没有它HBase就无法运作。Zookeeper使用分布式的一系列服务器和Zap协议(确保其状态保存一致)减轻了应用上的负担。         master服务器负责跨region服务器的全局region的负载均衡,将繁忙的服务器中的region移动到负载较轻的服务器中。主服务器(HBaseMaster)不是实际数据存储或者检索路径的组成部分,它仅提供了负载均衡和集群管理,不为region服务器或者客户端提供任何的数据服务,因此是轻量级服务器。此外,主服务器还提供了元数据的管理操作,例如,建表和创建列族(column family)。         region服务器负责为它们的服务的region提供读和写请求,也提供了拆分超过配置大小的region的接口。客户端则直接与region服务器通信,处理所有数据相关的操作。   "数十亿行 X 数百万列 X 数千个版本 = TB级 或 PB级的存储"

2019-03-02

Hadoop权威指南(中文版)

Hadoop编程书籍,由浅入深,介绍Hadoop编程,特别适合初学者以及企业开发人员以及大学生以及其他深造学习者

2019-03-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除