Flink Standalone模式单机版安装

4,147 阅读3分钟

一、概述

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/

05.Flink Standalone单机版安装01.jpg

三、运行任务

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

运行结果

05.Flink Standalone单机版安装02.jpg

(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包

05.Flink Standalone单机版安装03.jpg

(2)运行netcat监听8002端口

[root@hadoop001 ~]# nc -lk 8002

(3)设置配置参数

05.Flink Standalone单机版安装04.jpg

参数说明

  • Entry Class:主函数执行Class文件目录

  • Parallelism:任务的最大调度,如果程序里边配置了,就以程序为准,不然就以此处为准,如果此处也不进行配置,以配置文件中配置为准。

    优先级:程序内配置>提交任务配置>配置文件配置

  • Program Arguments:需要传递的参数

  • Savepoint Path:输出结果路径

  • Show Plan:点击进去可以看到任务的执行流程以及每个步骤的调度数

  • Submit:提交任务

(4)查看运行过程

05.Flink Standalone单机版安装05.jpg

(5)在netcat输出内容,通过Task Managers查看运行日志

05.Flink Standalone单机版安装06.jpg

(6)结束任务

点击Cancel Job即可结束正在运行的任务

05.Flink Standalone单机版安装07.jpg

结尾

如果需要上方运行Jar包可以直接通过微信公众号:【Java和大数据进阶】,回复:【flink】即可获取。