【flink学习笔记】【3】集群模式-环境部署

一、环境配置

  1. centos7.5
  2. java8
  3. hadoop
  4. ssh、关闭防火墙
  5. node00、node01、node02

二、安装flink

https://www.apache.org/dyn/closer.lua/flink/flink-1.13.6/flink-1.13.6-bin-scala_2.12.tgz
1.解压

[root@node00 servers]# tar -zxvf flink-1.13.6-bin-scala_2.12.tgz -C /export/servers/

2.修改flink-conf.yaml
在这里插入图片描述
3. 修改master、workers主机

修改对应的主机域名
masters:node00
workers:node01 node02

其他参数
任务槽:taskmanager.numberOfTaskSlots: 1
并行度:parallelism.default: 1

  1. 分发flink目录
scp -r flink-1.13.6/ node01:$PWD
scp -r flink-1.13.6/ node02:$PWD
  1. 启动
[root@node00 servers]# cd flink-1.13.6
[root@node00 flink-1.13.6]# bin/start-cluster.sh 

Starting cluster.
Starting standalonesession daemon on host node00.
Starting taskexecutor daemon on host node01.
Starting taskexecutor daemon on host node02.

7.检查flink进程

[root@node00 flink-1.13.6]# jps
1861 QuorumPeerMain
2901 NodeManager
2119 NameNode
3384 JobHistoryServer
17545 StandaloneSessionClusterEntrypoint
2250 DataNode
2443 SecondaryNameNode
17614 Jps
2767 ResourceManager

8.访问8081端口
可用的任务槽

三、向集群提交作业

1.生成jar包
2.在这里插入图片描述

show plan

  1. flat map
  2. sink
    在这里插入图片描述

报错处理finishConnect(…) failed: No route to host

现象:设置并行度1时,node01可正常执行任务,当并行度2时,报错node02无法连接。
查看iptables

iptables --list

在这里插入图片描述
清除iptables规则或者添加accept端口

iptables -F 

或者

# 新增规则(-I表示插入在链的第一位置,-A 表示追加到链的末尾位置,防火墙规则是从上往下读取)
[root@data ~] iptables -I INPUT -p tcp --dport 8081-j ACCEPT

# 保存规则到默认文件/etc/sysconfig/iptables

[root@data ~] service iptables save
# 重启
[root@data ~] service iptables restart

重新提交任务
在这里插入图片描述

taskmanager查看日志输出(无界流词频统计案例)
在这里插入图片描述

此时剩余slots是0。
在这里插入图片描述
此时再提交任务会报错:

Caused by: java.util.concurrent.CompletionException: 
org.apache.flink.runtime.jobmanager.scheduler.NoResourceAvailableException: 
Could not acquire the minimum required resources.

四、终端提交任务

提交任务

bin/flink run -m node00:8081 -c com.shinho.wc.NoBoundryWordCount -p 2 ./original-FlinkStudy-1.0-SNAPSHOT.jar

取消任务

[root@node02 flink-1.13.6]# ./bin/flink cancel ec1e5c6f1a92782cfc4d37893cc57978
Cancelling job ec1e5c6f1a92782cfc4d37893cc57978.
Cancelled job ec1e5c6f1a92782cfc4d37893cc57978.

五、部署模式

  • 会话模式 session-mode
    先有集群、再提交作业,资源已经固定,集群不根据作业而改变。一旦资源不够:作业失败。适合规模小、执行时间短作业。
  • 单作业模式
    资源按照作业隔离开,提交作业后,创建flink集群。作业结束集群关闭。单作业模式是首选。一定需要外界资源管理平台(yarn、kubernetes)。
  • 应用模式
    类似单作业模式,但是是jar包和集群一对一。

5.1 独立模式standalone

不支持单作业模式,所需要的的flink组件都是操作系统上的jvm进程。

5.2 yarn模式

必要配置:
hadoop环境变量
客户端-flink应用-yarn的resourcemanager-向nodemanager申请容器
静态分配是资源浪费
yarn是动态分配
yarn会话模式

两个flink hadoop jar依赖放在flink/lib下
https://mvnrepository.com/artifact/org.apache.flink/flink-shaded-hadoop-3-uber/3.1.1.7.2.9.0-173-9.0
https://mvnrepository.com/artifact/commons-cli/commons-cli

yarn-session.sh -n 4 -jm 1024m -tm 4096m

提交flink作业(并行度2、并行度1各一个)

./bin/flink run -c com.shinho.wc.NoBoundryWordCount ./original-FlinkStudy-1.0-SNAPSHOT.jar

./bin/flink run -c com.shinho.wc.NoBoundryWordCount -p 2 ./original-FlinkStudy-1.0-SNAPSHOT.jar

有两个running job, task slots = 1+2 =3
在这里插入图片描述
生产环境一定是基于yarn!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值