自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wuhulala的休息室

传播技术传播爱

原创 FlinkX Launcher 原理解析

FlinkX Launcher 原理解析模式local本机启动一个flink的LocalStreamEnvironmentstandaloneflink集群的standalone模式yarn-perjob在已经启动在yarn上的flink session里上运行yarn-session在yarn上单独启动flink session运行配置https://blog.csdn.net/u013076044/article/details/106392437实现原理入口 public

2020-08-08 16:13:09 53

原创 FlinkX增量读取

FlinkX增量读取增量同步指每次记录最大值,下次从最大值的位置来同步。累加器是具有添加操作和最终累积结果的简单构造,可在作业结束后使用。从Flink的实现上面讲,可以使用Flink的累加器记录作业的最大值,同步任务的每次运行使用上一个任务实例作为起始位置同步。配置increColumn描述:当需要增量同步或间隔轮询时指定此参数,任务运行过程中会把此字段的值存储到flink的Accumulator里,如果配置了指标,名称为:endLocation,类型为string,日期类型会转为时

2020-08-08 12:43:14 27

原创 Loki 初探

最近经常看到有公众号anli这个工具,正好有一些线上的日志会拉到本地进行分析,有时候有上百兆,不是很好分析,需要一个轻量级的日志分析工具,所以探索一些Loki。LokiGrafana Loki是可以组成功能齐全的日志记录堆栈的一组组件。与其他日志记录系统不同,Loki是围绕着仅索引有关日志的元数据的思路构建的:标签(就像Prometheus标签一样)。日志数据本身然后被压缩并存储在对象存储(例如S3或GCS)中的块中,甚至存储在文件系统上的本地。小索引和高度压缩的块简化了操作,并大大降低了Loki的成

2020-07-19 15:11:17 71

原创 【Druid 实战】Druid 的 SQL 中文乱码问题(avatica)

场景今天使用Druid,通过avatica客户端去查询的时候,发现返回值为空select xx from table where a = '开心'发现交互的时候,返回的Response里面返回的查询语句竟然是select xx from table where a = '??'你妹啊,这问号啥意思。我就一个中文查询语句啊冷静,冷静,肯定是编码问题问题排查看源码先获取utf-8的bytesarray => 由httpclient 作为 application/octet-st

2020-07-02 21:25:45 142

原创 【Flink博客阅读】 Flink 作业执行深度解析(WordCount) 读后实战总结

Flink 作业执行解析所有有关Flink作业执行的介绍都包含以下的这个流程,今天我们就是实战一些这些转换是如何完成的?CodeStreamGraphJobGraphExecutionGraph物理执行计划StreamGraph Class representing the streaming topology. It contains all the information necessary to build the jobgraph for the execution. 这个类表示流处理的拓扑

2020-06-21 17:47:00 101

原创 【Flink 异常】FlinkX 与 Flink java.lang.NoSuchMethodError: org.apache.flink.api.java.ExecutionEnvironment

java.lang.NoSuchMethodError: org.apache.flink.api.java.ExecutionEnvironment.(Lorg/apache/flink/core/execution/PipelineExecutorServiceLoader;Lorg/apache/flink/configuration/Configuration;Ljava/lang/ClassLoader;)V使用flinkx放入lib里面,发现了使用yarn-per-job的时候出现了以上错误

2020-06-21 03:03:16 270

原创 Flink 实战(十二) Flink 多Sink的数据一致性验证

FlinkHbaseSink1kafkaSink2这种场景下面当hbase写入的失败的时候,不影响kakfa的写入。如何保证hbase和kafka都写入成功呢?

2020-06-18 19:36:49 317

原创 【Flink博客阅读】 Flink Runtime 核心机制剖析-读后总结

Flink Runtime 核心机制剖析 读后总结从这篇文章里面可以主要解释了以下的问题:Flink整体是一个什么样的架构?master-slaveFlink 执行过程中有哪些组件?MasterDispatcher 负责接收用户提供的作业,并且负责为这个新提交的作业拉起一个新的 JobManager 组件。ResourceManager 负责资源的管理,在整个 Flink 集群中只有一个 ResourceManager。JobManager 负责管理作业的执行,在一个 Flink 集

2020-06-09 23:22:58 104

原创 Flink 实战(十一) Flink SideOutput 在风险预警场景下的应用

风险预警场景背景在风险预警的场景下,当预警消息需要发送给用户的时候,往往会根据不同的预警等级通过不同的渠道对用户进行内容的通知。预警等级预警渠道重大风险短信、钉钉一般风险短信、站内信提示风险站内信正常-一般我们会把预警信息流先进行分割,然后发送到不同的kafka topic里面或者数据库中,供发送程序处理。这里对发送的优先级以及模板不做过多的处理。示意图如下。如果我们使用Flink的话,需要把一个流进行分割的话,需要使用一个叫做Side

