Flink独立集群的搭建:
1、上传解压配置环境变量
bash
# 1、解压
tar -xvf flink-1.15.4-bin-scala_2.12.tgz
# 2、修改环境变量
export FLINK_HOME=/usr/local/soft/flink-1.15.4
export PATH=$PATH:$FLINK_HOME/bin
2、修改配置文件
bash
cd /usr/local/soft/flink-1.15.4/conf/
# 1、flink-conf.yaml
jobmanager.rpc.address: master
jobmanager.bind-host: 0.0.0.0
taskmanager.bind-host: 0.0.0.0
# taskmanager.host需要在node1和node2中修改
taskmanager.host: node1/node2
taskmanager.numberOfTaskSlots: 4
rest.address: master
rest.bind-address: 0.0.0.0
# 2、masters
master:8081
# 3、workers
node1
node2
3、同步到所有节点
bash
scp -r flink-1.15.4 node1:`pwd`
scp -r flink-1.15.4 node2:`pwd`
# 需要在node1和node2中修改
taskmanager.host: node1/node2
4、启动Flink独立集群
bash
#启动
start-cluster.sh
#停止
stop-cluster.sh
#启动后可访问的页面
http://master:8081
5、提交任务
1、在命令行提交任务
bash
# 1、上传jar包
# 提交任务 flink run -c 主类名 jar包名
flink run -c com.shujia.flink.core.Demo9Submit flink-1.0.jar
2、在master:8081页面中直接提交
Flink整合yarn:
1、配置hadoop_classpath
bash
# 修改配置文件
vim /etc/profile
export HADOOP_CLASSPATH=`hadoop classpath`
source /etc/profile
2、启动hadoop
bash
start-all.sh
3、提交任务
1、application mode
1、在本地看不到详细的错误日志
2、dataflow流程图不在本地构建,在JobManager中构建
3、主要用于和云计算K8S整合用的
4、每个任务单独启动JM和TM,任务直接相互独立,互不影响
bash
flink run-application -t yarn-application -c com.shujia.flink.core.Demo9Submit flink-1.0.jar
# 查看日志
yarn logs -applicationId application_1730969357243_0003
2、per job cluster mode
1、在本地可以看到错误日志
2、在本地构建dataflow流程图
3、每个任务单独启动JM和TM,任务直接相互独立,互不影响
bash
flink run -t yarn-per-job -c com.shujia.flink.core.Demo9Submit flink-1.0.jar
3、session mode
1、多个任务公用一个JobManager
1、启动session集群
bash
yarn-session.sh -d
2、提交任务
bash
flink run -t yarn-session -Dyarn.application.id=application_1730969357243_0005 -c
com.shujia.flink.core.Demo9Submit flink-1.0.jar