目录

Flink-1.17.2-集群安装部署

Flink 1.17.2 集群安装部署

Flink集群的安装

    1. 集群规划
IphostServerNote
192.168.10.101node01jobManager、TaskManagerRunner老大和小弟服务
192.168.10.102node02TaskManagerRunner小弟
192.168.10.103node03TaskManagerRunner小弟

注意:本次使用jdk-1.8.0_331和Centos 7.7,经测试jdk11 、jdk1.8.0_362和Centos 9均可使用。

  1. 下载Flink的安装包( )

  2. 上传安装包(flink-1.17.2-bin-scala_2.12.tgz)到/home

  3. 解压安装包到/usr/local

        [root@node01 ~]# tar -zxvf /home/flink-1.17.2-bin-scala_2.12.tgz -C /usr/local/

  1. 配置环境变量
[root@node01 ~]# vi /etc/profile
#文件末尾追加如下内容
#flink env
export FLINK_HOME=/usr/local/flink-1.17.2
export PATH=$PATH:$FLINK_HOME/bin:
  1. 配置flink的masters配置文件

        [root@node01 flink-1.17.2]# vi /usr/local/flink-1.17.2/conf/masters

        node01:8081

  1. 配置flink的workers配置文件

        [root@node01 flink-1.17.2]# vi /usr/local/flink-1.17.2/conf/workers

        node01

        node02

        node03

  1. 配置flink的flink-conf.yaml配置文件

        [root@node01 flink-1.17.2]# vi /usr/local/flink-1.17.2/conf/flink-conf.yaml

        jobmanager.rpc.address: node01

        jobmanager.bind-host: 0.0.0.0

        taskmanager.bind-host: 0.0.0.0

        taskmanager.host: node01

        taskmanager.numberOfTaskSlots: 3

        rest.address: node01

        rest.bind-address: 0.0.0.0

  1. 分发flink集群到node02和node03

        [root@node01 flink-1.17.2]# scp -r /usr/local/flink-1.17.2/ node02:/usr/local/

        [root@node01 flink-1.17.2]# scp -r /usr/local/flink-1.17.2/ node03:/usr/local/

  1. 在node02和node03上修改flink-conf.yaml文件内容

 #node02修改

        [root@node02 flink-1.17.2]# vi /usr/local/flink-1.17.2/conf/flink-conf.yaml

        taskmanager.host: node02

#node03修改

        [root@node03 flink-1.17.2]# vi /usr/local/flink-1.17.2/conf/flink-conf.yaml

        taskmanager.host: node03

  1. 在node02和node03上配置环境变量

#分发

[root@node01 flink-1.17.2]# scp /etc/profile node02:/etc/
[root@node01 flink-1.17.2]# scp /etc/profile node03:/etc/

#在node02上刷新和验证

https://i-blog.csdnimg.cn/direct/78bd316d95ba4aee8c59582b164b0fde.png

#在node03上刷新和验证

https://i-blog.csdnimg.cn/direct/b9f7fbe3bdb94513a0b6baeb350d4326.png

  1. 在node01上启动flink集群
 [root@node01 flink-1.17.2]# start-cluster.sh

 #查看进程服务

[root@node01 flink-1.17.2]# jps
11271 Jps
11149 TaskManagerRunner
10815 StandaloneSessionClusterEntrypoint
[root@node02 ~]# jps
4821 TaskManagerRunner
4893 Jps
[root@node03 ~]# jps
4903 Jps
4826 TaskManagerRunner
  1. 查看flink的Web UI

地址:

https://i-blog.csdnimg.cn/direct/e490b393a40d400c9ed0be171138c3ec.png

  1. 运行flink自带流式案例测试
#安装nc服务
[root@node01 flink-1.17.2]# yum -y install nc

#开启6666端口监听
[root@node01 flink-1.17.2]# nc -lk 6666

#在开启一个新的回话窗口提交作业
[root@node01 ~]# flink run /usr/local/flink-1.17.2/examples/streaming/SocketWindowWordCount.jar --hostname node01 --port 6666

https://i-blog.csdnimg.cn/direct/aa04d86e2af944d2b8693137a484668f.png

#查看web ui

https://i-blog.csdnimg.cn/direct/2539b561b1604b5eb6934fe3f5408f30.png

#先在nc监听的端口输入数据

https://i-blog.csdnimg.cn/direct/4c983a35f4884e84aef0ac3e6cedb750.png

#查看实时的结果

[root@node01 ~]# tail -f /usr/local/flink-1.17.2/log/flink-root-taskexecutor-*-node01.out
nihao : 1
flink : 1
hello : 1
hi : 1
hello : 1
hi : 2
hi : 1
hello : 1
  1. 批次作业提交测试
#创建数据集
[root@node01 flink-1.17.2]# vi /home/words.txt
hi hello
flink hi this
shi
dfs
dfs
ni hao
hi hi
hi hi
hello
filn
Flink

#运行flink批次程序

[root@node01 flink-1.17.2]# flink run /usr/local/flink-1.17.2/examples/batch/WordCount.jar --input /home/words.txt --output /home/wc

https://i-blog.csdnimg.cn/direct/2936f6e473d74fb1a7aeac4be136185b.png

#查看批次结果

https://i-blog.csdnimg.cn/direct/da7fe4e8c8ea465eb2f64ae5c331f0ba.png

到此为止,Flink 1.17.2 简单的Standalone集群及测试完成!!!