从零到一的大数据专栏
文章平均质量分 79
以实战为主,从0开始学习大数据知识
HiBoyljw
万事开头难,自己选定的路就好好走下去
展开
-
关于在Flink批处理中数据同步的一些经验以及批处理中使用窗口函数的一些经验
在最近的项目中有使用到Flink 批处理的方式来进行数据源的数据同步。由于一些原因,并没有去使用开源的flinkx 之类的工具,而且Flink Jdbc connect 是一种基于查询数据同步,在数据同步之前必然会业务方造成查询压力的。目前在需要同步的表中,其它的表数据最高也不超过千万,但是我们源表的数据量却是达到了上亿级别。这种数据量的业务,在数据查询中一不小心就会照成查询超时,所以在大表数据同步时需要特别注意。而由于 Flink jdbc 本身设计原因,它默认是不支持条件查询的,默认均是扫描全表。所以最原创 2021-12-21 18:31:50 · 1986 阅读 · 0 评论 -
Flink checkpoint机制以及恢复
什么是checkpoint?checkpoint 则表示了一个 Flink Job ,在一个特定时刻的一份全局状态状态快照,即包含了一个 job 下 所有task/operator 某时刻的状态。问题九、使用checkpoint(检查点)的作用?使用Checkpoint提高程序的可靠性用户可以根据程序里面的配置将checkpoint打开,给定一个时间间隔后,框架会按照时间间隔给程序的状态进行备份。当发生故障时,Flink会将所有Task的状态一起恢复到Checkpoint的状态。从那个位置开始原创 2021-10-29 17:39:25 · 3713 阅读 · 1 评论 -
flink hive 异常以及解决办法
[ERROR] Could not execute SQL statement. Reason:java.lang.NoClassDefFoundError: Could not initialize class org.apache.flink.table.catalog.hive.factories.HiveCatalogFactoryOptions原因:缺失依赖解决办法: 新增hive-exec-3.1.0.jar 依赖[ERROR] Could not execute SQL state原创 2021-09-27 15:32:27 · 2316 阅读 · 0 评论 -
解决 Permission denied: user=root, access=WRITE, inode=“/user“:hdfs:supergroup:drwxr-xr-x
在使用root 账户安装完hadoop 集群后 在使用flink 使用on yarn 方式进行集群启动持续Permission denied: user=root,access=WRITE,inode="/user":hdfs:supergroup:drwxr-xr-x错误,查阅相关资料明白/user文件的所有者是HDFS 权限为755 也就是只有HDFS才能对这个文件进行操作,而root去访问hdfs上面的/user目录没有权限,那么接下来我们便可以这样操作文件,输入命令su原创 2021-09-10 15:08:45 · 8710 阅读 · 0 评论 -
Flinkx/Datax/Flink-CDC 优劣势对比
一、FlinkX简介FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,比如MySQL,HDFS等,也可以采集实时变化的数据,比如MySQL binlog,Kafka等。FlinkX目前包含下面这些特性:● 大部分插件支持并发读写数据,可以大幅度提高读写速度;● 部分插件支持失败恢复的功能,可以从失败的位置恢复任务,节约运行时间;失败恢复● 关系数据库的Reader插件支持间隔轮询功能,可以持续不断的采集变化的数据;间隔轮询● 部分数据库支持开启Kerberos安全认证原创 2021-08-02 16:48:48 · 16657 阅读 · 0 评论 -
Kafka 深入浅出——Kafka内核原理
ISR机制问题:1、当ack=all时,leader 收到数据,所有 follower 都开始同步数据, 但有一个 follower,因为某种故障,迟迟不能与 leader 进行同步,那 leader 就要一直等下去, 直到它完成同步,才能发送 ack。这个问题怎么解决呢?2光是依靠多副本机制能保证Kafka的高可用性,但是能保证数据不丢失吗?遇到上面的问题,如果follow迟迟无法进行数据同步,或者leader宕机,但是leader的数据还没同步到follower上去,此时即使选举了followe原创 2021-03-14 22:13:04 · 220 阅读 · 0 评论 -
Kafka 深入浅出——Kafka文件存储机制
kafka 文件存储同一个topic下有多个不同的partition,每个partition为一个目录,partition命名的规则是topic的名称加上一个序号,序号从0开始。每一个partition目录下的文件被平均切割成大小相等(默认一个文件是1G,可以手动去设置)的数据文件,每一个数据文件都被称为一个段(segment file),但每个段消息数量不一定相等,这种特性能够使得老的segment可以被快速清除。默认保留7天的数据。每次满1G后,在写入到一个新的文件中。另外每个partiti原创 2021-03-06 16:49:52 · 437 阅读 · 0 评论 -
Flink遇到Kafka - FlinkKafkaConsumer使用详解
Flink是新一代的流处理计算引擎。通过轻量级的checkpoint,Flink可以在高吞吐量的情况下保证exactly-once(这需要数据源能够提供回溯消费的能力)。Flink支持众多的source(从中读取数据)和sink(向其写入数据),列表如下:Kafka作为目前非常流行的消息中间件,它不仅能够提供极大的吞吐量,还能够配合Flink在消费端达到exactly-once。本文将详细介绍如何配置Flink读取Kafka,运行机制和exactly-once是如何保证的,最后,还会给出监控Flink转载 2021-01-24 16:53:22 · 9304 阅读 · 0 评论 -
Kafka 深入浅出——offset实战
1、 offset1.1 offset介绍老版本 Consumer 的位移管理是依托于 Apache ZooKeeper 的,它会自动或手动地将位移数据提交到 ZooKeeper 中保存。当 Consumer 重启后,它能自动从 ZooKeeper 中读取位移数据,从而在上次消费截止的地方继续消费。这种设计使得 Kafka Broker 不需要保存位移数据,减少了 Broker 端需要持有的状态空间,因而有利于实现高伸缩性。新版本 Consumer 的位移管理机制其实也很简单,就是**将 Consum原创 2021-01-16 16:32:38 · 928 阅读 · 0 评论 -
Kafka 深入浅出——消费者组
1 消费者组的基本概念Consumer Group 是 Kafka 提供的可扩展且具有容错性的消费者机制。消费者组内必然可以有多个消费者或消费者实例(Consumer Instance),它们共享一个公共的 ID,这个 ID 被称为 Group ID。组内的所有消费者协调在一起来消费订阅主题(Subscribed Topics)的所有分区(Partition)。当然,每个分区只能由同一个消费者组内的一个 Consumer 实例来消费。1、Consumer Group 下可以有一个或多个 Consum原创 2021-01-09 21:28:46 · 288 阅读 · 0 评论 -
Kafka 深入浅出——消息压缩
今天为大家带来kafka中的消息压缩知识,内容比较简单,5分钟就能阅读完成。压缩就是用时间去换空间的经典 trade-off 思想,具体来说就是用 CPU 时间去换磁盘空间或网络 I/O 传输量,希望以较小的 CPU 开销带来更少的磁盘占用或更少的网络 I/O 传输。在 Kafka 中,压缩也是用来做这件事的。1 何时压缩在 Kafka 中,压缩可能发生在两个地方:生产者端和 Broker 端。生产者程序中配置 compression.type 参数即表示启用指定类型的压缩算法。比如下面这段程序代码展原创 2021-01-03 20:25:45 · 832 阅读 · 0 评论 -
Kafka 深入浅出——分区策略
1、 分区的概念Kafka 有主题(Topic)的概念,它是承载真实数据的逻辑容器,而在主题之下还分为若干个分区,也就是说 Kafka 的消息组织方式实际上是三级结构:主题 - 分区 - 消息。主题下的每条消息只会保存在某一个分区中,而不会在多个分区中被保存多份.对数据进行分区的主要原因,就是为了实现系统的高伸缩性(Scalability)。不同的分区能够被放置到不同节点的机器上,而数据的读写操作也都是针对分区这个粒度而进行的,这样每个节点的机器都能独立地执行各自分区的读写请求处理。并且,我们还可以通原创 2021-01-02 23:17:13 · 389 阅读 · 0 评论 -
Kafka 深入浅出——生产者和消费者api代码开发
上一篇文章我们说了一些kafka在命令行的时候是如何操作的,详情请看Kafka 深入浅出——Kafka的命令行的管理使用以及参数详解那今天我们讲的这是如何在Java中去实际使用我们的kafka,话不多说,直接上代码。生产者代码开发创建maven工程引入依赖 <dependencies> <dependency> <groupId>org.apache.kafka</groupId> &原创 2020-12-27 20:34:35 · 570 阅读 · 0 评论 -
Kafka 深入浅出——Kafka的命令行的管理使用以及参数详解
1、创建topickafka-topics.shnode01执行以下命令创建topicreplication-factor 副本数cd /ljw/install/kafka_2.11-1.1.0/bin/kafka-topics.sh --create --partitions 3 --replication-factor 2 --topic test --zookeeper node01:2181,node02:2181,node03:21812、查询所有的topic..原创 2020-12-27 15:21:50 · 559 阅读 · 0 评论 -
Kafka 深入浅出——集群安装部署
上一篇我为大家带来了Kafka的基本知识和概念,下面我们将进入实战篇,首先是Kafka的集群安装部署。1、下载安装包(http://kafka.apache.org/downloads)这里将以大家下载1.x版本的kafka 这也是目前市场上的公司用的比较多的,因为比较稳定了,而且特性和功能基本也足够使用了。2、规划linux安装目录/mysoft/install3、上传安装包到node01服务器,并解压(此处的01代表的是你的集群节点之一的代号)通过FTP工具上传安装包到n原创 2020-12-19 20:10:26 · 179 阅读 · 1 评论 -
Phoenix 的一次删除索引,删除表的惨痛经历
在最近的一次项目之中,我经历了一次Phoenix 的一次删除索引,删除表的惨痛经历。历时2天才找到解决方案,特此分享给大家。背景:想要在Hbase的的表中(表也是phoenix建立的)再建一个phoenix的二级索引。代码如下:-- 建表CREATE TABLE "FN1"."CHATDOC" ( ID UNSIGNED_LONG NOT NULL PRIMARY KEY, PARENTID UNSIGNED_LONG , TITLE VARCHAR原创 2020-12-17 22:06:39 · 1666 阅读 · 1 评论