1.2 Flink单机部署
Flink系统环境要求:
1.Flink可以运行在类UNIX系统上,比如:Linux,Mac OS X,Cygwin (for Windows)
2.Flink使用Java开发,依赖JDK版本:Java 8 或者11
1.下载Flink软件包
Flink源码是使用Java和Scala混合编写,针对使用的Scala版本不同,官网网站提供了scala_2.11和scala_2.12两个版本软件包,下载地址:https://flink.apache.org/downloads.html。本书内容都基于flink-1.14.x-bin-scala_2.12.tgz版本,并且使用CentOS Linux release 7.9操作系统进行讲解演示,如果有另外标注情况除外。
2.解压Flink软件包以及目录说明
tar zxvf flink-1.14.3-bin-scala_2.12.tgz -C /opt/
执行上面命令会把Flink解压到/opt目录下,解压完成后目录结构如下图
[root@localhost ~]# cd /opt/flink-1.14.3/
[root@localhost flink-1.14.3]# ll
总用量 480
drwxrwxr-x. 2 1000 1000 4096 9月 22 21:23 bin
drwxrwxr-x. 2 1000 1000 263 9月 22 21:23 conf
drwxrwxr-x. 7 1000 1000 76 9月 22 21:23 examples
drwxrwxr-x. 2 1000 1000 4096 9月 22 21:23 lib
-rw-r--r--. 1 1000 1000 11357 10月 29 2019 LICENSE
drwxrwxr-x. 2 1000 1000 4096 9月 22 21:23 licenses
drwxr-xr-x. 2 1000 1000 6 9月 15 19:52 log
-rw-rw-r--. 1 1000 1000 458497 9月 22 21:23 NOTICE
drwxrwxr-x. 3 1000 1000 4096 9月 22 21:23 opt
drwxrwxr-x. 10 1000 1000 210 9月 22 21:23 plugins
-rw-r--r--. 1 1000 1000 1309 1月 30 2021 README.txt
和大多数开源项目一样,Flink有bin、conf、lib、log目录,各目录功能说明:
- bin目录用于存放启动、停止相关脚本文件。例如start-cluster.sh、yarn-session.sh、kubernetes-session.sh、start-zookeeper-quorum.sh等
- conf目录用于存放配置文件。例如flink-conf.yaml、masters、workers、log4j.properties等
- lib目录用于存放依赖的二进制jar包。该目录下只有flink-dist_2.12-1.14.3.jar、flink-table_2.12-1.14.3.jar、flink-csv-1.14.3.jar、flink-shaded-zookeeper-3.4.14.jar、log4j-slf4j-impl-2.14.1.jar等文件
- log目录用于存放运行产生的日志文件。包括JobManager、TaskManager日志信息
3.配置JAVA_HOME环境变量,编辑/etc/profile文件,根据JDK安装路径JAVA_HOME。
export JAVA_HOME=/usr/java/jdk1.8.0
export PATH=$PATH:$JAVA_HOME/bin
执行source /etc/profile让变更生效,验证是否生效
[root@localhost ~]# echo $JAVA_HOME
/usr/java/jdk1.8.0
JAVA_HOME既可以通过修改操作系统环境变量来配置,也可以通过修改flink-conf.yaml文件来配置。如果都配置了则flink-conf.yaml优先级更高。打开文件flink-conf.yaml增加或修改配置项env.java.home输入jdk路径即完成配置
env.java.home: /usr/java/jdk1.8.0
4.启动Flink。进入安装目录执行./bin/start-cluster.sh启动单机模式
[root@localhost flink-1.14.3]# ./bin/start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host localhost.localdomain.
Starting taskexecutor daemon on host localhost.localdomain.
[root@localhost flink-1.14.3]#
执行上面命令启动Flink单机模式,如果启动成功可以看到有2个flink相关进程,其中一个进程是jobmanager,它负责集群的任务协调,另外一个进程是taskmanager,它负责运行具体的任务作业,后续章节会详细阐述jobmanager、taskmanager职责
在linux系统运行jdk提供的jps -l命令,能看到两个进程的入口类:
[root@localhost flink-1.14.3]# jps -l
20886 org.apache.flink.runtime.taskexecutor.TaskManagerRunner
20615 org.apache.flink.runtime.entrypoint.StandaloneSessionClusterEntrypoint
21039 sun.tools.jps.Jps
6.从浏览器访问http://host1.test.com:8081页面,如果能看到如下图的Flink web管理页面,则证明Flink启动成功。
如果有任何疑问欢迎留言,笔者头条号与公众号同名:小圈数据