flink学习笔记-环境搭建篇
flink部署模式总的来讲分为三种:Local、Standlone、Flink On Yarn/Mesos/K8s、S3,Local模式相对比较简单,可以直接参照官网,由于官网文档在HA模式搭建不是很清晰,尤其是与Hadoop生态体系集成时,没有一个很好的引导,故本文将着重介绍后面两种常用模式的配置搭建即:Standlone和Flink On Yarn。
一、环境清单:
1.系统:Mac OS、Linux 系统或者 Windows
2.虚拟机:VMware funsion 基于虚拟机的CentOS7安装包 (可选)
3.Java运行环境 : Java 版本至少是Java 8 或者 java 8 +
4.flink-1.10.0-bin-scala_2.11.tgz 下载地址:flink官网下载地址
5. hadoop-2.6.0-cdh5.16.2.tar.gz 可从官网下载
6.Hadoop环境集成依赖jar包 flink-shaded-hadoop-2-uber-2.6.5-10.0.jar flink-shaded-hadoop-2-uber-2.6.5-10.0
二、Standalone模式部署
使用VMware虚拟机基于CentOS7搭建一个3个节点的集群:node01,node02,node03
节点角色分配
master节点:node01
slave节点:node02,node03
1)三台节点先配置ssh免密登录,然后将flink-1.10.0-bin-scala_2.11.tgz 、hadoop-2.6.0-cdh5.16.2.tar.gz包上传到node01节点。
scp flink-1.10.0-bin-scala_2.11.tgz root@node01:/apps/bigdata/
将flink-1.10.0-bin-scala_2.11.tgz 压缩包解压到指定目录flink
tar -zxvf flink-1.10.0-bin-scala_2.11.tgz -C flink
2)修改flink/conf/目录下flink-conf.yaml
vim flink/conf/flink-conf.yaml
##配置master节点ip
jobmanager.rpc.address: node01
##配置slave节点可用内存,单位MB
taskmanager.heap.mb: 2048
##配置每个节点的可用slot,1 核CPU对应 1 slot
##the number of available CPUs per machine
taskmanager.numberOfTaskSlots: 5
##默认并行度 1 slot资源
parallelism.default: 1
3)修改slave节点配置文件slaves,将node02、node3节点写入
vim slaves
node02
node03
4)将修改好的flink整个目录远程拷贝到node02、node03节点
scp -r flink/ node02:/apps/bigdata/
scp -r flink/ node03:/apps/bigdata/
5)启动集群
##在master节点上执行此脚本,就可以启动集群,前提要保证master节点到slaver节点可以免密登录,
##因为它的启动过程是:先在master节点启动jobmanager进程,然后ssh到各slaver节点启动taskmanager进程
./bin/start-cluster.sh
停止集群:
./bin/stop-cluster.sh
提交第一个flink任务,执行完成输入即可。
./bin/flink run examples/streaming/WordCount.jar
三、Flink On Yarn模式
1)解压hadoop-2.6.0-cdh5.16.2.tar.gz 到指定目录,设置Hadoop环境变量,如果系统已配置好hadoop环境可以忽略
tar -zxvf hadoop-2.6.0-cdh5.16.2.tar.gz -C hadoop
vim /etc/profile
#设置hadoop路径
export HADOOP_CONF_DIR=/apps/bigdata/hadoop/
2)将flink与hadoop环境集成依赖包flink-shaded-hadoop-2-uber-2.6.5-10.0.jar放入flink/lib目录
3)查看使用方法
./bin/yarn-session.sh -h
3)开启动一个YARN session 即 开启一个Yarn 模式的 Flink 集群
./bin/yarn-session.sh -n 4 -jm 1024m -tm 4096m -s 8
上面命令启动了4个TaskManager,每个TaskManager内存为4G且占用了8个核(是每个TaskManager,默认是1个核)。在启动YARN session的时候会加载conf/flink-config.yaml配置文件,我们可以根据自己的需求去修改里面的相关参数.
YARN session启动之后就可以使用bin/flink来启动提交作业
./bin/flink run examples/streaming/WordCount.jar --input /apps/bigdata/logs/input --output /apps/bigdata/logs/output
后台运行 yarn session
如果你不希望flink yarn client一直运行,也可以启动一个后台运行的yarn session。使用这个参数:-d 或者 --detached 在这种情况下,flink yarn client将会只提交任务到集群然后关闭自己。注意:在这种情况下,无法使用flink停止yarn session。 必须使用yarn工具来停止yarn session。
yarn application -kill <applicationId>