大数据学习之Flink环境搭建+提交任务方式

1、独立集群

独立集群不需要依赖任何框架,独立运行

1、上传解压配置环境变量

tar -xvf flink-1.15.0-bin-scala_2.12.tgz 

vim /etc/profile

source /etc/profile 刷新

2、修改配置文件

vim conf/flink-conf.yaml

jobmanager.rpc.address: master
jobmanager.bind-host: 0.0.0.0
taskmanager.bind-host: 0.0.0.0
rest.bind-address: 0.0.0.0
taskmanager.numberOfTaskSlots: 2

vim conf/masters

master:8081

vim workers

分布式写node1,node2

node1
node2

3、将flink文件同步到另外两个节点中

scp -r flink-1.15.0/ node1:`pwd`
scp -r flink-1.15.0/ node2:`pwd`

4、需要修改node1和node2中的配置文件

vim flink-conf.yaml

node1节点改成node1,node2的节点改成node2

taskmanager.host: node1/node2

5、启动flink的独立集群

在master中启动集群,需要到flink 的bin目录下启动

start-cluster.sh
#启动成功的进程:StandaloneSessionClusterEntrypoint

关闭
stop-cluster.sh

6、访问flink的页面

http://master:8081

大数据学习之Flink环境搭建+提交任务方式_第1张图片

2、flink 提交任务的方式

1、将项目打包在网页上提交

2、将jar包上传到集群使用flink命令提交

 flink run -c com.shujia.core.Demo1WordCount flink-1.0.jar

3、FLINK on YARN 将任务提交到yarn上执行(3中模式)

事前准备:
1、可以先关闭flink的独立集群
stop-cluster.sh

2、配置HADOOP_CLASSPATH
vim /etc/profile
增加
export HADOOP_CLASSPATH=hadoop classpath
source /etc/profile --刷新profile配置文件
3、启动hadoop
start-all.sh

3.1第一种Application Mode
Application Mode模式主要时为了让flink可以在K8S上运行

介绍:
为每一个flink任务在yarn上启动一个集群,任务和任务之间互不影响,提交任务的main运行在jobmanager, 数据流程图(JobGraph)在jobmanager中构建;
每一个任务启动一个jobmanager

步骤:
a、将项目打包上传到服务器
b、提交任务:flink run-application -t yarn-application -c com.shujia.flink.core.Demo2Submit flink-1.0.jar

查看任务列表:
flink list -t yarn-application -Dyarn.application.id=application_1654846044068_0002

关闭任务:
flink cancel -t yarn-application -Dyarn.application.id=application_1654846044068_0002 52b325d666be767b24698f459bb5dda9

3.2 第二种 Per-Job Cluster Mode

介绍:
为每一个flink任务在yarn上启动一个集群,任务和任务之间互不影响 ,在本地构建数据流程图(JobGraph),再将数据流程图提交到jobmanager中运行;每一个任务启动一个jobmanager;

提交任务:
flink run -t yarn-per-job --detached -c 类名的Reference路径 jar包名
`注释:–detached: 客户端提交成功之后会退出

查看任务列表
flink list -t yarn-per-job -Dyarn.application.id=application_1654846044068_0003

取消任务
flink cancel -t yarn-per-job -Dyarn.application.id=application_1654846044068_0003 86d6973d3d79a7040bfdf75b7cad88d0

3.3 第三种 Session Mode

介绍:
先再yarn中启动一个flink的集群,再通过命令将任务提交到这个集群中运行;所有的任务共享同一个jobmanager;有任务提交的时候去jobManage中申请taskManage,用完后释放;
如果有一个任务执行出了问题,可能会影响其它任务,一般Session 用来测试使用,因为占用的资源要少一点, 在提交任务时在动态申请taskmanager
他有三种提交任务的方式;详情见下

启动yarn session:
进入到flink下的bin目录下输入该命令启动:yarn-session.sh -d
有时可能会报错,hadoop安全模式打开的原因,输入如下命令关闭hadoop的安全模式:hadoop dfsadmin -safemode leave

1、可以在网页中提交任务
2、可以通过命令行提交任务:
flink run -t yarn-session -Dyarn.application.id=application任务名 代码所在类的Reference路径 jar包名
示例:flink run -t yarn-session -Dyarn.application.id=application_1654852007237_0008 -c com.shujia.core.Demo12ValueState flink-1.0.jar
3、远程rcp提交

退出yan-session
yarn application -kill application任务名

你可能感兴趣的:(大数据学习,大数据,学习,flink)