基础环境

准备3台虚拟机

配置无密码登录

配置方法:https://ipooli.com/2020/04/linux_host/

并且做好主机映射。

https://www.apache.org/dyn/closer.lua/flink/flink-1.10.1/flink-1.10.1-bin-scala_2.11.tgz

并解压缩

部署

Standalone Cluster 单机模式

启动

进入flink-1.10.1 文件夹内

直接执行:

./bin/start-cluster.sh

image
image

集群模式

修改配置文件

进入flink-1.10.1 文件夹内

  • 修改./conf/flink-conf.yaml

修改如下几个参数:

jobmanager.rpc.address: bigdata1
jobmanager.rpc.port: 6123
jobmanager.heap.size: 1024m
taskmanager.memory.process.size: 1568m
taskmanager.numberOfTaskSlots: 3
parallelism.default: 3
  • 修改./conf/masters 配置master节点

修改为:

bigdata1:8081
  • 修改./conf/slaves 配置slaves节点

修改为:

bigdata1
bigdata2
bigdata3

拷贝到其他两台机器


scp -r /home/admin/flink/ root@bigdata2:/home/admin/

scp -r /home/admin/flink/ root@bigdata3:/home/admin/

启动集群

在 bigdata1上执行:

./bin/start-cluster.sh

随后访问 http://bigdata1:8081/

可以看到有3个Task Managers,1个Job Manager 为bigdata1

image
image

HA高可用模式

两个JobManager,当主 JobManager 宕机之后,使用备用 JobManager ,等宕机的 JobManager 恢复之后,又变成备用

下载hadoop依赖包

  • 对应hadoop版本下载

我使用的hadoop版本为:hadoop-2.6.5 对应依赖包:下载

其他版本:下载

  • 把依赖包放在flink 的 lib 目录下
  • 配置环境变量
vi /etc/profile
# 添加环境变量
export HADOOP_CONF_DIR=/home/admin/hadoop-2.6.5/etc/hadoop
# 环境变量生效
source /etc/profile

修改如下几个参数

high-availability: zookeeper
high-availability.storageDir: hdfs://bigdata1/flinkha/
high-availability.zookeeper.quorum: bigdata1:2181
high-availability.zookeeper.path.root: /flink
state.checkpoints.dir: hdfs:///flink/checkpoints
state.savepoints.dir: hdfs:///flink/savepoints

启动hdfs

关于hadoop的配置文件与启动方式在这就不赘述了。

启动Flink中zookeeper

进入Flink文件夹

./bin/start-zookeeper-quorum.sh

jps 查看是否启动

在bigdata1中执行

./bin/start-cluster.sh

查看

分别打开访问:

http://bigdata1:8081/

http://bigdata2:8081/

两个页面都可以查看集群信息

测试

  • 我们可以 kill掉bigdata1机器上的Job Manager,然后备用(bigdata2)Job Manager也是可以使用的。

  • 再启动bigdata1的Job Manager
./bin/jobmanager.sh start

小结:本篇介绍了Flink单机,集群,HA高可用三种部署方式。

扫码关注公众号《ipoo》

ipoo
ipoo