flink-1.17.2的单节点部署

flink 简介

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本地模式

flink-1.17.2的单节点部署_第1张图片

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/

flink-1.17.2的单节点部署_第2张图片

# 可以只执行上面这个,也可以加上下面的参数
/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

你可能感兴趣的:(Hadoop实战学习,flink,大数据)