手把手教你搭建实时大数据引擎FLINK
服务器规划
- 服务器规划
服务名称 | 职能 |
---|---|
zhen 192.168.2.5(震) | master+slave |
xun 192.168.2.6(巽) | slave |
li 192.168.2.7(离) | slave |
Standalone高可用HA模式
架构图
下载并上传tar包
下载安装包 https://archive.apache.org/dist/flink/flink-1.6.1/flink-1.6.1-bin-hadoop27-scala_2.11.tgz
具体安装步骤
1.在flink-conf.yaml中添加zookeeper配置
# jobManager 的IP地址
jobmanager.rpc.address: zhen
# JobManager 的端口号
jobmanager.rpc.port: 6123
# JobManager JVM heap 内存大小
jobmanager.heap.size: 1024
# TaskManager JVM heap 内存大小
taskmanager.heap.size: 1024
# 每个 TaskManager 提供的任务 slots 数量大小
taskmanager.numberOfTaskSlots: 2
#是否进行预分配内存,默认不进行预分配,这样在我们不使用flink集群时候不会占用集群资源
taskmanager.memory.preallocate: false
# 程序默认并行计算的个数
parallelism.default: 1
#JobManager的Web界面的端口(默认:8081)
jobmanager.web.port: 8081
#配置每个taskmanager生成的临时文件目录(选配)
taskmanager.tmp.dirs: /home/hadoop/flink/flink-1.6.1/tmp
#开启HA,使用文件系统作为快照存储
state.backend: filesystem
#启用检查点,可以将快照保存到HDFS
state.backend.fs.checkpointdir: hdfs://zhen:9000/flink-checkpoints
#使用zookeeper搭建高可用
high-availability: zookeeper
# 存储JobManager的元数据到HDFS
high-availability.storageDir: hdfs://zhen:9000/flink/ha/
high-availability.zookeeper.quorum: zhen:2181,xun:2181,li:2181
2.将配置过的HA的flink-conf.yaml
分发到另外两个节点
scp -r flink-conf.yaml xun:$PWD
scp -r flink-conf.yaml li:$PWD
3.到节点2中修改flink-conf.yaml中的配置,将JobManager设置为自己节点的名称
jobmanager.rpc.address: xun
4.修改masters配置文件 vi masters 并同步到其他节点
zhen:8081
xun:8081
scp -r masters xun:$PWD
scp -r masters li:$PWD
5.修改slaves 配置文件 vi slaves 并同步到其他节点
zhen
xun
li
scp -r slaves xun:$PWD
scp -r slaves li:$PWD
6.启动zookeeper
集群
7.启动HDFS
集群
8.启动flink
集群
./bin/start-cluster.sh
启动完成
9.分别查看两个节点的Flink Web UI
http://192.168.2.6:8081/#/overview
登录界面
10.kill掉一个节点,查看另外的一个节点的Web UI
http://192.168.2.5:8081/#/submit
yarm 集群环境搭建
1.修改Hadoop的yarn-site.xml,添加该配置表示内存超过分配值,是否将任务杀掉。默认为true。
运行Flink程序,很容易超过分配的内存
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
2.同步到其他节点
scp yarn-site.xml xun:$PWDxun
scp yarn-site.xml li:$PWD
3.启动HDFS、YARN集群
start-all.sh