欢迎光临
我们一直在努力

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官网上下载

下载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

按照下面参数进行配置:

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

修改masters

配置Jobmanager服务器

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

路径:/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

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:FLINK的部署
文章链接:https://www.jmwz.net/1230.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址