0


FLINK的部署

1、服务器部署

主机名配置(集群服务器,执行相同操作)

登录root用户

执行

vi /etc/hosts

将集群服务器中所有的IP地址进行配置,例如:

192.168.0.1 appserver1

192.168.0.2 appserver2

备注:部署集群时一定注意集群服务器的IP顺序一定是:

192.168.0.1 appserver1 在前

192.168.0.2 appserver2 在后

不然配置完成后,只能启动顺序正确的服务器。

执行

vi /etc.sysconfig/network

将当前主机名进行配置,例如:

当前主机名是:appserver1

HOSTNAME=appserver1

2、创建flink用户

groupadd -g 500 flink

useradd -d /home/flink -s /bin/bash -g flink -u 500 -m flink

passswd flink

创建一个用户名密码都为flink的用户。

3、将集群服务器进行SSH免密配置

登录flink用户

ssh-keygen -t rsa (回车四次)

cd ~/.ssh 查看id_rsa(私钥)和id_pub(公钥)

上述操作,在每一个flink集群服务器全部操作一遍

每一台服务器,执行:

ssh-copy-id 192.168.0.2 (集群内其他服务器的IP地址)

尝试免密登录 ssh 目标IP地址

4、部署安装包

可以在flink官网上下载

在Apache Flink: Downloadshttps://flink.apache.org/downloads.html

下载spring、ojdbc、durid、mysql-connector所需要的第三方扩展jar

将下载的flink-1.11.6-bin-scala_2.12.tar文件上传至服务器

通过FTP工具上传文件

上传至/home/flink文件夹下

解压下载的flink压缩包解压命令

tar -zxvf flink-1.11.6-bin-scala_2.12.tar

创建临时目录

登录flink用户后,创建存放JOB的临时文件目录和临时文件目录tmp

mkidr jobs

mkdir tmp

4、standlone部署

修改flink-conf.yaml

路径:/home/flink/flinkflink-1.11.6-bin-scala_2.12/conf

打开配置文件

vi flink-conf.yaml

按照下面参数进行配置:

  1. #配置主机名(JOBMANAGER的主机名,例如:appserver1,即appserver1 为主节点)
  2. jobmanager.rpc.address: appserver1
  3. #RPC端口(默认不改变)
  4. jobmanager.rpc.port: 6123
  5. #REST端口(console控制台与微服务调用时访问的端口)
  6. rest.port:8081
  7. #taskmanager所能提供的slots数量,一般设置成和机器逻辑CPU核数一致
  8. #供参考:cat /proc/cpuinfo|grep "processor"| wc -1
  9. taskmanager.number0fTaskSlots: 16
  10. #默认任务并行度
  11. parallelism.default: 4
  12. #上传jar文件所在临时目录 默认在/tmp会被系统定时清理
  13. io.tmp.dirs: /home/flink/flinkflink-1.11.6-bin-scala_2.12/jobs
  14. #参数调度,调度Task时均匀调度内个 TaskManager 中,这有利于使用所有的资源
  15. cluster.evenly-spread-out-slots:true
  16. #默认全局重试,需打开region 重试才能enable 单点的failover
  17. jobmanager.execution.failover-strategy:region
  18. #重试策略需要手动设置,默认是不重试的
  19. restar-startegay:fixed-delay
  20. #Shuffle read 使用 mmap 的方式,直接靠系统来管理内存,是比较方便的形式
  21. taskmanager.network.blocking-shffle.type: mmap
  22. #使用压缩,这个参数是批流复用的,强烈建议给批作业开启压缩,不然瓶颈就会在磁盘上
  23. taskmanager.network.blocking-shffle.comression.enabled: true
  24. #JOB管理JVM堆内存 jobmanager.heap.size: 4096m (1.11版本后已经废弃,需要删除或者注释)
  25. jobmanager.memory.flink.size: 2048m(standlone模式启用)
  26. #TASK管理器JVM堆内存的总大小(包括堆内内存与托管内存)flink总内存
  27. taskmanager.memory.flink.size: 4096m(standlone模式启用)
  28. #托管内存(批处理排序需要使用,size与fraction二选一)
  29. taskmanager.memory.managed.size:2024m(明确托管内存大小)
  30. taskmanager.memory.managed.fraction 0.4(托管内存占flink总内存数量)
  31. #Task点到点的通信需要4个Buffers,根据并发大概计算得出需要2GB
  32. taskmanager.memory.network.max: 2000m

修改masters

  1. 配置Jobmanager服务器

如果appserver1 服务器作为flink的Jobmanager服务器,配置如下:

  1. 路径:/home/flink/flinkflink-1.11.6-bin-scala_2.12/conf

vi masters

#添加一下内容:

appserver1

修改slaves

配置taskmanager服务器列表

路径:/home/flink/flinkflink-1.11.6-bin-scala_2.12/conf

vi slaves

#添加一下内容:

appserver1

appserver2

工程复制

Standlone集群下,为保证所有的节点下flink配置相同,采用复制的方式,从已经配置好的服务器,向其他集群服务器进行复制同步。

例如:appserver1 向appserver2 服务器同步

scp -r /home/flink/flinkflink-1.11.6-bin-scala_2.12 appserver2:/home/flink

启动flink

可以在集群下任意系统上启动

在/home/flink/flinkflink-1.11.6-bin-scala_2.12/bin

./start-cluster.sh

检查启动情况

jps

检查是否存在StandaloneSessionClusterEntrypoint和TaskManagerRunner

在其他服务器上

jps

检查是否存在TaskManagerRunner

停止flink

可以在任意系统上启动

./stop-cluster.sh

标签: flink 服务器 p2p

本文转载自: https://blog.csdn.net/m0_46579128/article/details/123186077
版权归原作者 是谁在轮椅上飞行?是我! 所有, 如有侵权,请联系我们删除。

“FLINK的部署”的评论:

还没有评论