大数据之—Flink环境搭建

发布时间 2023-03-24 15:29:13作者: 黄河大道东

前言

参考: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

访问:http://node1:8081

测试

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分别是批处理和流处理程序入口对象

img

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集群管理,开发环境测试使用

img

在单节点的基础上改动

修改配置

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]

访问:http://node1:8081

高可用集群 .....

Yarn搭建Flink集群 .....

未完......