2020-06-06 13:30:19 186

原创 Flink 应用场景资料整理

Flink最近flink的热度也越来越高,它是什么?参考官网(https://flink.apache.org)那么它能干什么是我们今天的重点。官方也提供了很好的学习环境和实战资料,但是对于资料没有更细粒度的划分,我基于Flink中文社区的应用场景资料,进行了整理,希望可以快速、全面的了解Flink的应用场景。看看各个大厂都基于Flink做了什么事情。社区应用场景以上资料是基于https://ververica.cn/corporate-practice/中的行业案例分析得出,大致分为以下

2020-06-03 22:15:50 99

原创 FlinkX 部署

FlinkX 部署运行概述执行环境Java: JDK8及以上Flink集群: 1.4及以上(单机模式不需要安装Flink集群)操作系统:理论上不限,但是目前只编写了shell启动脚本,用户可以可以参考shell脚本编写适合特定操作系统的启动脚本。运行模式单机模式:对应Flink集群的单机模式standalone模式:对应Flink集群的分布式模式yarn模式:对应Flink集群的yarn模式yarnPer模式: 对应Flink集群的Per-job模式源码下载git clone

2020-05-27 22:40:10 222

原创 FlinkX断点续传原理

FlinkX断点续传原理声明: 前半部分官方文档+贴实现代码前提条件同步任务要支持断点续传,对数据源有一些强制性的要求:数据源(这里特指关系数据库)中必须包含一个升序的字段,比如主键或者日期类型的字段,同步过程中会使用checkpoint机制记录这个字段的值,任务恢复运行时使用这个字段构造查询条件过滤已经同步过的数据,如果这个字段的值不是升序的,那么任务恢复时过滤的数据就是错误的,最终导致数据的缺失或重复;数据源必须支持数据过滤,如果不支持的话,任务就无法从断点处恢复运行,会导致数据重复;

2020-05-26 22:27:48 101

原创 Flink的实时同步(转载官方文档)

Flink的实时同步(转载官方文档)根据数据源的数据是否实时变化可以把数据同步分为离线数据同步和实时数据同步,上面介绍的断点续传就是离线数据同步里的功能,实时采集其实就是实时数据同步,当数据源里的数据发生了增删改操作,同步任务监听到这些变化,将变化的数据实时同步到目标数据源。除了数据实时变化外,实时采集和离线数据同步的另一个区别是:实时采集任务是不会停止的,任务会一直监听数据源是否有变化。基于binlog的实时采集目前FlinkX支持实时采集的插件有KafKa,binlog插件,binlog插件是专门

2020-05-26 22:27:10 122

原创 FlinkX配置文件解析

FlinkX配置文件解析配置文件 (本章节引自官网)一个完整的Flinkx任务脚本配置包含 content, setting两个部分。content用于配置任务的输入源与输出源,其中包含reader,writer。而setting则配置任务整体的环境设定,其中包含restore,speed,errorLimit,dirty,log。具体如下所示:{ "job" : { "content" :[{ "reader" : { ...... }, "writer

2020-05-24 18:21:45 161

原创 FlinkX的数据类型

FlinkX的数据类型从上一章节里面看到:DataStream<Row> dataStream = dataReader.readData();这个简单的代码里面我们可以得出每一行数据都转化为了Row对象数据转化为了数据流我们下面看一下Row是如何满足所有的数据类型的?FlinkX 中的 Row这里的Row是指的org.apache.flink.types.RowA Row can have arbitrary number of fields and contain

2020-05-24 18:17:51 68

原创 FlinkX 实现原理(全局总览)

FlinkX 实现原理从上一节的代码结构,我们知道FlinkX的结构是Core+Plugin,我们就简单分析一下Core.Core 代码架构基础支持classloader 自定义类加载器Exception 统一异常enums 统一枚举constants 常量options 入参选项配置util 工具类latch 同步类支持核心逻辑config 配置文件格式schemareader Reader插件writer Writer插件inputformat

2020-05-24 18:13:55 221

原创 FlinkX 代码总体结构

总体结构可以看出来里面就一个Flink-Core然后和 DataX 类似 都是 Core + Plugin的结构具体看一下 Plugin的结构也是Core + Reader + Writer的结构。

2020-05-24 18:12:31 61

原创 FlinkX脏值处理

FlinX脏值处理在大量数据的传输过程中,必定会由于各种原因导致很多数据传输报错(比如类型转换错误),这种数据DataX认为就是脏数据。​ – by DataX配置实例"dir

2020-05-24 18:10:34 45

原创 FlinkX流控实现

FlinkX流控实现流量控制防止并发性能过高对源数据库造成影响。在FlinkX中,流量控制是采用Byte为单位/s进行流量控制的。配置参数实例:{ “speed”: { "bytes": 0 }}当 bytes > 0 时,才会开启流量控制。整个计算的速率是根据整个系统中的指标,按照每秒的窗口,实时计算出限流的速率的。通过对读取记录的限流,但是没有背压。限流原理实现逻辑首先我们看一下读取器的初始化过程,InputFormat初始化publi

2020-05-24 10:35:39 115

原创 FlinkX 分片读取原理

FlinkX 分片读取原理在数据同步工具中,将数据从源头读取到数据缓存是最重要的一环之一,算是左膀。所以在整个流程,从技术场景上,一定要支持数据的分片与并行读取、流控,从业务角度上,需要支持脏值处理与增量读取。而今天重点来探讨一下分片读取的原理。分片原理分片是将待读取的数据平均分配,尽量的使各个分片任务均衡,不会让数据倾斜从而导致个别节点的同步压力过大(硬件-网卡、cpu等)。下面是配置了一个读取通道为3的作业配置示例:"speed": { "channel": 3, "b

2020-05-23 23:38:28 90

原创 Flink 数据同步先行者- FlinkX

Flink 数据同步先行者- FlinkX最近在学习Flink-Connector,并尝试使用一些小Demo。联想到之前的DataX与FlinkX,由感而发。从我个人的理解上,Connector就是为了数据通道而生的基础设施,而目前数据通道做的比较全的就是DataX。DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。DataX本身作为离线数据同步框架,将

2020-05-17 12:20:10 334

原创 IDEA 2020 Maven auto-import

现在发现这个idea 修改pom.xml 怎么不会自动导包了。Import Maven projects automatically 按钮也没有了看到官网有这么一段话IntelliJ IDEA 2020.1 brings a small but important update to our Maven and Gradle users. Instead of the old auto-import, there’s now a floating notification in the upper-

2020-05-17 11:30:58 1729

原创 Hue 安装

下载https://codeload.github.com/cloudera/hue/tar.gz/release-4.6.0依赖安装centossudo yum install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gcc gcc-c++ krb5-devel libffi-devel libxml2-devel libxslt-devel make mysql mysql-devel openld.

2020-05-10 16:39:31 103

原创 Apache Kudu(三) Java Client 连接 Kudu

Java 客户端本地host配置(因为返回的是hostname,不是ip,如果不配置的话,会存在各种连不上)192.168.1.101 kudu-master-1 kudu-master-2 kudu-master-3构建maven 工程 <dependencies> <dependency> <groupId>org.apache.kudu</groupId> <art.

2020-05-10 16:37:33 131

原创 Apache Kudu(二) 原理

文章目录概念OLAP & OLTP列式存储 & 行式存储存储模型结构:主键事务支持性能硬件需求对比HadoopHbaseKudu 设计目标架构组件1. Table 表(Table)2. Tablet3. Tablet Server4. Master Serverkudu 底层数据模型操作实现原理tablet 发现过程kudu 写流程数据读取过程kudu 更新流程概念OLAP & OLTPOLTP: 快速插入和更新,并且可以精确查询。OLAP: 大规模的批量的数据

2020-05-10 16:36:34 95

原创 Apache Kudu(一) 安装

Kudu 安装快速开始准备好docker环境,如果没有请自行搜索Clone the Repositorygit clone https://github.com/apache/kuducd kudu启动集群设置IPexport KUDU_QUICKSTART_IP=$(ifconfig | grep "inet " | grep -Fv 127.0.0.1 | awk '{print $2}' | tail -1)启动Then use docker-compose to start

2020-05-10 16:35:44 90

原创 Apache Hive(二) 基本使用

命令交互交互式命令hivebin/hive-e 语句hive -e "select * from student"-f sql 文件hive -f xx.sqlbeeline启动 hiveserver2bin/hiveserver2nohup bin/hiveserver2 > > /dev/null 2>&1 &不考虑鉴权bin/beeline -u jdbc:hive2://bin/beeline -u jdbc:hive2:/

2020-05-10 16:34:06 72

原创 Apache Hive(一) 安装

环境centos7hadoop 2.7.7hive 3.1.2mysql 5.7.22安装目录 /opt/apache-hive-3.1.2-bin/下载binwget https://mirror.bit.edu.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz解压tar -zxvf apache-hive-3.1.2-bin.tar.gzcd apache-hive-3.1.2-bin配置c.

2020-05-10 16:32:39 48

原创 Impala(二) 架构与原理

概述Thanks to local processing on data nodes, network bottlenecks are avoided.由于对数据节点进行了本地处理,因此避免了网络瓶颈。A single, open, and unified metadata store can be utilized. 可以利用单个,开放和统一的元数据存储。Costly data format conversion is unnecessary and thus no overhead

2020-05-10 16:30:57 82

原创 Impala(一) 基本使用

Impala DEMOimpala shell[root@flinkhadoop ~]# impala-shell Starting Impala Shell without Kerberos authenticationOpened TCP connection to flinkhadoop:21000Connected to flinkhadoop:21000Server version: impalad version 3.2.0-cdh6.3.0 RELEASE (build 49539

2020-05-10 16:29:55 60

原创 大数据环境搭建-CDH6.3.0安装

https://www.cloudera.com/documentation/enterprise/6/6.3/topics/cm_ig_mysql.html安装impala 非CDH 版本,恶心的一逼,算了老夫 花了20分钟装了一个CDH。准备工作配置hostname设置hostname,一定要独一无二sudo hostnamectl set-hostname foo-1.ex...

2020-05-06 22:08:59 205

原创 私有云云笔记

私有云笔记如何搭建一个私有云笔记?需要有以下的功能云同步搜索引擎舒服的编写环境一个存图的地方离线也能写经过多次的尝试,初步稳定下来就是下面这些工具,相关教程可以直接网上搜索。...

2020-05-04 11:46:23 52

原创 思维导图在文件夹分类的展示与应用

目前我在应用学习过程中,在学习一个新的知识或者领域的时候,往往会存在知识点相互关联。但是现在的分类大部分都是树形图表示,或者是windows文件夹,这种一层一层的结构,只有点进去才知道里面是什么。或者但是每一次查找一个文件的时候,就会使用EveryThing查找找出来呢就是平铺平铺平铺在这些天使用xmind这种思维导图的组织方式后,发现文件夹的分类是否可以采用思维导图的层次结...

2020-05-04 11:32:36 166

原创 方法论概述

方法论概述

2020-04-30 14:38:50 43

原创 Flink番外(一) 搭建本地的flink官方文档

文章目录下载官方源码打开docs目录安装ruby配置 `_config.yml`执行安装命令挂载到nginx目录重启nginx访问 192.168.1.101/flink (ip填你自己的,本地就用localhost)目前Flink的官网 ci.apache.org 访问过慢,可能我这里没有科学上网导致的。看了下 ip在法国https://ci.apache.org/projects/fli...

2020-04-26 23:18:14 58

原创 K8S 完美搭建的家庭云运算中心

需求一台笔记本(4C8G),一台台式机(12C 32G),后面公司马上又要退役下来两台笔记本。还有自己买的游戏本,这些闲置机器也是吃灰,想着把它利用起来。如何把它联接起来也是一个事情?现在这种硬件资源管理器也是Yarn、Mesos、K8S之流。Mesos没有接触过,也没怎么听说过,passYarn的话一个是界面太丑,上CDH成本太高,一个CM就大的要是,二是不支持微服务、中间件。K8S ...

2020-04-25 08:26:28 193

原创 Kubenetes 入门安装1m1s安装

文章目录准备环境安装master & slave配置环境添加镜像关闭交换分区关闭selinux1. 安装软件2. 启动3. 启动Master4. 按照日志的提示操作5. 安装网络插件6. 安装node 假如集群(192.168.121.102)7. 检查集群运维监控平台1. 安装2. 创建用户3. 创建 token4. 网络代理5. 配置一下nodePort6. 访问问题解决kub...

2020-04-16 22:33:27 135

原创 Docker Compose Encountered errors while bringing up the project.

[root@flinkhadoop es]# docker-compose up -dStarting es_elasticsearch_1 ... errorStarting es_kibana_1 ... Starting es_kibana_1 ... errorERROR: for es_kibana_1 Cannot start service ...

2020-04-16 22:28:11 1034

原创 K8S-镜像管理(安装harbor)

首先我现在我也不知道harbor是个什么东西?后面会知道的。先安装一下:Centos7.x 虚拟机下载https://github.com/goharbor/harbor/我这边下载的离线版本的安装查看版本[root@flinkhadoop harbor]# docker -vDocker version 1.13.1, build 7f2769b/1.13.1发现版本比较...

2020-04-15 20:01:10 379

原创 回顾排序算法 快速排序及其应用

快排和求第k大数值为什么快排的复杂度有 logn,是因为他每次都是两个相互交换,所以是以2为底数。第k大数值: 确定k的落值范围,来判断是否需要排序。package com.company;import java.util.Arrays;public class Main { public static void main(String[] args) { ...

2020-04-09 22:56:47 45

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