大数据之—Flink环境搭建
前言
参考:https://blog.csdn.net/weixin_44385486/article/details/124197370
运行模式
- local:单机模式,尽量不使用
- standalone: flink自带集群,资源管理由flink集群管理,开发环境测试使用
- flink on yarn: 把资源管理交给yarn实现,计算机资源统一由Haoop YARN管理,生产环境测试。
官网:https://flink.apache.org/downloads/
软件仓库:https://archive.apache.org/dist/flink/
软件版本:https://archive.apache.org/dist/flink/flink-1.7.2/flink-1.7.2-bin-hadoop27-scala_2.11.tgz
单节点集群
安装
mkdir -p /opt/flink && cd /opt/flink
tar -zxvf flink-1.7.2-bin-hadoop27-scala_2.11.gz
添加环境变量:vim /etc/profile.d/my_env.sh
# FLINK_HOME
export FLINK_HOME=/opt/flink/flink-1.7.2
export PATH=$PATH:$FLINK_HOME/bin
刷新环境:source /etc/profile
单机集群启动停止
启动单节点集群:$FLINK_HOME/bin/start-cluster.sh
[root@node1 ~]# jps
74304 StandaloneSessionClusterEntrypoint # 1
74756 TaskManagerRunner # 2
74820 Jps
停止单节点集群:$FLINK_HOME/bin/stop-cluster.sh
测试
1、新建测试文件:touch /root/test.txt && vim /root/test.txt
hello me you her
hello you her
hello her
hello
1 1 1 1 1 1
2 2 1 1 2 1
1 1 2 2 2 2
2 2 2 2 2 2
2、启动 flink-shell
:$FLINK_HOME/bin/start-scala-shell.sh local
- 启动
scala-shell
的现象flink
准备了benv,senv
分别是批处理和流处理程序入口对象
scala> benv.readTextFile("/root/test.txt").flatMap(_.split(" ")).map((_,1)).groupBy(0).sum(1).print()
(1,11)
(2,13)
(hello,4)
(her,3)
(me,1)
(you,2)
3、提交任务到flink 单节点集群
- 统计
/root/test.txt
中的单词数量,准备数据文件
$FLINK_HOME/bin/flink run $FLINK_HOME/examples/batch/WordCount.jar --input /root/test.txt --output /root/out
standalone集群
- 搭建原理:standalone模式是最简单的一种集群模式,不需要yarn、mesos等资源调度平台
- standalone: flink自带集群,资源管理由flink集群管理,开发环境测试使用
在单节点的基础上改动
修改配置
vim $FLINK_HOME/conf/flink-conf.yaml
jobmanager.rpc.address: node1
jobmanager.rpc.port: 6123
jobmanager.heap.size: 1024
taskmanager.heap.size: 1024
taskmanager.numberOfTaskSlots: 2
taskmanager.memory.preallocate: false
parallelism.default: 1
jobmanager.web.port: 8081
taskmanager.tmp.dirs: /opt/flink/taskmanager_tmp_dirs
# 页面提交
web.submit.enable: true
配置主节点:echo "node1:8081" > $FLINK_HOME/conf/masters
配置从节点:echo -e "node1\\nnode2\\nnode3" > $FLINK_HOME/conf/slaves
同步
xsync /opt/flink
xsync /etc/profile.d/my_env.sh
刷新环境:source /etc/profile
flink服务集群启停
启动集群
$FLINK_HOME/bin/start-cluster.sh
停止集群
$FLINK_HOME/bin/stop-cluster.sh
# 单独启动jobmanager或者taskmanager(启动成功后,可以不启动)
$FLINK_HOME/bin/jobmanager.sh [start/stop]
$FLINK_HOME/bin/taskmanager.sh [start/stop]
高可用集群 .....
Yarn搭建Flink集群 .....
未完......