自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

风中云彩的博客

不积跬步,,无以至千里;;不积小流,,无以成江海!

  • 博客(76)
  • 收藏
  • 关注

原创 Maven构建过程中 [ERROR] Malformed \uxxxx encoding 的解决过程

背景在使用CICD进行构建时,第一次构建成功,第二次之后就一直失败,异常信息如下:[ERROR] Malformed \uxxxx encoding.java.lang.IllegalArgumentException: Malformed \uxxxx encoding.at java.util.Properties.loadConvert (Properties.java:574)at java.util.Properties.load0 (Properties.java:39..

2022-01-21 16:45:07 7977 2

转载 Flink + Iceberg 全场景实时数仓的建设实践

整理|路培杰(Flink 社区志愿者)摘要:Apache Flink 是目前大数据领域非常流行的流批统一的计算引擎,数据湖是顺应云时代发展潮流的新型技术架构,以 Iceberg、Hudi、Delta 为代表的解决方案应运而生,Iceberg 目前支持 Flink 通过 DataStream API /Table API 将数据写入 Iceberg 的表,并提供对 Apache Flink 1.11.x 的集成支持。本文由腾讯数据平台部高级工程师苏舒分享,主要介绍腾讯大数据部门基于 Apach..

2021-01-29 09:06:01 662 1

原创 Clickhouse之MergeTree的存储结构和分区详解

1、MergeTree的创建方式与存储结构1.1、MergeTree的创建方式创建MergeTree数据表需要将ENGINE参数声明为MergeTree(),其完整的语法如下所示:CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1] [TTL expr1], name2 [type2] [DEFAUL

2020-12-06 16:51:10 1639

转载 Flink 1.11:更好用的流批一体 SQL 引擎

许多的数据科学家,分析师和 BI 用户依赖交互式 SQL 查询分析数据。Flink SQL 是 Flink 的核心模块之一。作为一个分布式的 SQL 查询引擎。Flink SQL 提供了各种异构数据源的联合查询。开发者可以很方便地在一个程序中通过 SQL 编写复杂的分析查询。通过 CBO 优化器、列式存储、和代码生成技术,Flink SQL 拥有非常高的查询效率。同时借助于 Flink runtime 良好的容错和扩展性,Flink SQL 可以轻松处理海量数据。在保证优秀性能的同时,易用性是 1.

2020-08-28 10:56:41 2014

原创 深度解读:实时数仓架构对比与基于Flink的典型ETL场景实现

1. 实时数仓的相关概述1.1 实时数仓产生背景我们先来回顾一下数据仓库的概念。数据仓库的概念是于 90 年代由 Bill Inmon 提出, 当时的背景是传统的 OLTP 数据库无法很好的支持长周期分析决策场景,所以数据仓库概念的 4 个核心点,我们要结合着 OLTP 数据库当时的状态来对比理解。 面向主题的:数据仓库的数据组织方式与 OLTP 面向事务处理不同。因为数据仓库是面向分析决策的,所以数据经常按分析场景或者是分析对象等主题形式来组织。 集成的:对于数据仓库来说,

2020-08-27 10:01:43 1064

原创 HBase 四种数据迁移方案

本文原文:http://ballwql.cnblogs.com/一、前言HBase数据迁移是很常见的操作,目前业界主要的迁移方式主要分为以下几类:图1.HBase数据迁移方案从上面图中可看出,目前的方案主要有四类,Hadoop层有一类,HBase层有三类。下面分别介绍一下。二、Hadoop层数据迁移2.1 方案介绍Hadoop层的数据迁移主要用到DistCp(Distributed Copy), 官方描述是:DistCp(分布式拷贝)是用于...

2020-08-21 10:28:43 725

原创 监控系统选型

目前我所经历的几家公司,监控系统都是自研的。其实业界有很多优秀的开源产品可供选择,能满足绝大部分的监控需求,如果能从中选择一款满足企业当下的诉求,显然最省时省力。这篇文章,我将对监控体系的基础知识、原理和架构做一次系统性整理,同时还会对几款最常用的开源监控产品做下介绍,以便大家选型时参考。内容包括如下三部分: 必知必会的监控基础知识 主流监控系统介绍 监控系统的选型建议 必知必会的监控基础知识监控系统俗称“第三只眼”,几乎是我们每天都会打交道的...

2020-08-20 15:54:31 391

原创 Flink1.9 和1.11 build源码详细教程

一、Requirementjavamavenflink源码包二、Flink1.9 build 源码1、Flink 1.9(without flink UI)1.1 下载flink1.9源码​​​​​​ wget https://archive.apache.org/dist/flink/flink-1.9.1/flink-1.9.1-src.tgz1.2 解压 tar zxvf flink-1.9.1-src.tgz1.3 mave...

2020-08-20 14:56:49 497

原创 美团点评基于 Flink 的实时数仓平台实践

摘要:数据仓库的建设是“数据智能”必不可少的一环,也是大规模数据应用中必然面临的挑战,而 Flink 实时数仓在数据链路中扮演着极为重要的角色。本文中,美团点评高级技术专家鲁昊为大家分享了美团点评基于 Apache Flink 的实时数仓平台实践。主要内容为以下三个方面: 实时计算演进与业务实践 基于 Flink 的实时数仓平台 未来发展与思考 一、美团点评...

2020-01-21 16:04:42 624

转载 Java动态追踪技术探究

作者简介高扬,2017年加入美团打车,负责美团打车结算系统的开发。引子在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话:“Debug一下吧。”“线上机器,没开Debug端口。”“看日志,看看请求值和返回值分别是什么?”“那段代码没打印日志。”“改代码,加日志,重新发布一次。”“怀疑是线程池...

2020-01-19 16:28:40 207

原创 k8s 的基本介绍

一、k8s 基本特性 (1)自动装箱 构建于容器之上,基于资源依赖及其他约束自动完成容器部署且不影响其可用性,并通过调度机制混合关键型应用和非关键型应用的工作负载于同一节点以提升资源利用率。 (2)自我修复(自我治愈) 支持容器故障后自动重启、节点故障后重新调度容器,以及其他可用节点、健康状态检查失败后关闭容器并重新创建等自我修复机制。 (3)...

2020-01-16 00:22:30 670

原创 Linux 中的零拷贝技术

本文探讨Linux中 主要的几种零拷贝技术 以及零拷贝技术 适用的场景 。为了迅速建立起零拷贝的概念,我们拿一个常用的场景进行引入:1 引文在写一个服务端程序时(Web Server或者文件服务器),文件下载是一个基本功能。这时候服务端的任务是:将服务端主机磁盘中的文件不做修改地从已连接的socket发出去,我们通常用下面的代码完成:while((n = read(...

2020-01-14 00:47:01 141

原创 Hudi剖析|Apache Hudi Rollback实现分析

1. 介绍 在发现有些commit出错时,可使用Hudi提供的rollback回滚至指定的commit,这样可防止出现错误的结果,并且当一次commit失败时,也会进行rollback操作,保证一次commit的原子性。2. 分析 rollback(回滚)的入口在 HoodieWriteClient#rollback,其依赖 HoodieWriteClient#roll...

2020-01-13 17:12:15 2226

原创 ApacheHudi使用问题汇总(二)

1. Hudi Cleaner是做什么的? Hudi Cleaner(清理程序)通常在 commit和 deltacommit之后立即运行,删除不再需要的旧文件。如果在使用增量拉取功能,请确保配置了清理项来保留足够数量的commit(提交),以便可以回退,另一个考虑因素是为长时间运行的作业提供足够的时间来完成运行。否则,Cleaner可能会删除该作业正在读取或可能被其读取的文件,并...

2020-01-08 17:40:26 2983

原创 ApacheHudi使用问题汇总(一)

1.如何写入Hudi数据集 通常,你会从源获取部分更新/插入,然后对Hudi数据集执行写入操作。如果从其他标准来源(如Kafka或tailf DFS)中提取数据,那么DeltaStreamer将会非常有用,其提供了一种简单的自我管理解决方案,可将数据写入Hudi。你还可以自己编写代码,使用Spark数据源API从自定义源获取数据,并使用Hudi数据源写入Hudi。2. 如何部署...

2020-01-08 11:01:37 1886

原创 Flink elasticsearch-sink by http and https

官网上有关于http的例子:DataStream<String> input = ...;List<HttpHost> httpHosts = new ArrayList<>();httpHosts.add(new HttpHost("127.0.0.1", 9200, "http"));httpHosts.add(new HttpHost("10...

2019-12-30 10:41:00 1497

原创 Spark 数据倾斜的解决方法

一、什么是数据倾斜对 Spark/Hadoop 这样的分布式大数据系统来讲,数据量大并不可怕,可怕的是数据倾斜。 对于分布式系统而言,理想情况下,随着系统规模(节点数量)的增加,应用整体耗时线性下降。如果一台机器处理一批大量数据需要120分钟,当机器数量增加到3台时,理想的耗时为120 / 3 = 40分钟。但是,想做到分布式情况下每台机器执行时间是单机时的1 / N,就必须保证每...

2019-12-30 10:19:00 229

原创 Apache Kafka 2.4 正式发布,重要功能详细介绍

2019年12月18日 Apache Kafka 2.4 正式发布了,这个版本有很多新功能,本文将介绍这个版本比较重要的功能,完整的更新可以参见 release notes。Kafka broker, producer, 以及 consumer 新功能KIP-392: 允许消费者从最近的副本获取数据 在 Kafka 2.4 版本之前,消费者只能从 leaders 分区那里获...

2019-12-27 16:36:15 1005

原创 Apache Hudi 详解

1. 什么是Hudi?Apache Hudi代表Hadoop Upserts anD Incrementals,管理大型分析数据集在HDFS上的存储。Hudi的主要目的是高效减少摄取过程中的数据延迟。由Uber开发并开源,HDFS上的分析数据集通过两种类型的表提供服务:读优化表(Read Optimized Table)和近实时表(Near-Real-Time Table)。读优化表的...

2019-12-26 14:14:53 25208 4

原创 如何设计缓存系统:缓存穿透,缓存击穿,缓存雪崩解决方案分析

前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方案...

2019-12-25 14:03:55 100

转载 饿了么交易系统设计思路

本文作者:盛赫,花名白茶,就职于阿里本地生活中台研发部,多年交易系统建设开发经验,目前转入营销领域继续探索。叮~,您有新的饿了么订单,正在阿里云上被接单。这篇文章成型于交易系统重构一期之后,主要是反思其过程中做决策的思路,我没有使用「架构」这个词语,是因为它给人的感受充满权利和神秘感,谈论「架构」让人有一种正在进行责任重大的决策或者深度技术分析的感觉。如毕玄在系统...

2019-12-18 11:14:17 1277

原创 数据库的分库分表

数据切分关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到 1000W 或 100G 以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。数据库分布式核心内容无非就是数据切分(Sharding),以及切分后对数据的定...

2019-12-18 10:47:16 456

原创 阿里巴巴HBase高可用

2011年毕玄和竹庄两位大神将HBase引入阿里技术体系,2014年接力棒转到东8区第一位HBase commiter天梧手中,多年来与淘宝、旺旺、菜鸟、支付宝、高德、大文娱、阿里妈妈等几乎全BU合作伙伴携手共进,支撑了双十一大屏、支付宝账单、支付宝风控、物流详情等核心业务。2018年双十一,HBase全天处理请求2.4万亿行,单集群吞吐达到千万级别。从一个婴儿成长为青年,阿里HBase...

2019-12-12 10:23:25 246

原创 高并发系统中的限流

缓存缓存比较好理解,在大型高并发系统中,如果没有缓存数据库将分分钟被爆,系统也会瞬间瘫痪。使用缓存不单单能够提升系统访问速度、提高并发访问量,也是保护数据库、保护系统的有效方式。大型网站一般主要是“读”,缓存的使用很容易被想到。在大型“写”系统中,缓存也常常扮演者非常重要的角色。比如累积一些数据批量写入,内存里面的缓存队列(生产消费),以及HBase写数据的机制等等也都是通过缓存提升系...

2019-12-11 11:10:23 109

原创 Dubbo 详解

Dubbo 分层Dubbo 是一款高性能 Java RPC 架构。它实现了面向接口代理的 RPC 调用,服务注册和发现,负载均衡,容错,扩展性等等功能。Dubbo 大致上分为三层,分别是: 业务层 RPC 层 Remoting 层 Dubbo 的三层结构从上图中可以看到,三层结构中包含了 Dubbo 的核心组件。他们的基本功能如下,对于比较常用的...

2019-12-11 10:58:23 201

原创 Redis 分布式锁

前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了确保分布式锁可用,我们至少...

2019-11-22 10:30:44 83

原创 RPC 框架原理详解

RPC非常重要,很多人面试的时候都挂在了这个地方!你要是还不懂RPC是什么?他的基本原理是什么?你一定要把下边的内容记起来!好好研究一下!特别是文中给出的一张关于RPC的基本流程图,重点中的重点,Dubbo RPC的基本执行流程就是他,RPC框架的基本原理也是他,别说我没告诉你!看了下边的内容你要掌握的内容如下,当然还有很多: RPC的由来,是怎样一步步演进出来的; ...

2019-11-22 10:22:40 249

原创 Flink windows窗口之Windows Assigner和Windows Function

Windows窗口计算就是通过按照固定时间将数据切分成不同的窗口,然后对窗口内的数据进行计算。Flink DataStream API 将窗口抽象成独立的operator,并且在Flink DataStream内已经建了大多数窗口算子。每个算子中包含了Windows Assigner、Window Trigger(窗口触发器)、Evictor(数据剔除器)、Lateness(时延设定)、O...

2019-11-18 11:17:24 442

原创 Flink 的 DataStream 转换操作和DataSinks 数据输出

DataStream 转换操作 转换就是从一个或多个Datastream生成新的Datastream的过程。所有Datastream的转换操作可以分为单Single-Datastream、Multi-Datastream、物理分区三类类型。1、Single-Datastream 操作 Single-Datastream主要有Map、FlatMap、Filter、Ke...

2019-11-15 17:32:30 912

原创 kafka 动态参数

大家都知道kafka中有个server.properties文件用来配置参数的。我们今天来讲的是另外一种参数----动态参数。1、动态参数是什么? 动态参数从字面意思就能理解,意思就是在kafka运行过程中配置的参数。2、动态参数是保存在哪里的? 静态参数有个server.properties文件来保存,那么动态是放在哪儿来保存的呢? Kafka 将动...

2019-11-14 21:39:51 859

原创 kafka 控制器详解

一、控制器是什么东东? 控制器组件(Controller),是 Apache Kafka 的核心组件。它的主要作用是在 Apache ZooKeeper 的帮助下管理和协调整个 Kafka 集群。集群中任意一台 Broker 都能充当控制器的角色,但是,在运行过程中,只能有一个 Broker 成为控制器,行使其管理和协调的职责。二、控制器是怎么选出来? Bro...

2019-11-14 21:17:02 555

原创 腾讯百亿级请求高可用Redis(codis)分布式集群实践

一、Redis有哪些常用的应用场景1)string |计数器,用户信息(id)映射,唯一性(例如用户资格判断),bitmap2)hash |常见场景:存储对象的属性信息(用户资料)3)list |常见场景:评论存储,消息队列4)set |常见场景:资格判断(例如用户奖励领取判断),数据去重等5)sorted set |常见场景:排行榜,延时队列...

2019-11-11 10:33:28 460

原创 17 个方面,综合对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ 四个分布式消息队列

本文将从,Kafka、RabbitMQ、ZeroMQ、RocketMQ、ActiveMQ 17 个方面综合对比作为消息队列使用时的差异。一、资料文档Kafka:中。有kafka作者自己写的书,网上资料也有一些。rabbitmq:多。有一些不错的书,网上资料多。zeromq:少。没有专门写zeromq的书,网上的资料多是一些代码的实现和简单介绍。rocketmq:少。没有专门写r...

2019-11-11 10:17:00 85

原创 ebay百万TPS支付账务系统的设计与实现

导读2018年,ebay全面展开了下一代百万TPS支付账务系统的设计与实现。本文主要介绍核心账务系统的性能和容灾能力,将从账务系统简介、百万TPS压测实验、系统架构分析、开源计划四个方面进行阐释。希望能给同业人员一定启发和借鉴。1. 序亿贝 (www.ebay.com) 于2018年全面展开了下一代支付系统的设计和实现。支付宝的双十一和微信财付通的春节红包已经向世界展示了支付行业...

2019-11-11 10:10:44 712

转载 首次公开:京东数科强一致、高性能分布式事务中间件 JDTX

本文来源于 infoq,原文链接:https://www.infoq.cn/article/BAXzcfjRTcgmKisa7JHm?from=groupmessage&isappinstalled=0在分布式数据库、云原生数据库、NewSQL 等名词在数据库领域层出不穷的当今,变革——在这个相对稳定的领域已愈加不可避免。相比于完全革新,渐进式增强的方案在拥有厚重沉淀的行业...

2019-11-05 11:01:01 956

原创 elasticsearch 原理详解

Elasticsearch 基于 Lucene,隐藏其复杂性,并提供简单易用的 Restful API接口、Java API 接口。所以理解 ES 的关键在于理解 Lucene 的基本原理。Lucene 简介Lucene 是一种高性能、可伸缩的信息搜索(IR)库,在 2000 年开源,最初由鼎鼎大名的 Doug Cutting 开发,是基于 Java 实现的高性能的开源项目。...

2019-11-02 15:19:30 456

原创 中台详解

中台这个概念早期是由美军的作战体系演化而来的,技术上所说的“中台”主要是指学习这种高效、灵活和强大的指挥作战体系。电商经过十几年的发展,组织已经庞大而复杂,业务不断细化拆分,也导致野蛮发展的系统越来越不可维护,开发和改造效率极低。也有很多新业务不得不重复造轮子,所以中台的目标是为了解决效率问题,同时降低创新成本。所谓的业务中台就是:通过制定标准和机制,把不确定的业务规则和流程通过工业化...

2019-11-02 15:04:48 501

原创 Cassandra 框架原理

Cassandra没有像BigTable或Hbase那样选择中心控制节点,而选择了无中心的P2P架构,网络中的所有节点都是对等的,它们构成了一个环,节点之间通过P2P协议每秒钟交换一次数据,这样每个节点都拥有其它所有节点的信息,包括位置、状态等。Cassandra的核心组件: Gossip:点对点的通讯协议,用来相互交换节点的位置和状态信息。当一个节点启动时就立即本地存储Goss...

2019-11-01 16:10:17 990

原创 Docker 框架原理详解

一、简介1、了解Docker的前生LXCLXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。与传统虚拟化技术相比,它的优势在于:(1)与宿主机使用同一个内核...

2019-11-01 10:15:51 538

原创 网易云音乐中间件改造

网易云音乐自2013年上线后,业务保持了高速增长。云音乐除了提供好听的音乐外,还留下了我们在乐和人上的美好回忆。本文整理自网易云音乐消息队列负责人林德智在近期Apache Flink&RocketMQ Meetup 上海站的分享,通过该文,您将了解到: 网易云音乐消息队列改造背景 网易云音乐业务对消息队列要求 网易云音乐消息队列架构设计 网易云音乐消息...

2019-10-29 17:08:50 211

空空如也

空空如也

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

TA关注的人

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