天天看点

1.2 Flink单机部署《Flink核心源码解读》

作者:小圈数据

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启动成功。

1.2 Flink单机部署《Flink核心源码解读》

如果有任何疑问欢迎留言,笔者头条号与公众号同名:小圈数据

继续阅读