Flink1.20.0安装
1.前置条件
- 服务器:3台,1主2从,centos7
IPhostname说明192.168.108.137centos137master192.168.108.138centos138node192.168.108.139centos139node三台服务之间能通过hostname访问
- # hostname修改
- hostnamectl set-hostname centos137
- #三台修改hosts文件,添加以下命令
- 192.168.108.137 centos137
- 192.168.108.138 centos138
- 192.168.108.139 centos139
- #重启
- reboot
复制代码 2.解压安装包
安装路径(可选)
上传安装包至:/home/data/flink/
若没该路径,实行
mkdir -p /home/data/flink/
tar -zxvf flink-1.20.0-bin-scala_2.12.tgz
国内镜像地址:Index of /apache/flink/flink-1.20.0 (tsinghua.edu.cn)
配置文件变更说明:
从 Flink 1.19 开始,Flink 正式全面支持尺度 YAML 1.2 语法。默认配置文件已改为 config.yaml ,放置在 conf/directory 中。如果用户想利用传统的配置文件 flink-conf.yaml ,只需将该文件复制到 conf/directory 中即可。一旦检测到传统配置文件 flink-conf.yml ,Flink 就会优先利用它作为配置文件。而在即将推出的 Flink 2.0 中, flink-conf.yaml 配置文件将不再起作用。
以上来至:官宣|Apache Flink 1.19 发布公告-阿里云开辟者社区 (aliyun.com)
3.修改配置
- vim /home/data/flink/flink-1.20.0/conf/config.yaml
复制代码 以master为例,其他node同理。
留意node的jobmanager.rpc.address必须为master的hostname,否则master的jobmanager无法辨认到Task Slots
如下:
- jobmanager:
- bind-host: 0.0.0.0 # 改动点
- rpc:
- address: centos137 # 改动点,master服务器的hostname
- port: 6123
- memory:
- process:
- size: 1600m
- execution:
- failover-strategy: region
- taskmanager:
- bind-host: 0.0.0.0 # 改动点
- host: centos137 # 改动点,所在服务器的hostname
- numberOfTaskSlots: 1
- memory:
- process:
- size: 1728m
复制代码 其他配置修改参考(性能调优):
- **jobmanager.memory.process.size:**对JobManager进程可利用到的全部内存进行配置,包括JVM元空间和其他开销,默认为1600M,可以根据集群规模进行适当调整。
- **taskmanager.memory.process.size:**对TaskManager进程可利用到的全部内存进行配置,包括JVM元空间和其他开销,默认为1728M,可以根据集群规模进行适当调整。
- **taskmanager.numberOfTaskSlots:**对每个TaskManager能够分配的Slot数目进行配置,默认为1,可根据TaskManager所在的机器能够提供给Flink的CPU数目决定。所谓Slot就是TaskManager中具体运行一个任务所分配的盘算资源。
parallelism.default:Flink任务实行的并行度,默认为1。优先级低于代码中进行的
检查8081端口是否被占用,如有,更换为合适的
- nestat -apn|grep 8081
- #或者
- lsof -i:8081
复制代码 修改masters和workers(三台服务器)
- [root@centos137 conf]# cat masters
- centos137:8081
- [root@centos137 conf]# cat workers
- centos137
- centos138
- centos139
复制代码 4.目录授权
将安装目录的权限赋予ssh免登录用户
参考:hadoop集群搭建-CSDN博客 的目录授权章节
- chown -R hadoop:hadoop /export/
复制代码 没有此步骤需要启动时需要输入服务器密码
5.集群启停
切换到免登录用户
启动:
- [hadoop@centos137 bin]$ /home/data/flink/flink-1.20.0/bin/start-cluster.sh
- Starting cluster.
- Starting standalonesession daemon on host centos137.
- Starting taskexecutor daemon on host centos137.
- Starting taskexecutor daemon on host centos138.
- Starting taskexecutor daemon on host centos139.
复制代码 停止:
- [hadoop@centos137 bin]$ /home/data/flink/flink-1.20.0/bin/stop-cluster.sh
- Stopping taskexecutor daemon (pid: 12142) on host centos137.
- Stopping taskexecutor daemon (pid: 14316) on host centos138.
- Stopping taskexecutor daemon (pid: 16430) on host centos139.
- Stopping standalonesession daemon (pid: 11536) on host centos137.
复制代码 6.访问Web UI
http://192.168.108.137:8081
正常环境,界面
Available Task Slots 表现3个(取决与taskmanager.numberOfTaskSlots的个数)
开辟测试环境完成以上步骤即可,集群以Standalone模式运行
以下内容为生产环境应该利用的运行模式
7.YARN运行模式
YARN上部署的过程是:客户端把Flink应用提交给Yarn的ResourceManager,Yarn的ResourceManager会向Yarn的NodeManager申请容器。在这些容器上,Flink会部署JobManager和TaskManager的实例,从而启动集群。Flink会根据运行在JobManger上的作业所需要的Slot数目动态分配TaskManager资源。
1.前置条件
将Flink任务部署至YARN集群之前,需要确认集群是否安装有Hadoop,保证Hadoop版本至少在2.2以上,并且集群中安装有HDFS服务。
参考:hadoop集群搭建-CSDN博客
2.配置(全部节点)
配置环境变量
增长环境变量配置如下:
- # ---- hadoop ----
- export HADOOP_HOME=/export/servers/hadoop-3.3.6
- export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
- #Flink YARN运行模型需要
- export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
- export HADOOP_CLASSPATH=`hadoop classpath`
复制代码 配置生效
启动Hadoop集群,包括HDFS和YARN。
采用合适的模式允许应用:
3.会话模式部署(不保举)
实行脚本命令向YARN集群申请资源,开启一个YARN会话,启动Flink集群。
容易出现资源竞争现象,导致任务失败
- bin/yarn-session.sh -nm test
复制代码 可用参数解读:
l -d:分离模式,如果你不想让Flink YARN客户端不停前台运行,可以利用这个参数,即使关掉当前对话窗口,YARN session也可以后台运行。
l -jm(–jobManagerMemory):配置JobManager所需内存,默认单位MB。
l -nm(–name):配置在YARN UI界面上表现的任务名。
l -qu(–queue):指定YARN队列名。
-tm(–taskManager):配置每个TaskManager所利用内存。
4.单作业模式部署(开辟过程利用)
- Flink的Standalone集群并不支持单作业模式部署。因为单作业模式需要借助一些资源管理平台。
- 在YARN环境中,由于有了外部平台做资源调度,所以我们也可以直接向YARN提交一个单独的作业,从而启动一个Flink集群。
实行任务命令eg:
- bin/flink run -d -t yarn-per-job -c com.demo.HelloWord HelloWord.jar
复制代码 -c 后的参数:
1.任务的完备类名称
保举利用 Flink Web UI页面进行监控
在命令行中查看或取消作业
- bin/flink list -t yarn-per-job -Dyarn.application.id=application_XXXX_YY
- bin/flink cancel -t yarn-per-job -Dyarn.application.id=application_XXXX_YY <jobId>
复制代码 5.应用模式部署(保举)
应用模式同样非常简单,与单作业模式类似,直接实行flink run-application命令即可
实行任务命令eg:
- bin/flink run-application -t yarn-application -c com.demo.HelloWord HelloWord.jar
复制代码 保举利用 Flink Web UI页面进行监控
在命令行中查看或取消作业
- bin/flink list -t yarn-application -Dyarn.application.id=application_XXXX_YY
- bin/flink cancel -t yarn-application -Dyarn.application.id=application_XXXX_YY <jobId>
复制代码 本文参考:Flink 1.19.1 standalone 集群模式部署及配置-CSDN博客
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |