基于Centos6.5搭建Flink集群

1、准备环境

1.1节点环境

#系统版本
cat /etc/redhat-release 
CentOS release 6.5 (Final)
#hadoop版本
hadoop version
Hadoop 2.7.3.2.5.3.0-37
#jdk版本
java -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)
IP 节点名称 节点任务
192.168.0.189 node1.kg.cn master
192.168.0.190 node2.kg.cn standby
192.168.0.191 node3.kg.cn slave
192.168.0.192 node4.kg.cn slave
192.168.0.193 node5.kg.cn slave

2.2下载

2.2.1下载地址

https://flink.apache.org
选择与我们hadoop版本一致的二进制包
在这里插入图片描述

2.2.2 上传到节点

上传安装文件到指定节点目录:/opt/software
在这里插入图片描述

2.2.3 解压

#解压到/opt/module目录下
tar -zxvf  flink-1.7.2-bin-hadoop27-scala_2.11.tgz -C /opt/module/

在这里插入图片描述

2.2.4 copy到其它节点

scp -r flink-1.7.2/* [email protected]:/opt/module/
scp -r flink-1.7.2/* [email protected]:/opt/module/
scp -r flink-1.7.2/* [email protected]:/opt/module/
scp -r flink-1.7.2/* [email protected]:/opt/module/

3、配置

cd /opt/module/flink-1.7.2/conf

在这里插入图片描述

3.1配置HA

3.1.1 配置masters

主节点配置

vim masters
node1.kg.cn:8087 #端口号为8087
node2.kg.cn:8087

3.1.2 配置slaves

vim slaves
node3.kg.cn
node4.kg.cn
node5.kg.cn

3.1.3 配置flink-conf.yaml

vim flink-conf.yaml

HA模式下,jobmanager不需要指定,在master file中配置,由zookeeper选出leader与standby。

jobmanager.rpc.address: localhost #默认即可

#配置zookeeper

high-availability: zookeeper
high-availability.zookeeper.quorum: node3.kg.cn:2181,node4.kg.cn:2181,node5.kg.cn:2181
high-availability.zookeeper.path.root: /flink
high-availability.cluster-id: /cluster_one # important: customize per cluster
high-availability.storageDir: hdfs:///flink/recovery

3.1.4 scp到其它节点

#flink-conf.yaml
scp -r flink-conf.yaml  node2.kg.cn:/opt/module/flink-1.7.2/conf/
scp -r flink-conf.yaml  node3.kg.cn:/opt/module/flink-1.7.2/conf/
scp -r flink-conf.yaml   node4.kg.cn:/opt/module/flink-1.7.2/conf/
scp -r flink-conf.yaml   node5.kg.cn:/opt/module/flink-1.7.2/conf/
#masters
scp -r masters node2.kg.cn:/opt/module/flink-1.7.2/conf/
scp -r masters node3.kg.cn:/opt/module/flink-1.7.2/conf/
scp -r masters node4.kg.cn:/opt/module/flink-1.7.2/conf/
scp -r masters node5.kg.cn:/opt/module/flink-1.7.2/conf/
#slaves
scp -r slaves  node2.kg.cn:/opt/module/flink-1.7.2/conf/
scp -r slaves  node3.kg.cn:/opt/module/flink-1.7.2/conf/
scp -r slaves  node4.kg.cn:/opt/module/flink-1.7.2/conf/
scp -r slaves  node5.kg.cn:/opt/module/flink-1.7.2/conf/

4、启动

4.1 启动HA集群

cd /opt/module/flink-1.7.2/bin
./start-cluster.sh

4.2 访问webui

http://node1.kg.cn:8087/#/overview
在这里插入图片描述
在这里插入图片描述

4.1 测试HA

jps

在这里插入图片描述

#杀掉进程ID20374
kill -9 20374

在这里插入图片描述
再次访问http://node2.kg.cn:8087/#/jobmanager/config
在这里插入图片描述
此时jobManager地址已成功切换到node2.kg.cn节点上面

再次启动node1节点的jobManager进程

./jobmanager.sh start

5、停止集群

./stop-cluster.sh