八卦阵 发表于 2024-8-9 08:51:54

10分钟入门Flink--安装

本文介绍Flink的安装步骤,主要是Flink的独立部署模式,它不依靠其他平台。文中内容分为4块:前置准备、Flink本地模式搭建、Flink Standalone搭建、Flink Standalong HA搭建。
演示使用的Flink版本是1.15.4,官方文档地址:本地模式安装 | Apache Flink。
1、前置准备

1.1、因为反面要搭建集群,所以必要准备3台linux服务器,集群服务器节点提前安装JDK 8以上版本。
1.2、给集群的每台服务器分配好角色。雷同下图:

https://img-blog.csdnimg.cn/img_convert/d748e32839f81a230cc5936aab6c24ee.png
1.3、集群的服务器之间配置好ssh免密登录,制止后续搭建出现贫困,这一步肯定要做。简单步骤如下:

[*]在master呆板执行ssh-keygen -t rsa
[*]在master呆板执行下令,将密钥拷贝到别的服务器ssh-copy-id -i /root/.ssh/id_rsa.pub 目标服务器IP
2、Flink本地模式搭建

搭建本地模式只必要一台服务器。下面以master服务器为例。
2.1、下载安装包

安装包下载地址Downloads | Apache Flink、https://archive.apache.org/dist/flink/flink-1.15.4。
解压安装包:
tar -xzf flink-1.15.4-bin-scala_2.12.tgz
2.2、启动集群

进入到解压目次下,执行以下脚本:
./bin/start-cluster.sh


通过jps查询相干进程:
17409 TaskManagerRunner
13597 StandaloneSessionClusterEntrypoint
若出现上述进程,则代表启动乐成。StandaloneSessionClusterEntrypoint为Flink主进程,即JobManager;TaskManagerRunner为Flink从进程,即TaskManager。
2.3、查看WebUI

在浏览器中访问服务器8081端口即可查看Flink的WebUI,比如http://10.20.0.93:8081/,从WebUI中可以看出,当前本地模式的Task Slot数目和TaskManager数目。访问结果如下图所示:

https://img-blog.csdnimg.cn/img_convert/da46623eafd8a0f374ea5abe132a9bb4.png
假如出现访问不通的情况,使用如下方式解决:
正常启动集群后,只能通过http://localhost:8081访问Flink Web UI,假如通过IP地址访问,则出现连接被拒绝的情况。此时必要修改Flink配置文件flink-conf.yaml,将localhost改成0.0.0.0,修改之后重启服务就可以使用IP地址访问。修改部门见下图:

https://img-blog.csdnimg.cn/img_convert/c53beea940dffb81eab4e5179e6068e1.png
2.4、克制集群

./bin/stop-cluster.sh
3、Flink Standalone搭建

搭建Flink Standalone模式,必要3台服务器。角色安排见下图:

https://img-blog.csdnimg.cn/img_convert/d748e32839f81a230cc5936aab6c24ee.png
3.1、下载安装包

安装包下载地址Downloads | Apache Flink、https://archive.apache.org/dist/flink/flink-1.15.4。
在JobManager服务器下载安装包,解压安装包:
tar -xzf flink-1.15.4-bin-scala_2.12.tgz
-C /data/software/ 3.2、修改flink-conf.yaml配置文件

Flink的配置文件都存放于安装目次下的conf目次。在JobManager服务器,进入该目次,执行以下操作。
vim conf/flink-conf.yaml
将文件中jobmanager.rpc.address属性的值改为JobManager呆板的ip地址,如下:
jobmanager.rpc.address: 10.20.0.93
jobmanager.bind-host: 0.0.0.0

3.3、修改workers文件

workers文件必须包罗所有必要启动的TaskManager节点的主机名,且每个主机名占一行。在JobManager服务器,执行以下操作
vim conf/workers
修改为别的两台TaskManager的ip地址:
10.20.0.92
10.20.0.90
3.4、复制Flink安装文件到其他服务器

