目录
- local模式
- Standallone
- 节点分布
- Flink on Yarn
- 启动历史服务器
- 启动历史服务器
- flink其他部署模式
- yarn模式下部署单作业模式flink和应用模式flink集群
- 应用模式
- 单作业模式:
- standallone模式下
- 应用模式
下面flink部署模式默认是session模式,flink还有per-job,application两种部署模式
部署模式:flink里面的 计算程序 运行模式
运行模式:flink软件运行的模式
具体区别查看:
下面的三种是flink运行模式
local模式
本地模式只需要一台服务
环境说明,flink需要jdk,并且flin.2k1.17,需要的是jdk11,jdk17不行,实测jdk1.8也行
- 下载flink包
- 解压
- 修改配置文件
vi conf/flink-conf.yaml
- 启动和关闭
- 查看flink管理界面
不配置第3步是默认不能远程访问的 - 浏览器访问: http://192.168.100.66:8081/
- 进程查看
TaskManagerRunner和StandaloneSessionClusterEntrypoint 是 flink的进程
别的进程是 hadoop的这里用不着,无视
Standallone
独立部署模式需要多台服务器,不依赖hadoop
环境说明,flink需要jdk,并且flin.2k1.17,需要的是jdk11,jdk17不行,实测jdk1.8也行
三台主机已经相互配置了免密登录
节点分布
主机名 | ip | 节点类型 |
vm200 | 192.168.1.200 | master |
vm201 | 192.168.1.201 | work |
vm202 | 192.168.1.202 | work |
- 下载flink包
- 解压
- 修改配置文件
vi conf/flink-conf.yaml
vi works
写入从从节点ip或者主机名
- 复制到从节点
- 启动(seesion模式)
- 查看flink管理界面
浏览器访问: http://192.168.100.66:8081/如果taskslot是0,那么就是jobmanager.bind-host还是默认配置localhost,taskmanger请求不过来
- 节点进程查看
- vm200
StandaloneSessionClusterEntrypoint 就是 fink的进程,另外三个是hadoop和yarn的,Standallone 模式用不到
- vm201
TaskManagerRunner是flink 的任务进程
- vm202
TaskManagerRunner是flink的任务经常
- 提交作业
flink run 提交作业
-m 指定jobManger的地址
-c 指定程序入口,后面更是jar地址
Flink on Yarn
yarn 模式依赖 haddop,flink程序本身不用启动,依赖yarn来启动fink集群。
- 安装hadoop集群
参考: - 配置好hadoop集群
需要配置HADOOP_HOME,环境变量PATH,HADOOP_CONF_DIR,HADOOP_CLAAPATH
- 使用yarn-session.sh -d 启动一个集群
yarn-session.sh -d 后台启动一个集群
-nm 指定程序名字(name的缩写)
./yarn-session.sh --help 可以看到其他参数用法
- 查看yarn管理的flink程序
- 末尾的Tracking UI 可以进入 flink 管理界面
这个界面是走的代理,不是直接访问的 - 启动 flink程序的时候控制台也有输出flink web ui的地址
- 优雅关闭flink
启动的时候输出的日志中不仅仅有 webUI 地址还有,关闭命令
echo "stop" | ./bin/yarn-session.sh -id appId
appId 可以去 yarn 里面查询
如果直接敲 ./yarn-session.sh -id application_1710208440935_0001 stop 然后再ctrl+c强制退出也行
- 非优雅关闭可以直接去hadoop管理界面直接kill application
- 提交作业
使用 fink run 提交作业
-c 指定 main class 后面更是jar包路径
对比独立部署模式少了指定 jobManger的参数
启动历史服务器
vi flink-conf.yaml
修改下面配置,然后分配到所有节点
历史服务器刷新速度很慢,读取日志时间间隔好像没生效,或者是别的参数控制
启动历史服务器
flink其他部署模式
yarn模式下支持sessionper-job,application三种部署模式
standalone支持 session 和 application模式
yarn模式下部署单作业模式flink和应用模式flink集群
应用模式和单作业模式都是提交任务才启动fink集群的,所以直接在提交任务的之后指定运行模式就行
应用模式
./flink run-application -t yarn-application -c 全类名 xxx.jar
-t 指定部署模式
单作业模式:
standallone模式下
应用模式
需要手动分别启动jobManger和taskmanger
启动jobManger(在主节点启动)
需要jar包位于lib目录下面
从节点上启动