flink-1.17.2的单节点部署

Apache Flink 是一个开源的流处理和批处理框架,用于大数据处理和分析。它旨在以实时和批处理模式高效处理大量数据。Flink 支持事件时间处理、精确一次语义、有状态计算等关键功能。

以下是与Apache Flink相关的一些主要特性和概念:

  1. 流处理和批处理:

    • 流处理: Flink 支持流处理,允许您实时处理数据。
    • 批处理: Flink 也支持批处理,以分布式和容错的方式处理大量数据。
  2. 事件时间处理:

    • Flink 允许根据实际发生时间而不是到达时间来处理事件,对于准确和有意义的事件数据分析至关重要。
  3. 精确一次语义:

    • Flink 支持精确一次处理语义,确保每个事件仅被处理一次,即使发生故障也不会丢失数据完整性。
  4. 有状态计算:

    • Flink 支持有状态应用程序的开发,允许您跨事件和时间保留和更新状态。这对于需要在一段时间内记住和聚合信息的场景非常重要。
  5. 容错性:

    • Flink 设计为容错的,提供从故障中恢复而不丢失数据完整性的机制。
  6. 丰富的 API 集:

    • Flink 提供了 Java、Scala 和 Python 的 API,使其适用于各种开发人员。API 包括用于批处理的 DataSet API 和用于流处理的 DataStream API。
  7. 库和连接器:

    • Flink 配备了多个库和连接器,用于常见用例,如 FlinkML 用于机器学习、Flink Gelly 用于图处理,以及与 Apache Kafka、Apache Hadoop 等的连接器。
  8. 社区和生态系统:

    • Flink 拥有充满活力的开源社区,是 Apache Software Foundation 的一部分。它具有由社区开发的扩展和工具的不断增长的生态系统。
  9. 动态扩展:

    • Flink 支持动态扩展,允许您在运行时调整操作符的并行实例数以适应变化的工作负载。
  10. 兼容性:

    • Flink 可在各种集群管理器上运行,包括 Apache Mesos、Apache Hadoop YARN 和 Kubernetes。它还与其他大数据技术集成。

总体而言,Apache Flink 是构建实时和批处理数据处理应用程序的强大而灵活的框架,适用于大数据领域的各种用例。

1.Local本地模式

1.1 原理

主节点JobManager(Master)和从节点TaskManager(Slave)在一台机器上模拟

  1. Flink程序由JobClient进行提交

  2. JobClient将任务提交给JobManager

  3. JobManager只负责协调分配资源和分发任务,资源分配完成后将任务提交给相应的TaskManager

  4. TaskManager启动一个线程开始执行任务,TaskManager会向JobManager报告状态的变更, 例如:开始执行、正在执行、执行完成

  5. 作业执行完成后,结果将发送回客户端(JobClient)

1.2 安装

复制代码
yum install java-1.8.0-openjdk.x86_64
yum install -y  java-1.8.0-openjdk-devel

wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.17.2/flink-1.17.2-bin-scala_2.12.tgz

mkdir -p /opt/flink
tar -zxvf flink-1.17.2-bin-scala_2.12.tgz -C /opt/flink 

1.3 测试

复制代码
/opt/flink/flink-1.17.2/bin/stop-cluster.sh
/opt/flink/flink-1.17.2/bin/start-cluster.sh 

访问http://10.6.8.227:8081/
复制代码
# 可以只执行上面这个,也可以加上下面的参数
/opt/flink/flink-1.17.2/bin/flink run /opt/flink/flink-1.17.2/examples/batch/WordCount.jar  --input /root/words.txt  --output /root/out

停止Flink:
/opt/flink/flink-1.17.2/bin/stop-cluster.sh
相关推荐
TDengine (老段)32 分钟前
TDengine 选择函数 Max() 用户手册
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
乐迪信息43 分钟前
乐迪信息:AI摄像机在智慧煤矿人员安全与行为识别中的技术应用
大数据·人工智能·算法·安全·视觉检测
万邦科技Lafite3 小时前
实战演练:通过API获取商品详情并展示
大数据·数据库·python·开放api接口
在未来等你3 小时前
Elasticsearch面试精讲 Day 14:数据写入与刷新机制
大数据·分布式·elasticsearch·搜索引擎·面试
黄焖鸡能干四碗4 小时前
智慧教育,智慧校园,智慧安防学校建设解决方案(PPT+WORD)
java·大数据·开发语言·数据库·人工智能
phac1234 小时前
git 如何直接拉去远程仓库的内容且忽略本地与远端不一致的commit
大数据·git·elasticsearch
在未来等你4 小时前
Elasticsearch面试精讲 Day 11:索引模板与动态映射
大数据·分布式·elasticsearch·搜索引擎·面试
正在走向自律4 小时前
国产时序数据库选型指南-从大数据视角看透的价值
大数据·数据库·清华大学·时序数据库·iotdb·国产数据库
在未来等你4 小时前
Kafka面试精讲 Day 14:集群扩容与数据迁移
大数据·分布式·面试·kafka·消息队列
哥哥还在IT中5 小时前
Elasticsearch优化从入门到精通
大数据·elasticsearch·搜索引擎