---
title: 安装Flink
description: "在物理机上部署并配置Flink，使其能够运行在多个Docker容器中，以便后续可以提交并运行Flink作业。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2530/bds/kunpengbds_omniruntime_20_0913.html
sourcePath: /source/zh/kunpengboostkithistory/2530/bds/kunpengbds_omniruntime_20_0913.html
indexId: 0eb7103412cb6efc4e33c01b0811351a506d8a2e47e88addb35bd1e70930a78a78
---
# 安装Flink

在物理机上部署并配置Flink，使其能够运行在多个Docker容器中，以便后续可以提交并运行Flink作业。

1. 进入物理机的“/usr/local”目录并下载Flink软件部署包。
  1 2 cd /usr/local wget --no-check-certificate https://archive.apache.org/dist/flink/flink-1.16.3/flink-1.16.3-bin-scala_2.12.tgz

  flink-1.16.3-bin-scala_2.12.tgz为Flink软件包名称，如果使用的是其他版本的Flink，请根据实际情况修改。

2. 到“/usr/local”目录解压flink-1.16.3-bin-scala_2.12.tgz，建立软链接，便于后期版本更换。
  1 2 3 tar -zxvf flink-1.16.3-bin-scala_2.12.tgz chown -R root:root flink-1.16.3 ln -s flink-1.16.3 flink

  flink-1.16.3为Flink软件目录名称，如果使用的是其他版本的Flink，请根据实际情况修改。

3. 配置Flink的masters和workers文件。

  a. 打开“/usr/local/flink/conf/masters”文件。
    1 vi /usr/local/flink/conf/masters

  b. 按“i”进入编辑模式，将masters内容修改为容器flink_jm_8c32g的容器ID:8081，例如：

```
4a376b30106b:8081
```


  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
  d. 打开“/usr/local/flink/conf/workers”文件。
    1 vi /usr/local/flink/conf/workers

  e. 按“i”进入编辑模式，将workers内容修改为flink_tm1_8c32g、flink_tm2_8c32g容器的容器ID，例如（2个Docker容器，每个Docker 4个Task Manager配置）：
    1 2 3 4 5 6 7 8 c3ddf10d0353 c3ddf10d0353 c3ddf10d0353 c3ddf10d0353 c3bbdbcc1ae1 c3bbdbcc1ae1 c3bbdbcc1ae1 c3bbdbcc1ae1

  f. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
  g. 打开“/usr/local/flink/conf/flink-conf.yaml”文件。
    1 vi /usr/local/flink/conf/flink-conf.yaml

  h. 按“i”进入编辑模式，替换为如下配置，并将jobmanager.rpc.address修改为容器flink_jm_8c32g的容器ID，建议配置的slot总数大于并行度，例如：

```
taskmanager.memory.process.size: 8G
jobmanager.rpc.address: 4a376b30106b
jobmanager.rpc.port: 6123
jobmanager.memory.process.size: 8G
taskmanager.memory.process.size: 8G
taskmanager.numberOfTaskSlots: 2
parallelism.default: 16
rest.port: 8081
rest.bind-port: 8081
io.tmp.dirs: /tmp
#pipeline.operator-chaining: true
#execution:runtime-mode: STREAMING
#jobmanager.execution.failover-strategy: region
#table.optimizer.agg-phase-strategy: ONE_PHASE
#pipeline.object-reuse: true
#==============================================================================
# JVM
#==============================================================================
# JVM options for GC
#env.java.opts: -verbose:gc -XX:NewRatio=3 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:ParallelGCThreads=4
```


  i. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
