基础环境
准备3台虚拟机
配置无密码登录
做好主机映射。
下载Flink
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
集群模式
修改配置文件
进入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
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
修改./conf/flink-conf.yaml
配置文件
修改如下几个参数
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
查看是否启动
启动Flink
在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高可用三种部署方式。
更多文章:www.ipooli.com
扫码关注公众号《ipoo》