ARM+麒麟大数据环境搭建:Flink

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
日志服务 SLS,月写入数据量 50GB 1个月
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: ARM+麒麟大数据环境搭建:Flink

第1章概述
1.1编写目的
暂无
1.2业务背景
暂无
第2章组件介绍
2.1组件介绍与架构说明
Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink设计为在所有常见的集群环境中运行,以内存速度和任何规模执行计算。
Apache Flink是一个分布式系统,需要计算资源才能执行应用程序。Flink与所有常见的集群资源管理器(如Hadoop YARN,Apache Mesos和Kubernetes)集成,但也可以设置为作为独立集群运行。
Flink流处理特性
支持高吞吐、低延迟、高性能的流处理
支持带有事件时间的窗口(Window)操作
支持有状态计算的Exactly-once语义
支持高度灵活的窗口(Window)操作,支持基于time、count、session,以及data-driven的窗口操作
支持具有Backpressure功能的持续流模型
支持基于轻量级分布式快照(Snapshot)实现的容错
一个运行时同时支持Batch on Streaming处理和Streaming处理
Flink在JVM内部实现了自己的内存管理
支持迭代计算
支持程序自动优化:避免特定情况下Shuffle、排序等昂贵操作,中间结果有必要进行缓存
2.2逻辑部署拓扑
Flink的部署一般有四种模式,分别是Standalone模式、Yarn Session-cluster模式、Yarn Per-Job-Cluster模式和Kubernetes 部署。
Standalone模式
让Flink不依赖Hadoop与K8s等计算平台,独立运行,此模式主要的问题是不能复用已有的大数据资源,会造成比较大的资源浪费。
Yarn Session-cluster模式:
Session-Cluster 模式需要先启动集群,然后再提交作业,接着会向 yarn 申请一块空间后,资源永远保持不变。如果资源满了,下一个作业就无法提交,只能等到 yarn 中的其中一个作业执行完成后,释放了资源,下个作业才会正常提交。所有作业共享 Dispatcher 和 ResourceManager;共享资源;适合规模小执行时间短的作业。此模式的主要问题是如果有一个有问题的Flink作业很可能会将找那个Yarn Cluster拖垮导致相关的其他作业也失败。
image.png

Yarn Per-Job-Cluster模式:
一个 Job 会对应一个集群,每提交一个作业会根据自身的情况,都会单独向 yarn 申请资源,直到作业执行完成,一个作业的失败与否并不会影响下一个作业的正常提交和运行。独享 Dispatcher 和 ResourceManager,按需接受资源申请;适合规模大长时间运行的作业。每次提交都会创建一个新的flink集群,任务之间互相独立,互不影响,方便管 理。任务执行完成之后创建的集群也会消失。本项目采用此种方法运行Flink程序。
image.png

Kubernetes 部署:
容器化部署时目前业界很流行的一项技术,基于 Docker 镜像运行能够让用户更 加方便地对应用进行管理和运维。容器管理工具中最为流行的就是 Kubernetes (k8s),而 Flink 也在最近的版本中支持了 k8s 部署模式。此种模式应该是Flink的最佳部署模式,但是由于目前尚未部署K8s环境,此种方法无法实施。
2.3物理部署拓扑
基于node1进行flink部署,之后基于Yarn Per-Job-Cluster模式利用Yarn的资源管理能力向yarn所管理的几点动态分发flink程序并运行。
2.4依赖环境
硬件:Phytium ARM CPU,银河麒麟v10 内核版本4.19.90-17 arm64 桌面版
JDK依赖:JDK 1.8
组件依赖:Hadoop
2.5界面效果
2.5.1Flink启动
image.png

2.5.2Flink日志
image.png

第3章部署步骤
Flink只需要在node1上安装
3.1部署配置
3.1.1安装包上传
将安装包上传至/opt/abd_env_soft
/opt/abd_env_soft/flink-1.14.2-bin-scala_2.11.tgz
3.1.2解压缩并重命名安装目录文件夹
gzip -dv flink-1.14.2-bin-scala_2.11.tgz
tar xvf flink-1.14.2-bin-scala_2.11.tar
mv flink-1.14.2 flink
3.1.3建立程序、日志文件夹与复制样例程序
在node1节点建立如下文件夹,分别用于存储程序与门户调用日志
mkdir /opt/flink_program/
mkdir /opt/flink_log/
cp /opt/abd_env_soft/flink/examples/streaming/SocketWindowWordCount.jar /opt/flink_program/SocketWindowWordCount.jar

3.1.4环境变量配置
vi ~/.bashrc
export JAVA_HOME=/opt/abd_env_soft/jdk
export HADOOP_HOME=/opt/abd_env_soft/hadoop
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
image.png

3.1.5建立常用命令软连接
为了方便程序运行,需要对常用命令建立软连接
ln -s /opt/abd_env_soft/hadoop/bin/yarn /usr/bin/yarn
ln -s /opt/abd_env_soft/flink/bin/flink /usr/bin/flink
ln -s /opt/abd_env_soft/hadoop/bin/hadoop /usr/bin/hadoop

3.1.6检查hadoop classpath执行结果
直接在命令行输入如下命令
hadoop classpath

