Apache Flink 是一个框架和分布式处理引擎,
用于在无边界和有边界数据流上进行有状态的计算。
Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。
Flink并没有依靠自身实现所有分布式系统需要解决的问题,
而是在已有集群基础设施和服务之上专注于它的核心功能。
一个 Flink 集群总是包含一个 JobManager 以及一个或多个 Flink TaskManager。
JobManager 负责处理 Job 提交、 Job 监控以及资源管理。
Flink TaskManager 运行 worker 进程,
负责实际任务 Tasks 的执行,而这些任务共同组成了一个 Flink Job
官网:https://flink.apache.org/
安装包:https://flink.apache.org/downloads/
Flink搭建需要四个不同组件
1.作业管理器(JobManager)
控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的 JobManager 所控制执行。
2.资源管理器(ResourceManager)
主要负责管理任务管理器(TaskManager)的插槽(slot),TaskManger 插槽是Flink中定义的处理资源单元。
3.任务管理器(TaskManager)
Flink中的工作进程。通常在Flink中会有多个TaskManager运行,每一个TaskManager都包含了一定数量的插槽(slots)。
插槽的数量限制了TaskManager能够执行的任务数量。
4.分发器(Dispatcher)
可以跨作业运行,它为应用提交提供了REST接口。
一个 Flink 集群总是包含一个 JobManager 以及一个或多个 Flink TaskManager。JobManager 负责处理 Job 提交、 Job 监控以及资源管理。 Flink TaskManager 运行 worker 进程, 负责实际任务 Tasks 的执行,而这些任务共同组成了一个 Flink Job。
进入 Flink 官网,下Apache Flink 1.18.0
https://flink.apache.org/zh/downloads/
1.下载Linux环境下的jdk1.8 https://www.oracle.com/java/technologies/downloads/#java8 2.JDK压缩包解压 tar -zxvf jdk-8u391-linux-x64.tar.gz -C /usr/local 3.环境变量导入 vi /etc/profile export JAVA_HOME=/usr/local/jdk1.8.0_391 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin export PATH=$PATH:${JAVA_PATH} ##环境变量生效 source /etc/profile ##确认安装是否成功 [root@flink01 conf]# java -version java version "1.8.0_391" Java(TM) SE Runtime Environment (build 1.8.0_391-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.391-b13, mixed mode)
cat >> /etc/hosts << EOF 172.18.12.85 flink01 172.18.12.86 flink02 172.18.12.87 flink03 EOF 1.进入conf目录中,配置flink-conf.yaml文件 [root@flink01 opt]# cd /flink/flink-1.18.0/conf/ [root@flink01 conf]# ll total 56 -rw-r--r-- 1 501 games 14142 Oct 18 20:07 flink-conf.yaml -rw-r--r-- 1 501 games 2917 Oct 18 20:07 log4j-cli.properties -rw-r--r-- 1 501 games 3184 Oct 18 20:07 log4j-console.properties -rw-r--r-- 1 501 games 2041 Oct 18 20:07 log4j-session.properties -rw-r--r-- 1 501 games 2708 Oct 18 20:07 log4j.properties -rw-r--r-- 1 501 games 2865 Oct 18 20:07 logback-console.xml -rw-r--r-- 1 501 games 1550 Oct 18 20:07 logback-session.xml -rw-r--r-- 1 501 games 2314 Oct 18 20:07 logback.xml -rw-r--r-- 1 501 games 15 Oct 24 2022 masters -rw-r--r-- 1 501 games 10 Oct 18 20:07 workers -rw-r--r-- 1 501 games 1434 Oct 18 20:07 zoo.cfg [root@flink01 conf]# vi flink-conf.yaml # jobManager 的IP地址 jobmanager.rpc.address: flink01 # 每个TaskManager 提供的任务 slots 数量大小 # 它的意思是当前task能够同时执行的线程数量 (实际生产环境建议是CPU核心-1) taskmanager.numberOfTaskSlots: 2 jobmanager.rpc.address: node01 JobManager地址 jobmanager.rpc.port: 6123 JobManagerRPC通信端口 jobmanager.heap.size: 1024m JobManager所能使用的堆内存大小 taskmanager.heap.size: 1024m TaskManager所能使用的堆内存大小 taskmanager.numberOfTaskSlots: 2 TaskManager管理的TaskSlot个数,依据当前物理机的 核心数来配置,一般预留出一部分核心(25%)给系统及其他进程使用,一个slot对应一个core。如果 core支持超线程,那么slot个数*2 rest.port: 8081 指定WebUI的访问端口 --单节点放开此选项即可 注意: flink01 jobmanager.rpc.address为flink01 flink02 jobmanager.rpc.address为flink01 flink03 jobmanager.rpc.address为flink01 2.配置masters文件 flink01\flink02\flink03节点均修改为: #localhost:8081 flink01:8081 3.配置workers文件 flink01\flink02\flink03节点均修改为: #localhost flink02 flink03
vi /etc/profile 添加以下内容: export FLINK_HOME=/flink/flink-1.18.0 export PATH=$PATH:$FLINK_HOME/bin 环境变量生效 source /etc/profile 启动: start-cluster.sh [root@flink01 ~]# start-cluster.sh Starting cluster. Starting standalonesession daemon on host flink01. root@flink02's password: Starting taskexecutor daemon on host flink02. root@flink03's password: Starting taskexecutor daemon on host flink03. [root@flink01 ~]# jps 3525 Jps 3439 StandaloneSessionClusterEntrypoint [root@flink02 ~]# jps 1665 Jps [root@flink03 ~]# jps 1645 Jps 停止: stop-cluster.sh [root@flink01 conf]# stop-cluster.sh root@flink02's password: Stopping taskexecutor daemon (pid: 2225) on host flink02. root@flink03's password: Stopping taskexecutor daemon (pid: 2205) on host flink03. Stopping standalonesession daemon (pid: 4370) on host flink01. 可视化界面 http://192.168.3.15:18080/#/overview
1.SSH服务异常 [root@flink01 ~]# start-cluster.sh Starting cluster. Starting standalonesession daemon on host flink01. /flink/flink-1.18.0/bin/config.sh: line 525: ssh: command not found /flink/flink-1.18.0/bin/config.sh: line 525: ssh: command not found yum install -y openssh-clients openssh-server initscripts net-tools netstat -anp | grep 22 --查看端口 systemctl start sshd [root@flink02 ~]# netstat -lnput |grep :22 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 333/sshd tcp6 0 0 :::22 :::* LISTEN 333/sshd 2.Flink web UI 打开不了解决办法 systemctl status firewalld.service查看防火墙状态,看是否是inactive 如果防火墙没有问题还开不了,看flink/conf/flink-conf.yaml里面的 rest.bind-address 参数 改为0.0.0.0 最后重启集群
猜你喜欢
- 3小时前逻辑回归(Logistic Regression)
- 3小时前计算机毕业设计——简单的网页设计
- 3小时前【JaveWeb教程】(15) SpringBootWeb之 响应 详细代码示例讲解
- 3小时前Vue项目中关于全局css的处理
- 3小时前【论文阅读笔记】4篇Disentangled representation learning用于图像分割的论文
- 3小时前15.单例模式
- 3小时前TDengine Kafka Connector将 Kafka 中指定 topic 的数据(批量或实时)同步到 TDengine
- 3小时前计算机毕业设计 基于Hadoop的物品租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解
- 3小时前汽车座椅空调(汽车座椅空调出风口可以封掉吗)
- 44分钟前小考成绩怎么查(小考成绩怎么查2024山西)
网友评论
- 搜索
- 最新文章
- 热门文章