智能建站公司,工作室网站建设,北京王府井步行街,安徽房和城乡建设部网站集群角色
Flik提交作业和执行任务#xff0c;需要几个关键组件#xff1a; 客户端(Client)#xff1a;代码由客户端获取并做转换#xff0c;之后提交给JobManger JobManager#xff1a;就是Fink集群里的“管事人”#xff0c;对作业进行中央调度管理#xff1b;而它获…集群角色
Flik提交作业和执行任务需要几个关键组件 客户端(Client)代码由客户端获取并做转换之后提交给JobManger JobManager就是Fink集群里的“管事人”对作业进行中央调度管理而它获取到要执行的作业后会进一步处理转换然后分发任务给众多的TaskManager。 TaskManager就是真正“干活的人”数据的处理操作都是它们来做的。
Flink 运行时由两种类型的进程组成一个 JobManager 和一个或者多个 TaskManager。 安装部署
开两台虚拟机部署部署Flink之前虚拟机自行安装JDK环境Flink运行依赖JDK。
节点服务器192.168.197.130192.168.197.131角色JobManager TaskManagerTaskManager
1下载并解压安装包
(1下载安装包 flink-1.17.0-bin-scala_2.12.tgz将该 文件上传到/home/likelong/Desktop/software
(2解压
tar -zxvf flink-1.17.0-binscala_2.12.tgz2修改集群配置
1 进 入 conf 路 径 修 改 flink-conf.yaml 文 件 指定 192.168.197.130 节点服务器为JobManager
修改如下内容
# JobManager 节点地址.
jobmanager.rpc.address: 192.168.197.130
jobmanager.bind-host: 0.0.0.0
rest.address: 192.168.197.130
rest.bind-address: 0.0.0.0
# TaskManager 节点地址.需要配置为当前机器名
taskmanager.bind-host: 0.0.0.0
taskmanager.host: 192.168.197.1302修改 workers 文件指定 192.168.197.130 和 192.168.197.131 为TaskManager
[likelonglocalhost conf]$ vim workers 修改如下内容
192.168.197.130
192.168.197.1313修改 masters 文件
[likelonglocalhost conf]$ vim masters修改如下内容
192.168.197.130:80814另外可以在 flink-conf.yaml 文件中还可以对集群中的 JobManager 和TaskManager 组件进行优化配置主要配置项如下
jobmanager.memory.process.size对 JobManager 进程可使用到的全部内存进行配置包括 JVM 元空间和其他开销默认为 1600M可以根据集群规模进行适当调整。taskmanager.memory.process.size对 TaskManager 进程可使用到的全部内存进行配置包括 JVM 元空间和其他开销默认为 1728M可以根据集群规模进行适当调整。taskmanager.numberOfTaskSlots对每个 TaskManager 能够分配的Slot 数量进行配置默认为 1可根据 TaskManager 所在的机器能够提供给Flink 的CPU数量决定。所谓 Slot 就是 TaskManager 中具体运行一个任务所分配的计算资源。parallelism.defaultFlink 任务执行的并行度默认为1。优先级低于代码中进行的并行度配置和任务提交时使用参数指定的并行度数量。
3分发安装目录
1将整个修改好的 Flink 解压目录使用 scp 远程拷贝命令发送到从节点
scp -r /home/likelong/Desktop/software/flink-1.17.0 192.168.197.131:/home/likelong/Desktop/software2修改 192.168.197.131 的 taskmanager.host
vim flink-conf.yaml 修改如下内容
# TaskManager 节点地址.需要配置为当前机器名
taskmanager.host: 192.168.197.1314启动集群
1在 192.168.197.130 节点服务器上执行 start-cluster.sh 启动Flink 集群
bin/start-cluster.sh2查看进程情况
[rootlocalhost bin]# jps -l5访问 Web UI
开放8081端口
sudo firewall-cmd --zonepublic --add-port8081/tcp --permanent
sudo firewall-cmd --reload启动成功后同样可以访问 http://192.168.197.130:8081 对 flink 集群和任务进行监控管理。 可以看到当前集群的 TaskManager 数量为 2由于默认每个TaskManager的Slot 数量为 1所以总 Slot 数和可用 Slot 数都为 2。
向集群提交作业
1环境准备
目标主机运行程序
nc -lk 77772程序打包
pom.xml 文件中添加打包插件的配置 buildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-shade-plugin/artifactIdversion3.2.4/versionexecutionsexecutionphasepackage/phasegoalsgoalshade/goal/goalsconfigurationartifactSetexcludesexcludecom.google.code.findbugs:jsr305/excludeexcludeorg.slf4j:*/excludeexcludelog4j:*/exclude/excludes/artifactSetfiltersfilter!-- Do not copy the signaturesinthe META-INF folder.Otherwise, this mightcauseSecurityExceptions when using the JAR. --artifact*:*/artifactexcludesexcludeMETAINF/*.SF/excludeexcludeMETAINF/*.DSA/excludeexcludeMETAINF/*.RSA/exclude/excludes/filter/filterstransformers combine.childrenappendtransformerimplementationorg.apache.maven.plugins.shade.resource.ServicesResourceTransformer/transformer/transformers/configuration/execution/executions/plugin/plugins/build将依赖添加一个作用域打包时依赖不需要打包进去这样打包大小会小一些 此时发现启动会报错只需修改运行配置即可步骤如下 Edit Configurations - Modify options 勾选如下按钮即可idea 2023.1.5版本 防止后面每个项目都要单独设置可以统一配置模板步骤如下 打包。maven先clean再package
3在 Web UI 上提交作业
提交jar包 类一定要配置并且是全限定名然后提交任务 如下步骤查看标准输出和日志 此时任务能够顺利运行。
点击该任务可以查看任务运行的具体情况也可以通过点击“Cancel Job”结束任务运行 4命令行提交作业
只需运行如下命令即可注意jar包位置效果与上述UI提交一致
bin/flink run -m 192.168.197.130:8081 -c com.lkl.StreamSocketWordCount ../day5-flink-1.0-SNAPSHOT.jar参数 -m 指定了提交到的 JobManager-c 指定了入口类 提交成功运行效果一致。
在/flink-1.17.0/log 路径中可以查看 TaskManager 节点 单节点部署
如果仅是单节点部署
修改flink配置文件 flink-conf.yaml 找到如下配置默认localhost修改为0.0.0.0启动即可【为了远程可以访问Flink UI界面】