image.png

3.2程序启动
3.2.1命令行Yarn(Per-Job-Cluster)启动Flink
启动一个临时监听端口
nc -l 9010
启动Flink程序
export HADOOP_CLASSPATH=hadoop classpath
flink run -m yarn-cluster /opt/abd_env_soft/flink/examples/streaming/SocketWindowWordCount.jar --hostname 192.168.11.110 --port 9010
3.2.2验证Flink
通过yarn查看其执行结果,访问yarn管理控制台
http://192.168.11.115:8088
注意如flink控制台无法显示请将修改生成URL的域名,正式环境需要修改host文件

image.png

image.png
image.png

第4章常见操作
4.1命令行Yarn(Per-Job-Cluster)模式启动Flink
export HADOOP_CLASSPATH=hadoop classpath
flink run -m yarn-cluster /opt/abd_env_soft/flink/examples/streaming/SocketWindowWordCount.jar --hostname 192.168.11.110 --port 9010

image.png

4.2命令行Yarn(Per-Job-Cluster)模式关闭Flink
yarn application -kill 【yarn job id】
image.png

4.5Yarn作业任务检查
通过yarn查看其执行结果,访问yarn管理控制台
http://192.168.11.115:8088
image.png

4.6日志查看命令
Flink运行的日志需要通过Yarn控制台来查看
http://192.168.11.115:8088

image.png

image.png

4.7健康检查方法
Flink的验证必须使其运行起来,可以使用3.2章节的SocketWindowWordCount.jar进行验证与检查

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
21天前
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
56 2
ClickHouse与大数据生态集成:Spark & Flink 实战
|
1月前
|
分布式计算 监控 大数据
大数据-131 - Flink CEP 案例:检测交易活跃用户、超时未交付
大数据-131 - Flink CEP 案例:检测交易活跃用户、超时未交付
66 0
|
22天前
|
分布式计算 大数据 OLAP
AnalyticDB与大数据生态集成:Spark & Flink
【10月更文挑战第25天】在大数据时代,实时数据处理和分析变得越来越重要。AnalyticDB(ADB)是阿里云推出的一款完全托管的实时数据仓库服务,支持PB级数据的实时分析。为了充分发挥AnalyticDB的潜力,将其与大数据处理工具如Apache Spark和Apache Flink集成是非常必要的。本文将从我个人的角度出发,分享如何将AnalyticDB与Spark和Flink集成,构建端到端的大数据处理流水线,实现数据的实时分析和处理。
51 1
zdl
|
8天前
|
消息中间件 运维 大数据
大数据实时计算产品的对比测评:实时计算Flink版 VS 自建Flink集群
本文介绍了实时计算Flink版与自建Flink集群的对比,涵盖部署成本、性能表现、易用性和企业级能力等方面。实时计算Flink版作为全托管服务,显著降低了运维成本,提供了强大的集成能力和弹性扩展,特别适合中小型团队和业务波动大的场景。文中还提出了改进建议,并探讨了与其他产品的联动可能性。总结指出,实时计算Flink版在简化运维、降低成本和提升易用性方面表现出色,是大数据实时计算的优选方案。
zdl
34 0
|
1月前
|
分布式计算 监控 大数据
大数据-148 Apache Kudu 从 Flink 下沉数据到 Kudu
大数据-148 Apache Kudu 从 Flink 下沉数据到 Kudu
57 1
|
1月前
|
消息中间件 分布式计算 Kafka
大数据平台的毕业设计02:Spark与实时计算
大数据平台的毕业设计02:Spark与实时计算
|
1月前
|
SQL 运维 大数据
大数据实时计算产品的对比测评
在使用多种Flink实时计算产品后,我发现Flink凭借其流批一体的优势,在实时数据处理领域表现出色。它不仅支持复杂的窗口机制与事件时间处理,还具备高效的数据吞吐能力和精准的状态管理,确保数据处理既快又准。此外,Flink提供了多样化的编程接口和运维工具,简化了开发流程,但在界面友好度上还有提升空间。针对企业级应用,Flink展现了高可用性和安全性,不过价格因素可能影响小型企业的采纳决策。未来可进一步优化文档和自动化调优工具,以提升用户体验。
122 0
|
1月前
|
SQL 大数据 API
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
46 0
|
1月前
|
编解码 弹性计算 应用服务中间件
阿里云服务器Arm计算架构解析:Arm计算架构云服务器租用收费标准价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中Arm计算架构以其低功耗、高效率的特点受到广泛关注。本文将深入解析阿里云Arm计算架构云服务器的技术特点、适用场景以及包年包月与按量付费的收费标准与最新活动价格情况,以供选择参考。
|
1月前
|
存储 Docker 容器
ARM架构鲲鹏主机BClinux离线安装docker步骤
下载并安装适用于ARM架构的Docker CE二进制文件,解压后移动至/usr/bin目录。创建docker组,配置systemd服务脚本(docker.service、docker.socket、containerd.service),重载systemd配置,启动并启用docker服务。编辑daemon.json配置存储驱动、镜像加速地址等,最后拉取所需镜像。
46 0
下一篇
无影云桌面