目录
前言
Flink集群的搭建可以采取多种方式,包括本地模式、Standalone模式以及在YARN上部署等。以下是一些详细的步骤和指南:
-
本地模式:这是最简单的部署方式,适合开发和测试。你只需要下载Flink的二进制包并解压,然后直接运行
start-cluster.sh
脚本即可启动Flink集群 3。 -
Standalone模式:这种模式不依赖任何外部资源管理系统。你需要准备至少两台Linux服务器,一台作为Master节点运行JobManager,另一台或多台作为Slave节点运行TaskManager。在Master节点上配置
flink-conf.yaml
指定JobManager的地址,并在workers
文件中列出所有TaskManager的节点。然后分发Flink安装目录到各个节点,并在Master节点上执行start-cluster.sh
启动集群 2。 -
Flink on YARN模式:这种模式使用YARN作为资源管理器来启动Flink集群。首先需要一个运行中的Hadoop集群,然后通过
yarn-session.sh
脚本来启动Flink集群。这种方式可以根据需要动态分配资源,适合生产环境 5。 -
Docker Compose部署:这是一种快速部署Flink集群的方式,通过编写
docker-compose.yml
文件来定义服务,然后使用Docker Compose启动服务。这种方式可以快速搭建起一个完整的Flink集群环境,包括Hadoop集群 4。 -
配置注意事项:在搭建集群时,需要确保所有节点时间同步,设置好SSH免密码登录,并关闭防火墙。同时,需要配置好环境变量如
JAVA_HOME
,并根据需要调整Flink配置文件中的参数,如jobmanager.rpc.address
和taskmanager.numberOfTaskSlots
5。 -
提交作业:集群搭建完成后,可以通过Flink的Web界面或者命令行工具提交作业。如果是在YARN上部署,可以使用
flink run
命令并指定作业的运行模式(如yarn-session
、yarn-per-job
或yarn-application
)来提交作业 25。 -
监控与管理:Flink提供了Web界面用于监控和管理作业。你可以查看作业的运行状态、提交新的作业、或者取消正在运行的作业
环境介绍
本次系统服务器节点
说明:
- 除特别说明外,本文的所有操作均在master节点、使用me这个非root用户执行
- 命令中出现的IP,均需要替换为自己集群中的IP【必须】
- 命令中出现的
/opt/module/flink/
路径,可选择替换为自定义路径【可选】
安装步骤
1、下载安装包
wget https://archive.apache.org/dist/flink/flink-1.14.2/flink-1.14.2-bin-scala_2.12.tgz
2、 上传资源包到master
节点,并解压到指定路径。
3、配置HADOOP_CLASSPATH
环境变量
sudo vim /etc/profile
# 内容最后,追加下面内容
export HADOOP_CLASSPATH=`hadoop classpath`
4、修改flink-conf.yaml
文件 配置文件
vim /opt/module/flink/flink-1.14.2/conf/flink-conf.yaml
# jobmanager地址
jobmanager.rpc.address: 192.168.100.108
......
# 槽、并行度
taskmanager.numberOfTaskSlots: 3
parallelism.default: 1
......
# 类加载机制
classloader.resolve-order: parent-first
classloader.check-leaked-classloader: false
5、配置workers
文件
echo '192.168.100.108
192.168.100.109
192.168.100.110' > /opt/module/flink/flink-1.14.2/conf/workers
6、配置masters
文件
echo '192.168.100.108:8089' > /opt/module/flink/flink-1.14.2/conf/masters
7、分发到其他两个节点机器
xsync /opt/module/flink/flink-1.14.2/
集群启动
/opt/module/flink/flink-1.14.2/bin/start-cluster.sh
验证集群
1、jps查询三台服务器的进程情况如下:
2、访问flink
的Web UI
页面http://10.0.0.87:8089
集群停止
/opt/module/flink/flink-1.14.2/bin/stop-cluster.sh