一、概述
1.1 介绍
flink的 standalone(standalone deploy mode)部署模式,指的是flink直接在操作系统上启动flink相关服务如client, jobmanager, taskmanager,而不依赖其它资源管理框架如yarn, mesos, k8s进行资源管理。
此时是由flink直接来进行集群资源管理的,比如监控和重启失败的服务进程,分配和释放资源等等。
1.2 Standalone单机版说明
- JobManager 和 TaskMananger 全部在一个 node 上运行
- 仅适用于本地测试,不适用于生产环境
- 仅支持 Session Mode 提交 Job
- 不支持高可用
二、Flink Standalone单机版安装步骤
2.1 环境准备
- CentOS 7.X
- JDK 1.8
2.2 安装
(1)下载
wget https://dlcdn.apache.org/flink/flink-1.14.2/flink-1.14.2-bin-scala_2.12.tgz
(2)将flink-1.14.2-bin-scala_2.12.tgz安装包上传到服务器并解压到安装目录
[root@hadoop001 hadoop]# tar -zxf flink-1.14.2-bin-scala_2.12.tgz -C /opt/software/
(3)修改flink-conf.yaml配置
[root@hadoop001 conf]# pwd
/opt/software/flink-1.14.2/conf
[root@hadoop001 conf]# vim flink-conf.yaml
- 修改如下配置
# JobManager进行RPC通信的地址
jobmanager.rpc.address: localhost
# JobManager进行RPC通信的端口
jobmanager.rpc.port: 6123
# JobManager的总进程内存大小
jobmanager.memory.process.size: 2048m
# TaskManager的总进程内存大小
taskmanager.memory.process.size: 4096m
# 每台taskmanager可用的solt数目,一般设置成CPU的core数
taskmanager.numberOfTaskSlots: 4
# 用于未指定的程序的并行性和其他并行性
parallelism.default: 1
# 指定JobManger的可视化端口,尽量配置一个不容易冲突的端口
rest.port: 8086
说明:flink默认的rest.port的端口是8081,如果主机的8081端口被占用换成没被占用的端口号。
(4)配置masters
[root@hadoop001 conf]# vim masters
localhost:8086
(5)配置workers
[root@hadoop001 conf]# vim workers
localhost
(6)启动
[root@hadoop001 flink-1.14.2]# ./bin/start-cluster.sh
(7)查看运行进程
[root@hadoop001 flink-1.14.2]# jps
5524 StandaloneSessionClusterEntrypoint
5797 TaskManagerRunner
(8)访问web UI界面
访问地址:http://192.168.159.139:8086/
三、运行任务
3.1 命令行方式
(1)上传flinkdemo-1.0.jar包到服务器
flinkdemo-1.0.jar程序可参考之前文章:03.Flink入门案例
注意:引入依赖时,换成如下flink 1.14版本的依赖
<dependencies>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-scala_2.12</artifactId>
<version>1.14.2</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-scala_2.12</artifactId>
<version>1.14.2</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-clients_2.12</artifactId>
<version>1.14.2</version>
</dependency>
</dependencies>
(2)提交任务命令
[root@hadoop001 flink-1.14.2]# ./bin/flink run -c com.lilinchao.flink.wordcount.BatchWordCount -p 2 /home/hadoop/flinkdemo-1.0.jar --path /home/hadoop/datas/word.txt
运行结果
(3)其他命令
# 查看正在运行任务列表以及任务id
[root@hadoop001 flink-1.14.2]# ./bin/flink list
# 取消任务
[root@hadoop001 flink-1.14.2]# ./bin/flink cancel [任务id]
# 查看所有的任务包括正在运行、运行结束、被取消任务
[root@hadoop001 flink-1.14.2]# ./bin/flink list -a
3.2 web界面操作
(1)从本地上传Jar包
(2)运行netcat监听8002端口
[root@hadoop001 ~]# nc -lk 8002
(3)设置配置参数
参数说明
-
Entry Class:主函数执行Class文件目录
-
Parallelism:任务的最大调度,如果程序里边配置了,就以程序为准,不然就以此处为准,如果此处也不进行配置,以配置文件中配置为准。
优先级:程序内配置>提交任务配置>配置文件配置
-
Program Arguments:需要传递的参数
-
Savepoint Path:输出结果路径
-
Show Plan:点击进去可以看到任务的执行流程以及每个步骤的调度数
-
Submit:提交任务
(4)查看运行过程
(5)在netcat输出内容,通过Task Managers查看运行日志
(6)结束任务
点击Cancel Job即可结束正在运行的任务
结尾
如果需要上方运行Jar包可以直接通过微信公众号:【Java和大数据进阶】,回复:【flink】即可获取。