- 博客(201)
- 资源 (1)
- 收藏
- 关注
原创 Mac airflow 开发环境搭建
在 macOS 上搭建 Apache Airflow 开发环境可以通过以下步骤完成。我们将使用 pip 来安装 Airflow,并设置一个简单的开发环境。 ...
2024-11-28 17:53:00
779
原创 电商数据应用体系建设总结(三)—— 离线数据兜底方案
背景 目前我们使用Lambda架构来处理数据,Flink处理实时数据,Spark处理离线数据。Spark离线任务在每天凌晨的0-8点调度执行,在这段时间内,用户是看不到昨日未产出的离线数据的,数据应用对这些未产出的指标进行了特殊...
2022-05-14 11:34:00
877
原创 电商数据应用体系建设总结(二)—— 数据应用层架构介绍和规范总结
数据经过ETL、存储等数据处理过程之后,通过数据应用产品的形式呈现给最终使用方,PC和APP类数据产品以各类不同用途的数据大屏、看板将数据指标展示给管理者、运营和业务人员,数据应用后端也会为商城、CRM等业务团队开发出一些restful类型的数据接口,供他们取数使用。 ...
2022-05-02 10:03:00
1510
原创 电商数据应用体系建设总结(一)—— 数据应用架构剖析
什么是数据应用 数据应用是通过各种各样的数据分析方式将数据展示出来,给决策者、管理者、运营等人员透传数据价值的工具,帮助决策者、管理者及时调整战略目标、公司目标、业务目标,帮助运营人员更好地实现精细化运营、提升运营效率。 ...
2022-04-18 17:07:00
3297
转载 Spark ExternalShuffleService 运行原理
前言Spark 的 Executor 节点不仅负责数据的计算,还涉及到数据的管理。如果发生了 shuffle 操作,Executor 节点不仅需要生成 shuffle 数据,还需要负责处理读取请求。如果 一个 Executor 节点挂掉了,那么它也就无法处理 shuffle 的数据读取请求了,它之前生成的数据都没有意义了。为了解耦数据计算和数据读取服务,Spark 支持单独的服务来处理读取请求。这个单独的服务叫做 ExternalShuffleService,运行在每台主机上,管理该主机的所有 Exec
2020-11-11 10:46:20
2606
原创 HDFS 客户端读写超时时间解析
背景前段我们Hadoop集群磁盘使用率比较高,部分硬盘空间使用超过了70%,这部分服务器的DataNode服务读写负载就比较高,造成部分数据同步任务因为读写超时而失...
2020-10-25 11:32:00
4982
转载 Java反序列化与对象的创建
Java与单例模式一文中提到了,Java可以通过反序列化来破坏单例,其底层就是利用反射,通过一个代表无参构造方法的Constructor对象,使用其newInstance()方法来创建对象。但是,在后续的测试代码中发现,其实目标类的无参构造方法并没有执行!所以,对于这个对象的创建过程并不是我一开始想的那样。请看下面的例子:// 目标类public class Elvis implements Serializable { public static final Elvis INSTANCE =
2020-05-14 17:50:59
630
原创 ZooKeeper节点数据量限制引起的Hadoop YARN ResourceManager崩溃原因分析(三)
阿里云协同办公工具Teambition 0元试用>>> ...
2020-05-10 21:35:00
1341
原创 一次Impala upsert Kudu执行缓慢问题排查总结
问题背景BI同学会用Impala在Kudu表上跑一些ETL任务,最近,BI同学反馈一个Kudu表的ETL任务突然变慢,执行时间从原来的不到1分钟到现在的7分钟。解决过程下文中提到的软...
2020-03-09 18:46:00
3220
原创 YARN Fair Scheduler批量分配功能调优总结
背景YARN调度效率不高,队列资源充足,集群中正在运行的任务数量少,资源利用率低的情况下有一部分任务排队,等待分配资源时间长。注:我们的集群使用的是Apache Hadoop 2.6....
2020-02-10 21:05:00
3346
原创 一步一步理解Impala query profile(四)
在本系列的第三部分,我使用了一个示例来详细地介绍Impala query profile。在这一部分中,我将使用一个真实生产系统的Impala Profile文件,解释我在遇到问题时阅读P...
2020-02-05 23:43:00
1318
4
原创 一步一步理解 Impala query profile(三)
在本博客系列的第3部分,我将仍然关注查询计划(Query Plan)和执行摘要(Execution Summary),但是将使用真实数据(Kaggle’s Flights Delay database),来执行一个更复杂的查询。测试用的数据库有三张表:flights.csvairlin...
2019-12-08 11:57:00
1253
原创 一步一步理解Impala query profile(二)
在上一篇文章中,我们介绍了Impala query profie的概要部分,在本篇文章我们介绍Profile的查询计划(Query Plan)和执行概要(Execution Summary)部分。Profile的查询计划和执行概要如下所示:Query (id=36433472787e1ca...
2019-12-08 11:30:00
2034
1
原创 一步一步理解Impala query profile(一)
很多Impala用户不知道如何阅读Impala query profile来了解一个查询背后正在执行的操作,从而在此基础上对查询进行调优以充分发挥查询的性能。因此我想写一篇简单的文章来分享我的经验,并希望它可以对希望了解更多信息的人有所帮助。这是本系列的第1部分,我将介绍一些Impala q...
2019-12-08 10:47:00
2550
翻译 优化ORC和Parquet文件,提升大SQL读取性能
本文编译自IBM开发者社区,主要描述了HDFS中小的ORC和Parquet文件的问题,以及这些小文件如何影响Big SQL的读取性能,并探索了为了提高读取性能,使用现有工具将小文件压缩为大文件的可能解决方案。简介众所周知,多个Hadoop小文件(定义为明显小于HDFS块大小的文件,默认情况下为64MB)是Hadoop分布式文件系统(HDFS)中的一个大问题。HDFS旨在存储大量数据,理想情况下...
2019-10-07 15:43:19
1589
原创 YARN任务监控界面Aggregate Resource Allocation指标解析
在YARN的原生任务监控界面中,我们经常能看到Aggregate Resource Allocation这个指标(图中高亮选中部分),这个指标表示的是任务每秒消耗的内存和CPU数量:Aggregate Resource Allocation是在org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerApplication...
2019-08-31 11:38:05
6693
原创 ZooKeeper节点数据量限制引起的Hadoop YARN ResourceManager崩溃原因分析(二)
时隔五个月(点击阅读前文),如标题所示的问题再次发生,本次由于我们大数据监控系统的完善,让我对该问题进行了更深一步的研究。以下是整个排查过程和解决方案:一、问题说明从8月8日早上8点12收到第一条ResourceManager服务异常报警,截止到8月11日早上8点,每天早上8点到8点12之间频繁发生ResourceManager服务异常问题,晚上8点和下午1-3点偶尔出现该问题。以下是Spac...
2019-08-12 20:02:17
1646
原创 Apache Sentry实战之旅(二)—— Sentry客户端使用
Apache Sentry虽然可以将HDFS、Hive与Impala三个组件的权限认证统一,但是只能按照给组授予角色的方式来进行授权,不能直接授权给组中的用户,显得不太灵活。有时候为了兼容已有大数据平台的授权体系,比如只使用Sentry控制Impala服务的权限,而不控制Hive和HDFS服务的权限,希望通过调用Sentry客户端API的方式将已有的Hive和HDFS服务的权限信息导入到Sentr...
2019-07-27 22:09:24
1016
原创 Apache Sentry实战之旅(一)—— Impala+Sentry整合
Impala默认是以impala这个超级用户运行服务,执行DML和DDL操作的,要实现不同用户之间细粒度的权限控制,需要与Sentry整合。Sentry是Apache下的一个开源项目,它基于RBAC的授权模型实现了权限控制,Impala与它整合以后,就能实现不同用户之间在应用层的权限认证,从而控制用户的DML、DDL、DCL操作权限。Sentry为确保数据安全,提供了一个统一平台,可以使用现有的H...
2019-07-07 11:28:32
3562
翻译 使用Apache Kudu和Impala实现存储分层
当为应用程序的数据选择一个存储系统时,我们通常会选择一个最适合我们业务场景的存储系统。对于快速更新和实时分析工作较多的场景,我们可能希望使用Apache Kudu,但是对于低成本的大规模可伸缩性场景,我们可能希望使用HDFS。因此,需要一种解决方案使我们能够利用多个存储系统的最佳特性。本文介绍了如何使用Apache Impala的滑动窗口模式,操作存储在Apache Kudu和Apache HDF...
2019-05-20 14:59:50
2313
原创 Hadoop技术资料汇总(不断更新中)
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 这些资料都是我在工作中学习、解决问题的资料汇总,我不能保证这里罗列的所有资料对看到的人有用,但大部分都经过我的实际验证。在不断学习和实践过程中,我会不断更新和总结这些资料,同时欢迎大家留言交流。感谢这些资料的作者。一、HDFS1、集群安装:Hadoop 2.6.0 HA高可用集群配置详解2...
2019-05-07 21:26:00
260
原创 OutOfMemoryError: GC Overhead Limit Exceeded错误解析
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> ...
2019-04-15 09:24:00
168583
1
原创 ZooKeeper节点数据量限制引起的Hadoop YARN ResourceManager崩溃原因分析
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 环境Hadoop版本:Apache Hadoop 2.6.3 ZooKeeper版本:ZooKeeper 3.4.10 两个ResourceManager节点:主节点RM01,从节点RM02背景最近有一次我们的Hadoop监控平台发出ResourceManager(以下简称RM)崩溃的报警信息,...
2019-03-18 09:37:00
2409
原创 Hadoop NameNode、DataNode热迁移方案
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 最近我们生产环境的Hadoop集群需要调整几台服务器,具体转换关系如下:datanode92.bi -> namenode02.binamenode01.bi(old) -> datanode19.binamenode02.bi -> datanode20.bi最终目标为:...
2019-03-12 21:15:00
1580
原创 kafka-connect-hive sink插件实现要点小结
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> kafka-connect-hive sink插件实现了以ORC和Parquet两种方式向Hive表中写入数据。Connector定期从Kafka轮询数据并将其写入HDFS,来自每个Kafka主题的数据由提供的分区字段进行分区并划分为块,每个数据块都表示为一个HDFS文件,文件名由topic名称+分区编号+o...
2019-02-25 11:46:00
1111
原创 kafka-connect-hive sink插件入门指南
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> kafka-connect-hive是基于kafka-connect平台实现的hive数据读取和写入插件,主要由source、sink两部分组成,source部分完成hive表数据的读取任务,kafka-connect将这些数据写入到其他数据存储层中,比如hive到ES数据的流入。sink部分完成向hive表...
2019-02-15 17:33:00
2760
原创 Kudu异常总结
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 1、impala不支持kudu表的关键字:PARTITIONED - LOCATION - ROWFORMAT(官方链接:Impala Keywords Not Supported for Kudu Tables),例如执行如下语句会报错:CREATE TABLE my_first_table2( ...
2018-12-29 14:49:00
4675
原创 etcd、Zookeeper和Consul一致键值数据存储的性能对比
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> ...
2018-09-17 22:09:00
2934
1
Spring Boot自定义错误页面
2015-12-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人