flink单节点及HA安装

本文介绍如何在单JobManager模式下安装与配置Apache Flink,包括选择合适的安装包版本、配置JobManager与TaskManager参数、设置环境变量、启动与测试集群等步骤,并演示了如何通过简单的WordCount示例验证集群的正确配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

flink
单JobManager节点
  1. 官网下载Flink安装包
    不建议采用小版本号为0的安装包(如1.9.0),建议使用1.9.2版本
  2. 安装包上传到node01节点
  3. 解压、修改配置文件
    解压:tar -zxf flink-1.9.2-bin-scala_2.11.tgz

a. 修改flink-conf.yaml配置文件

###规划
###         JobManager  taskmanager
### node01  *
### node02              *
### node03              *
### node04              *

###配置
#JobManager地址
jobmanager.rpc.address: node01  
#JobManagerRPC通信端口
jobmanager.rpc.port: 6123
#JobManager所能使用的堆内存大小
jobmanager.heap.size: 1024m
#TaskManager所能使用的堆内存大小
taskmanager.heap.size: 1024m 
#TaskManager管理的TaskSlot个数,依据当前物理机的 核心数来配置,一般预留出一部分核心(25%)给系统及其他进程使用
#一个slot对应一个core。如果 core支持超线程,那么slot个数*2
taskmanager.numberOfTaskSlots: 2  
#指定WebUI的访问端口
rest.port: 8081

b. 可选修改项, flink安装目录下: conf/masters
#修改为node01:8081, 原为 localhost:8081

node01:8081

c. 修改 conf/slaves 配置文件

#新增
node02
node03
node04
  1. 同步安装包到其他的节点
#同步至 node02 node03 node04
scp -r flink-1.9.2 node02:`pwd`
scp -r flink-1.9.2 node03:`pwd`
scp -r flink-1.9.2 node04:`pwd`
  1. node01-node04配置环境变量
vim ~/.bashrc export FLINK_HOME=/opt/software/flink/flink-1.9.2 export PATH=$PATH:$FLINK_HOME/bin source ~/.bashrc
  1. 启动standalone集群
#启动集群
start-cluster.sh
#关闭集群
stop-cluster.sh
  1. 查看Flink Web UI页面
    http://node01:8081/
  2. 提交job测试
#简单shell测试
#安装nc, 测试用
yum install nc -y && yum install nmap -y
#打开两个shell窗口,其中一个 nc -lk 8888 用于后续输入
nc -lk 8888
#另一个远程连接flink客户端: start-scala-shell.sh remote <hostname> <portnumber>
start-scala-shell.sh remote node01 8081
#选择计算模式运行: Batch - 'benv' and 'btenv'; Streaming - 'senv' and 'stenv';
#简单的word count: 按空格切割, 计数
senv.socketTextStream("node01",8888).flatMap(_.split(" ")).map((_,1)).keyBy(0).sum(1).print()
#执行任务
senv.execute("first flink shell job")
#在 8888 端口shell输入需要计算的数据
#在页面查看 http://node01:8081/#/job/running; 先在Running Jobs上找到 aggregation 对应的节点信息; 再到 http://node01:8081/#/task-manager ; TaskManagers中查看对应节点的 Stdout

基于hadoop集群yarn的HA

Hadoop HA集群一键安装

基于"单JobManager节点"进行改造

#注意: 先停了flink集群, flink安装的bin目录下
stop-cluster.sh

#1.修改hadoop安装目录下: etc/hadoop/yarn-site.xml
#新增如下配置
  <property>
    <name>yarn.resourcemanager.am.max-attempts</name>
    <!-- 根据需要调整最大重试次数 -->
    <value>10</value>
  </property>

#同步配置至其他节点
scp yarn-site.xml node02:`pwd`
scp yarn-site.xml node03:`pwd`
scp yarn-site.xml node04:`pwd`
#重启hadoop yarn, 注意配置hadoop的bin目录环境变量
stop-all.sh
start-all.sh
yarn-daemon.sh stop resourcemanager
yarn-daemon.sh start resourcemanager



#2.修改flink安装目录下: conf/flink-conf.yaml
#打开注释,修改配置:
#是否ha,查看hadoop安装目录下: etc/hadoop/core-site.xml 中的 fs.defaultFS 配置项配置的是什么
#如果非ha的hdfs, 那么配置单节点的ip:port即可
#high-availability: zookeeper high-availability.storageDir: hdfs://node01:9000/flink/ha/
#如果是ha模式,配置集群的名称即可
high-availability.storageDir: hdfs://mycluster/flink/ha/
high-availability.zookeeper.quorum: node02:2181,node03:2181,node04:2181

#3.修改flink安装目录下: conf/masters
#修改为两个
node01:8081
node02:8081

#同步配置至其他节点
scp flink-conf.yaml masters node02:`pwd`
scp flink-conf.yaml masters node03:`pwd`
scp flink-conf.yaml masters node04:`pwd`

测试HA

#如未配置环境变量, 切换至flink的bin目录下
yarn-session.sh -n 3 -s 3 -nm flink-session -d
#是否启动成功可以查看yarn页面
#http://node03:8088/cluster
#或 查看日志目录: flink的log目录下: flink-root-taskexecutor-*.log
#页面点击 flink-session 的application,查看运行在哪个node,比如运行在node04,查看YarnSessionClusterEntrypoint的进程号
jps
#干掉对应进程号
ps -ef|grep YarnSessionClusterEntrypoint|grep -v grep |awk '{print $2}'|xargs kill -9
#可以在yarn页面看到对应的 从 RUNNING 到 ACCEPTED 再到RUNNING 的节点挂掉然后重启的过程
Flink on Yarn的单节点模式下,可以使用以下命令来提交作业: 1. 进入到Flink安装路径下。 2. 在命令行中使用以下命令提交作业: ``` bin/flink run -yd -m yarn-cluster -c <jar包内类名> -yDyarn.provided.lib.dirs="<hdfs:///flink依赖位置>" <jar包位置> ``` 这个命令会将作业提交到Yarn集群上,并在集群上启动一个Flink任务。\[1\] 另外,如果你想在单节点模式下以detached方式运行作业,可以使用以下命令: ``` ./bin/flink run -t yarn-per-job --detached -Dclassloader.check-leaked-classloader=false <jar包位置> ``` 这个命令会在Yarn上以per-job cluster模式启动一个Flink任务,并且作业会在后台运行。\[2\] 如果你想停止当前启动的Yarn Session,可以执行以下命令: ``` cat /tmp/.yarn-properties-root | grep applicationID | cut -d'=' -f 2 | xargs -I {} yarn application -kill {} ``` 这个命令会停止当前正在运行的Yarn Session。\[3\] #### 引用[.reference_title] - *1* [Flink 搭建 单点、HA、ON YARN与提交作业方法](https://blog.youkuaiyun.com/Mogeko1/article/details/128662565)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [flink on yarn](https://blog.youkuaiyun.com/az9996/article/details/128313011)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值