返回介绍

独立群集

发布于 2025-05-02 18:19:18 字数 3214 浏览 0 评论 0 收藏

此页面提供有关如何在 静态 (但可能是异构)群集上以 完全分布式方式 运行 Flink 的说明。

要求

软件要求

Flink 可在所有 类 UNIX 环境中运行 ,例如 LinuxMac OS XCygwin (适用于 Windows),并期望群集由 一个主节点一个或多个工作节点组成 。在开始设置系统之前,请确保 在每个节点上 安装了以下软件:

  • Java 1.8.x 或更高版本,
  • ssh (必须运行 sshd 才能使用管理远程组件的 Flink 脚本)

如果您的群集不满足这些软件要求,则需要安装/升级它。

在所有群集节点上使用无 密码 SSH相同的目录结构 将允许您使用我们的脚本来控制所有内容。

JAVA_HOME 配置

Flink 要求在 JAVA_HOME 主节点和所有工作节点上设置环境变量,并指向 Java 安装的目录。

您可以 conf/flink-conf.yaml 通过 env.java.home 键设置此变量。

Flink 设置

转到 下载页面 并获取可立即运行的包。确保选择 与您的 Hadoop 版本匹配 的 Flink 包。如果您不打算使用 Hadoop,请选择任何版本。

下载最新版本后,将存档复制到主节点并解压缩:

tar xzf flink-*.tgz
cd flink-*

配置 Flink

解压缩系统文件后,需要通过编辑 conf / flink-conf.yaml 为集群配置 Flink 。

jobmanager.rpc.address Keys 设置为指向主节点。您还应该通过设置 jobmanager.heap.mbtaskmanager.heap.mb 键来定义允许 JVM 在每个节点上分配的最大主内存量。

这些值以 MB 为单位。如果某些工作节点有更多主内存要分配给 Flink 系统,则可以通过 FLINK_TM_HEAP 在这些特定节点上设置环境变量来覆盖默认值。

最后,您必须提供集群中所有节点的列表,这些节点将用作工作节点。因此,与 HDFS 配置类似,编辑文件 conf / slaves 并输入每个工作节点的 IP /主机名。每个工作节点稍后将运行 TaskManager。

以下示例说明了具有三个节点(IP 地址从 10.0.0.1 到 10.0.0.3 以及主机名 master , worker1 , worker2 )的设置,并显示了配置文件的内容(需要在所有计算机上的相同路径上访问) ):

/ path / to / flink / conf / flink-conf.yaml

jobmanager.rpc.address:10.0.0.1

/ path / to / flink / conf / slaves

10.0.0.2
10.0.0.3

Flink 目录必须在同一路径下的每个 worker 上都可用。您可以使用共享 NFS 目录,也可以将整个 Flink 目录复制到每个工作节点。

有关详细信息和其他配置选项,请参阅 配置页面

尤其是,

  • 每个 JobManager( jobmanager.heap.mb )的可用内存量,
  • 每个 TaskManager( taskmanager.heap.mb )的可用内存量,
  • 每台机器的可用 CPU 数量( taskmanager.numberOfTaskSlots ),
  • 集群中的 CPU 总数( parallelism.default )和
  • 临时目录( taskmanager.tmp.dirs

是非常重要的配置值。

启动 Flink

以下脚本在本地节点上启动 JobManager,并通过 SSH 连接到 从属 文件中列出的所有工作节点,以在每个节点上启动 TaskManager。现在您的 Flink 系统已启动并正在运行。在本地节点上运行的 JobManager 现在将接受配置的 RPC 端口上的作业。

假设您在主节点上并在 Flink 目录中:

bin/start-cluster.sh

要停止 Flink,还有一个 stop-cluster.sh 脚本。

将 JobManager / TaskManager 实例添加到群集

您可以使用 bin/jobmanager.shbin/taskmanager.sh 脚本将 JobManager 和 TaskManager 实例添加到正在运行的集群中。

添加 JobManager

bin/jobmanager.sh ((start|start-foreground) cluster)|stop|stop-all

添加 TaskManager

bin/taskmanager.sh start|start-foreground|stop|stop-all

确保在要启动/停止相应实例的主机上调用这些脚本。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。