在JobManager服务器执行下令,将安装文件复制到别的TaskManager服务器,下令如下:
scp -r /data/software/flink-15.4/ 10.20.0.92:/data/software/flink-15.4/
scp -r /data/software/flink-15.4/ 10.20.0.90:/data/software/flink-15.4/

3.5、启动集群

在JobManager节点上进入Flink安装目次,执行以下下令启动Flink集群:
bin/start-cluster.sh

启动完毕后,在集群各服务器上通过jsp下令查看Java进程。若各节点存在以下进程,则说明集群启动乐成:
JobManager节点:StandaloneSessionClusterEntrypoint
TaskManager1节点:TaskManagerRunner
TaskManager2节点:TaskManagerRunner

实验提交一个简单使命,假如使命正常执行完毕,则集群统统正常。提交Flink自带的简单使命如下:
./bin/flink run examples/streaming/WordCount.jar

3.6、查看WebUI

通过JobManager节点访问WebUI,可以看到此时是1个JobManager,2个TaskManager,也能以上执行完毕的使命,如下图:

https://img-blog.csdnimg.cn/img_convert/7732b76602cc3f6855d2f87c30dbde97.png

https://img-blog.csdnimg.cn/img_convert/98232fe17087ce78e993843cd9d9a3a9.png

https://img-blog.csdnimg.cn/img_convert/a143c428774214b83f74da9fb27de849.png
4、Flink Standalone HA搭建

4.1、HA模式介绍

在Flink Standalone模式下,实现HA的方式可以使用ZooKeeper在所有正在运行的JobManager实例之间举行分布式协调,实现多个JobManager无缝切换。Flink Standalone模式的HA架构如图:

https://img-blog.csdnimg.cn/img_convert/7c48cb41e9fecb6e4ded469be1d3c6b6.png
HA的核心就是:可以在集群中启动多个JobManager,并使它们都向ZooKeeper举行注册,ZooKeeper使用自身的推举机制包管同一时间只有一个JobManager是运动状态(Active)的,其他的都是备用状态(Standby)。当运动状态的JobManager出现故障时,ZooKeeper会从其他备用状态的JobManager选出一个成为运动JobManager。流程见下图:

https://img-blog.csdnimg.cn/img_convert/a65f6595867fe6b7ef3dc810c6570950.png
别的,运动状态的JobManager在工作时会将其元数据(JobGraph、应用程序JAR文件等)写入一个长途长期化存储体系(比方HDFS)中,还会将元数据存储的位置和路径信息写入ZooKeeper存储,以便能够举行故障恢复,如图下图所示:

https://img-blog.csdnimg.cn/img_convert/c394b0a44a449ab76573412e00de8743.png
4.2、角色分配

下面仍然采取前面的的3个节点,在前面已经搭建好的Flink Standalone集群上举行操作。集群角色分配如下图:

https://img-blog.csdnimg.cn/img_convert/51c77d12fac6669f275efc0b97b32bcb.png
搭建步骤如下:
4.3、修改masters文件

Flink的masters文件用于配置所有必要启动的JobManager节点以及每个JobManager的WebUI绑定的端口。
进入centos01节点的Flink安装目次,修改conf/masters文件,修改内容如下:
centos01:8081
centos02:8082
上述配置表示在集群centos01和centos02节点上启动JobManager,并且每个JobManager的WebUI访问端口分别为8081。
4.4、修改flink-conf.yaml文件设置高可用模式

进入centos01节点的Flink安装主目次,修改conf/flink-conf.yaml文件,添加以下内容:
# 将高可用模式设置为ZooKeeper,默认集群不会开启高可用状态
high-availability: zookeeper
# ZooKeeper集群主机名(或IP)与端口列表,多个以逗号分隔
high-availability.zookeeper.quorum: centos01:2181,centos02:2181,centos03:2181
# 用于持久化JobManager元数据(JobGraph、应用程序JAR文件等)的HDFS地址,以便进行故障恢复,ZooKeeper上存储的只是元数据所在的位置路径信息
high-availability.storageDir: /data/software/flink-15.4/ha
# 获取storageDir也可用hdfs,如果使用hdfs的话,则需要单独安装hdfs,本文暂不使用
#high-availability.storageDir: hdfs://centos01:9000/flink/recovery

