京东Flink on K8s优化实践:资源高效利用与稳定性提升
版权申诉
71 浏览量
更新于2024-07-05
收藏 5.03MB PDF 举报
"Flink on K8s 在京东的持续优化实践"
本文主要介绍了Flink在Kubernetes(K8s)上进行部署和优化的实际操作经验,由资深技术专家付海涛分享。京东作为一家大型电商平台,对大数据处理的需求极高,而Flink作为实时计算框架,与K8s的结合为京东提供了更高效、安全且易于管理的解决方案。
## 1. 基本介绍
选择Kubernetes的原因主要有以下几点:
- **易部署运维**:K8s简化了Flink的部署和运维工作,使得集群管理更加便捷。
- **资源利用**:通过K8s的资源调度,能更好地优化Flink任务的资源利用率。
- **隔离安全**:K8s提供强大的资源隔离和安全性,确保不同任务间的互不影响。
京东的容器化进程经历了逐步演进:
- **2018年6月**:约20%的任务开始在K8s上运行。
- **2019年2月**:所有计算单元全面容器化,实现全部任务在K8s上的运行。
- **2021年及以后**:不断进行持续优化,提高资源效率和DevOps效率。
## 2. 生产实践
京东采用的是**静态模式**的容器化方案,即Flink Standalone on K8s。主要组件包括:
- **K8s客户端**:用于与K8s集群交互。
- **JRC平台**(京东实时计算平台):作为Flink作业的管理和调度中心。
- **K8s Master**:包括apiserver、controller manager和scheduler,负责整个集群的管理和调度。
- **K8s Deployment**:用于管理JobManager和TaskManager的Pod生命周期。
- **K8s Pod**:实际运行Flink JobManager和TaskManager的工作单元。
此外,Flink作业的输入输出可能涉及如**JDQ**、**Kafka**、**HDFS/OSS**、**MySQL**、**JimDB**等数据源和接收器。
## 3. 优化改进
优化主要集中在以下几个方面:
- **资源使用**:通过混合部署服务,实现了资源的有效共享,减少了30%的机器资源消耗。
- **DevOps效率**:提供了一致的开发、测试和生产环境,提升了自动化部署和运维能力,降低了50%的管理和运维成本。
- **业务稳定**:通过资源隔离和细粒度权限控制,增强了系统的弹性自愈能力,保障了业务的稳定性。
## 4. 未来规划
对于未来,京东可能会继续探索:
- 如何进一步提升K8s上的Flink性能。
- 扩大K8s的使用范围,可能包括更多类型的计算任务和服务。
- 探索更多资源优化策略,例如动态扩缩容,以应对业务波动。
京东的Flink on K8s实践展示了如何在大型企业中有效地整合实时计算和容器化技术,为大数据处理带来更高的效率和可靠性。这种模式对于其他寻求现代化大数据架构的企业也具有参考价值。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-04-29 上传
2023-07-21 上传
2019-07-17 上传
2023-09-01 上传
2022-03-18 上传
wukangjupingbb
- 粉丝: 187
- 资源: 406
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析