Flink(四)Standalone 模式部署 Flink 集群实践

版本:Flink 1.13.2 - 2021-08-02

Standalone 独立模式的集群:

Standalone 独立模式的 Flink 集群不支持 Per-Job Mode 作业模式。

部署前期准备:

  • 四台虚拟机(一个 master,三个 worker,集群节点之间最好可以免密登录)
    192.168.116.10
    192.168.116.11
    192.168.116.12
    192.168.116.13
  • jdk环境 :
  • 下载 flink 二进制包:flink-1.13.2-bin-scala_2.12.tgz
Session Mode 作业模式

将压缩包分别解压到四台机器的相同路径下:
在这里插入图片描述
在master节点修改配置文件 (flink 的配置文件都在 ./flink-1.13.2/conf/ 目录下,所有 cd 到 conf 目录下)

  1. 集群节点配置:

    在解压目录 flink-1.13.2/conf 中有两个配置文件配置集群的 master 和 worker

    vi masters

    #添加master节点 IP:PORT,也就是 Flink Web 页面的服务地址 
    192.168.116.10:8081
    

    vi workers

    #添加 worker 节点 IP 地址,一行一个,也就是将要部署 TaskManager 的节点 
    192.168.116.11
    192.168.116.12
    192.168.116.13
    
  2. 修改master节点关于Flink运行时环境的配置
    vi flink-conf.yaml

    几个重要的配置:

    jobmanager.rpc.address: 192.168.116.10
    指向 master 节点 jobmanager
    jobmanager.rpc.port: 6123
    master 节点 jobmanager 的访问端口
    jobmanager.memory.process.size
    每个 JobManager 进程的可用内存值
    taskmanager.memory.process.size
    每个 TaskManager 进程的可用内存值
    taskmanager.numberOfTaskSlots
    每台 taskmanager 机器的可用 Slot 数,一般配置为 宿主机的 CPU 这样可以避免 Slot 之间抢占 cpu 资源
    parallelism.default
    默认并行度,只有在没有指定任务并行度时才生效
    classloader.resolve-order
    The classloading resolve order. Possible values are ‘child-first’ (Flink’s default) and ‘parent-first’ (Java’s default).
    意思就是 Java 默认用 parent-first ,如果使用 Flink 默认的 child-first ,在提交 java 作业时任务会启动不起来

    其他配置可以看注释。配置完成后同步到其他节点,如果需要针对特定的 TaskMavager 配置不一样的参数,可以在对应节点的配置文件中重写这些配置。

启动集群

./bin/start-cluster.sh

因为没有配置 ssh 免密登录,所以在地洞TaskMavager时需要输入其他主机的密码:
在这里插入图片描述
英文都是 Java 程序,所可以用 jps 命令产看各个节点启动的进程:
在这里插入图片描述
访问 JobMavager 的 Web 页面:192.168.116.10:8081 (注意防火墙策略)
在这里插入图片描述

提交作业测试集群

准备一个 Flink 程序,这里使用之前文章中写的一个 WordCount 程序:
参考地址:Flink (二)经典用例 WordCount 之实时流处理和批处理实验

也可以直接下载我打好的 jar 包
该 jar 包中有两个可执行程序,本文后面使用无界流数据处理程序测试,另一个的详细参考之前的文章。

如果要测试无界流数据处理,需要在一台虚拟机上利用 nc -lk 9999 开一个 socket 用来实时的输入数据流

在 master 节点开启 9999 端口的监听,在 192.168.116.10 上执行:nc -lk 9999

通过web页面提交作业:
在这里插入图片描述
在这里插入图片描述

相关参数
入口类(Entry Class):org.flink.study.practice01.StreamWordCount
程序启动参数(Program Arguments):--isNetcat true --host 192.168.116.10 --port 9999

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

独立模式部署也可以借助 Docker 或者 K8s,这里使用虚拟机直接搭建,方便之后学习 Flink 的相关特性。

Application Mode 作业模式

参考官网的例子:

# 在 master 节点 flink 的根目录下执行,通过启动 Application 来启动 JobManager
cp ./examples/streaming/TopSpeedWindowing.jar lib/
./bin/standalone-job.sh start --job-classname org.apache.flink.streaming.examples.windowing.TopSpeedWindowing

# 在 worker 节点 flink 的根目录下执行,启动TaskMavager
$ ./bin/taskmanager.sh start
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值