Flink集群搭建
Local本地运行方式
在IDEA运行即可,主要用于开发
StandAlone模式
Flink自带的资源管理框架,不需要依赖于任何其他的框架
1、上传解压
tar -zxvf flink-1.11.2-bin-scala_2.11.tgz -C /usr/local/soft/
2、修改环境变量
vim /etc/profile
# 将flink的bin目录配置到环境变量PATH中
3、修改配置文件
cd /usr/local/soft/flink-1.11.2/conf
vim flink-conf.yaml
# 将localhost改成master
jobmanager.rpc.address: master
# 配置从节点
vim workers
node1
node2
# 修改master地址
vim masters
master:8081
4、同步到node1、node2
cd /usr/local/soft/
scp -r flink-1.11.2/ node1:`pwd`
scp -r flink-1.11.2/ node2:`pwd`
5、启动集群
# 只要在master运行
start-cluster.sh
6、访问Flink的WEB UI
http://master:8081
7、提交任务
-
通过flink命令提交任务
flink run -c com.shujia.core.Demo01WordCount Flink-1.0.jar
-
通过WEB界面提交任务
-
通过RPC远程调用方式提交任务
8、停止集群
stop-cluster.sh
On Yarn模式
主流的运行方式,主要用于生产环境
yarn-session先在yarn中启动一个jobMansager ,所有的任务共享一个jobmanager (提交任务更快,任务之间共享jobmanager , 相互有影响)
直接提交任务模型,为每一个任务启动一个joibmanager (每一个任务独立jobmanager , 任务运行稳定)
准备工作
-
配置环境变量,增加HADOOP_CONF_DIR
vim /etc/profile export HADOOP_CONF_DIR=/usr/local/soft/hadoop-2.7.6/etc/hadoop/
-
添加HADOOP依赖
cp flink-shaded-hadoop-2-uber-2.7.5-10.0.jar /usr/local/soft/flink-1.11.2/lib/
-
启动Hadoop集群
# 在master执行 start-all.sh
Yarn-Session模式
相当于在Yarn中启动了一个JobManager,当有任务提交时会根据任务的并行度去申请资源启动所需的TaskManager
- 启动:
yarn-session.sh -jm 1024m -tm 1024m
- 访问:启动后日志里有地址或者通过Yarn WEB UI进行跳转
- 提交任务:
- 命令:
flink run -c com.shujia.core.Demo01WordCount Flink-1.0.jar
- 通过页面提交
- 通过RPC方式提交
- 命令:
直接On Yarn
相当于每次提交任务都会单独生成一个JobManager
-
只需要启动Yarn即可
-
只能使用命令方式提交Flink任务
flink run -m yarn-cluster -yjm 1024m -ytm 1024m -c com.shujia.core.Demo01WordCount Flink-1.0.jar
-
停止任务
-
在JobManager界面通过Cancel按钮取消
-
通过Yarn的命令kill
yarn application -kill application_1654850164441_0002
-
-
查看日志
yarn logs -applicationId application_1654850164441_0002