Apache Flink运行环境搭建

172.18.12.85 flink01 ##master节点,jobManager

172.18.12.86 flink02 ##worker节点,taskmanager

172.18.12.87 flink03 ##worker节点,taskmanager

一、每台机器上配置好 Java 以及 JAVA_HOME 环境变量

1.首先下载对应系统的JDK压缩包,然后解压压缩包

> tar -zvxf jdk-7u79-linux-x64.gz

2.移动解压的文件到应用存放目录

> mv jdk1.7.0_79 /usr/appdata

3.编辑/etc/profile,增加环境变量

> vi + /etc/profile

JAVA_HOME=/usr/appdata/jdk1.7.0_79

JRE_HOME=/usr/appdata/jdk1.7.0_79/jre

PATH=PATH:JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export JAVA_HOME JRE_HOME PATH CLASSPATH

4.让/etc/profile文件修改后立即生效

> source /etc/profile

5.显示PATH环境变量,检验修改后的结果

> echo $PATH

printenv

6.验证JDK安装完成,显示版本号

> java -version

二、host配置

1.最后一行加上修改后的IP地址及对应的主机名:

> cat >> /etc/hosts << EOF

172.18.12.85 flink01

172.18.12.86 flink02

172.18.12.87 flink03

EOF

2.修改为对应的主机名:

> vi /etc/hostname

修改为flink01[flink02/flink03]

3.重启虚拟机

> reboot

三、每台机器上部署的 Flink binary 的目录要保证是同一个目录

1.首先下载对应系统的Flink压缩包,然后解压压缩包

> tar -zvxf flink-1.13.6-bin-scala_2.11.tgz

2.移动解压的文件到应用存放目录

> mv flink-1.13.6 /flink

3.修改 conf/masters 和 conf/slaves 配置,修改 conf/flink-conf.yaml 配置,注意要确保和 Masters 文件中的地址一致:

> cd /flink/flink-1.13.6/conf

1).配置flink-conf.yaml文件

> vi flink-conf.yaml

jobmanager.rpc.address: flink01

jobmanager.rpc.port: 6123

jobmanager.memory.process.size: 1600m

taskmanager.memory.process.size: 2048m

taskmanager.numberOfTaskSlots: 12

rest.bind-address: 0.0.0.0

rest.port: 8081

JobManager地址,master节点

jobmanager.rpc.address: node01

JobManagerRPC通信端口(默认不改变)

jobmanager.rpc.port: 6123

Total size of the JobManager (JobMaster / ResourceManager / Dispatcher) process。These values are configured as memory sizes, for example 1536m or 2g

jobmanager.memory.process.size: 1024m

Total size of the TaskManager process。These values are configured as memory sizes, for example 1536m or 2g

taskmanager.memory.process.size: 1024m

每个TaskManager 提供的任务 slots 数量大小,它的意思是当前task能够同时执行的线程数量 (实际生产环境建议是CPU核心-1)

TaskManager管理的TaskSlot个数,依据当前物理机的核心数来配置,一般预留出一部分核心(25%)给系统及其他进程使用,一个slot对应一个core。

如果core支持超线程,那么slot个数*2。供参考:cat /proc/cpuinfo|grep "processor"

The number of slots that a TaskManager offers (default: 1). Each slot can take one task or pipeline

taskmanager.numberOfTaskSlots: 12

指定WebUI的访问端口(console控制台与微服务调用时访问的端口)

rest.port: 8081

注意:

flink01 jobmanager.rpc.address都为flink01

flink02 jobmanager.rpc.address都为flink01

flink03 jobmanager.rpc.address都为flink01

2).配置masters文件

flink01\flink02\flink03节点均修将localhost改为:

> vi masters

flink01:8081

3).配置workers文件

flink01\flink02\flink03节点均将localhost修改为:

> vi workers

flink02

flink03

  1. 启动 Flink 集群:

登录flink01(master 节点)

> cd /flink/flink-1.13.6/bin

> ./jobmanager.sh start

登录flink02,flink03(worker 节点)

> cd /flink/flink-1.13.6/bin

> ./taskmanager.sh start

  1. 提交 WordCount 作业:

登录flink01(master 节点)

> cd /flink/flink-1.13.6/bin

> ./flink run examples/streaming/WordCount.jar

> ./flink run --detached ./examples/streaming/StateMachineExample.jar ##Submitting the job using --detached will make the command return after the submission is done.

  1. Job Monitoring

You can monitor any running jobs using the list action:

> ./bin/flink list

  1. Terminating a Job

Stopping a Job Gracefully Creating a Final Savepoint

> ./bin/flink stop --savepointPath /tmp/flink-savepoints $JOB_ID

8.Starting a Job from a Savepoint

> ./bin/flink run --detached --fromSavepoint /tmp/flink-savepoints/savepoint-cca7bc-bb1e257f0dab ./examples/streaming/StateMachineExample.jar

相关推荐
财经资讯数据_灵砚智能8 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月21日
大数据·人工智能·python·信息可视化·自然语言处理
水木流年追梦9 小时前
大模型入门-RL基础
开发语言·python·算法·leetcode·正则表达式
Cthy_hy9 小时前
基于首届中国互联网数据挖掘竞赛数据集的行为相似网络分析
python·信息可视化·数据挖掘
AI玫瑰助手9 小时前
Python运算符:逻辑运算符(and/or/not)的短路特性
开发语言·python·信息可视化
是梦终空9 小时前
计算机源码274—基于深度学习的中医舌象智能识别与健康管理系统(源代码+数据库+12000字论文)
人工智能·python·深度学习·opencv·django·vue·springboot
m0_474606789 小时前
JAVA - 使用Apache POI 自定义报表字段手写导出(支持-合并单元格)
java·开发语言·apache
明志数科9 小时前
具身智能数据标注工具对比评测:6大平台横向测评
开发语言·python
杨超越luckly9 小时前
HTML应用指南:利用GET请求获取智己汽车门店位置信息
python·arcgis·html·汽车·数据可视化
码界筑梦坊9 小时前
132-基于Python的中老年体检数据可视化分析系统
开发语言·python·信息可视化·flask·毕业设计
Harm灬小海9 小时前
【云计算学习之路】企业常用服务搭建:构建Apache WEB服务器
运维·服务器·学习·云计算·apache