4.5、修改zoo.cfg文件

Flink内置了ZooKeeper服务和相干脚本文件,假如你的集群中没有安装ZooKeeper,则可以通过修改zoo.cfg文件配置Flink内置的ZooKeeper。生产环境发起使用独立的外部ZooKeeper。
进入centos01节点的Flink安装主目次,修改conf/zoo.cfg文件,添加以下内容,配置ZooKeeper启动节点与推举相干端口:
server.1=centos01:2888:3888
server.2=centos02:2888:3888
server.3=centos03:2888:388
上述配置表示在centos01、centos02和centos03节点上启动ZooKeeper服务,其中1、2、3表示每个ZooKeeper服务器的唯一ID。
4.6、复制Flink安装文件到其他节点

继续采取scp下令,复制centos01的文件到其他节点,scp下令会把相同文件覆盖。
scp -r /data/software/flink-15.4/ centos02:/data/software/flink-15.4/
scp -r /data/software/flink-15.4/ centos03:/data/software/flink-15.4/
4.7、启动ZooKeeper集群

假如使用Flink内置的ZooKeeper,在centos01节点执行以下下令,即可启动整个ZooKeeper集群:
./bin/start-zookeeper-quorum.sh
启动过程见下图:

https://img-blog.csdnimg.cn/img_convert/b9a42c8be19ffc160231237452e29f63.png
启动乐成后,在每个Flink节点上都会产生一个名为FlinkZooKeeperQuorumPeer的进程,该进程是ZooKeeper服务的守护进程。使用jsp可以查看到如下进程:

https://img-blog.csdnimg.cn/img_convert/0a818349ead4f05551018d542518d122.png
4.8、启动Flink Standalone HA集群

在centos01节点上执行以下下令,启动Flink Standalone HA集群:
bin/start-cluster.sh

启动过程雷同下图:

https://img-blog.csdnimg.cn/img_convert/38b31576724b91d20c2de1166bb906e3.png
单独查看centos01的进程,如下图:

https://img-blog.csdnimg.cn/img_convert/5004ef0bf9921c3b5e802319650c3ef9.png
单独查看centos02的进程,如下图:

https://img-blog.csdnimg.cn/img_convert/dd1c4463020b1b047c3fac0ad88a5b0e.png
单独查看centos03的进程,如下图:

https://img-blog.csdnimg.cn/img_convert/8603f68b29dcc430d77b2653b36fccfc.png
在查看/tmp目次,可以看到相干元数据信息:

https://img-blog.csdnimg.cn/img_convert/d7591598a5a7a33334f3ec9f18ee58fa.png
4.9、访问WebUI

之前的防止,只有centos01可以访问dashboard,现在centos01、centos02都可以访问。
在提交一个测试,假如能正常执行,说明整个集群正常。
./bin/flink run examples/streaming/WordCount.jar

4.10、克制集群

若要克制Flink Standalone HA集群,在centos01节点上首先执行以下下令克制整个Flink集群:
bin/stop-cluster.sh
然后执行以下下令,克制ZooKeeper集群:
bin/stop-zookeeper-quorum.sh
以上是Flink的安装步骤!下一篇介绍Flink DataStream的概念和使用案例。
原文链接:10分钟入门Flink--安装 - 不焦躁的程序员、10分钟入门Flink--安装
感谢你的阅读,码字不易,欢迎点赞 关注 收藏!!!

https://img-blog.csdnimg.cn/img_convert/35bb9f68d797a589f9c2110cfdec336b.jpeg

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 10分钟入门Flink--安装