Flink1.20.0安装

打印 上一主题 下一主题

主题 871|帖子 871|积分 2613

Flink1.20.0安装

1.前置条件


  • 服务器:3台,1主2从,centos7
       IPhostname说明192.168.108.137centos137master192.168.108.138centos138node192.168.108.139centos139node三台服务之间能通过hostname访问
    1. # hostname修改
    2. hostnamectl set-hostname centos137
    3. #三台修改hosts文件,添加以下命令
    4. 192.168.108.137 centos137
    5. 192.168.108.138 centos138
    6. 192.168.108.139 centos139
    7. #重启
    8. 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.修改配置

  1. vim /home/data/flink/flink-1.20.0/conf/config.yaml
复制代码
以master为例,其他node同理。
留意node的jobmanager.rpc.address必须为master的hostname,否则master的jobmanager无法辨认到Task Slots
如下:
  1. jobmanager:
  2.   bind-host: 0.0.0.0 # 改动点
  3.   rpc:
  4.     address: centos137  # 改动点,master服务器的hostname
  5.     port: 6123
  6.   memory:
  7.     process:
  8.       size: 1600m
  9.   execution:
  10.     failover-strategy: region
  11. taskmanager:
  12.   bind-host: 0.0.0.0  # 改动点
  13.   host: centos137  # 改动点,所在服务器的hostname
  14.   numberOfTaskSlots: 1
  15.   memory:
  16.     process:
  17.       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端口是否被占用,如有,更换为合适的
  1. nestat -apn|grep 8081
  2. #或者
  3. lsof -i:8081
复制代码
修改masters和workers(三台服务器)
  1. [root@centos137 conf]# cat masters
  2. centos137:8081
  3. [root@centos137 conf]# cat workers
  4. centos137
  5. centos138
  6. centos139
复制代码
4.目录授权

将安装目录的权限赋予ssh免登录用户
参考:hadoop集群搭建-CSDN博客 的目录授权章节
  1. chown -R hadoop:hadoop /export/
复制代码
没有此步骤需要启动时需要输入服务器密码
5.集群启停

切换到免登录用户
  1. su hadoop
复制代码
启动:
  1. [hadoop@centos137 bin]$ /home/data/flink/flink-1.20.0/bin/start-cluster.sh
  2. Starting cluster.
  3. Starting standalonesession daemon on host centos137.
  4. Starting taskexecutor daemon on host centos137.
  5. Starting taskexecutor daemon on host centos138.
  6. Starting taskexecutor daemon on host centos139.
复制代码
停止:
  1. [hadoop@centos137 bin]$ /home/data/flink/flink-1.20.0/bin/stop-cluster.sh
  2. Stopping taskexecutor daemon (pid: 12142) on host centos137.
  3. Stopping taskexecutor daemon (pid: 14316) on host centos138.
  4. Stopping taskexecutor daemon (pid: 16430) on host centos139.
  5. 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.配置(全部节点)

配置环境变量
  1. vim /etc/profile
复制代码
增长环境变量配置如下:
  1. # ---- hadoop ----
  2. export HADOOP_HOME=/export/servers/hadoop-3.3.6
  3. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  4. #Flink YARN运行模型需要
  5. export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
  6. export HADOOP_CLASSPATH=`hadoop classpath`
复制代码
配置生效
  1. source /etc/profile
复制代码
启动Hadoop集群,包括HDFS和YARN。
采用合适的模式允许应用:
3.会话模式部署(不保举)

实行脚本命令向YARN集群申请资源,开启一个YARN会话,启动Flink集群。
容易出现资源竞争现象,导致任务失败
  1. 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:
    1. bin/flink run -d -t yarn-per-job -c com.demo.HelloWord HelloWord.jar
    复制代码
    -c 后的参数:
    1.任务的完备类名称

    • jar包名称

保举利用 Flink Web UI页面进行监控
在命令行中查看或取消作业
  1. bin/flink list -t yarn-per-job -Dyarn.application.id=application_XXXX_YY
  2. bin/flink cancel -t yarn-per-job -Dyarn.application.id=application_XXXX_YY <jobId>
复制代码
5.应用模式部署(保举)

应用模式同样非常简单,与单作业模式类似,直接实行flink run-application命令即可
实行任务命令eg:
  1. bin/flink run-application -t yarn-application -c com.demo.HelloWord HelloWord.jar
复制代码
保举利用 Flink Web UI页面进行监控
在命令行中查看或取消作业
  1. bin/flink list -t yarn-application -Dyarn.application.id=application_XXXX_YY
  2. bin/flink cancel -t yarn-application -Dyarn.application.id=application_XXXX_YY <jobId>
复制代码
本文参考:Flink 1.19.1 standalone 集群模式部署及配置-CSDN博客

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美丽的神话

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表