大数据实操篇 No.9-Flink Standalone模式部署及使用

第1章 简介

在前面的文章中把离线计算的整套流程和框架基本介绍了一遍,接下来的章节章我们将开始介绍实时计算的框架和使用,重点以Flink为例,Apache Flink是一个分布式数据处理引擎,用于无限流数据和有限流数据进行有状态的流计算。由于笔者编写文章之前 Flink-1.11.0 刚发布不久,所以笔者后续所有的文章都是以 Flink-1.11.0 为例。

本章主要介绍Flink实操:单机Standalone模式的部署及使用。

 

第2章 安装配置

2.1 下载安装

官网地址:https://flink.apache.org/

到官网下载文件,或通过源码编译(可以参考笔者的另外一篇文章:Flink源码编译),放置到机器上,单机standalone模式相对简单,只需要一台机器即可,笔者用的版本是Flink-1.11.0

2.2 添加Hadoop依赖

Flink-1.11.0之前的版本可以通过下载flink-shaded源码,版本对应Flink源码下pom.xml里的flink.shaded.version节点内容

11.0

官方下载地址:https://flink.apache.org/downloads.html#flink-shaded

下载后解压,执行编译命令,进行编译

mvn clean install -Dhadoop.version=3.1.2

将编译出的jar包flink-shaded-hadoop-2-uber-3.1.2-10.0.jar放置到flink下lib目录

Flink-1.11.0之后flink-shaded源码里已经去掉了hadoop,官方推荐配置使用环境变量的方式

vi /etc/profile
配置如下内容
export HADOOP_CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath)
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

加载环境变量

source /etc/profile

 

第3章 启动/停止

单机standalone模式,在配置好环境变量后,即可直接启动

3.1 启动

执行bin目录下start-cluster.sh 

[zihao@hadoop100 flink-1.11.0]$ bin/start-cluster.sh 
Starting cluster.
Starting standalonesession daemon on host hadoop100.
Starting taskexecutor daemon on host hadoop100.
[zihao@hadoop100 flink-1.11.0]$ jps
8853 TaskManagerRunner
8566 StandaloneSessionClusterEntrypoint
8887 Jps

运行进程

[zihao@hadoop100 flink-1.11.0]$ jps
8853 TaskManagerRunner
8566 StandaloneSessionClusterEntrypoint
8887 Jps

可以看到运行的进程: 一个jobmanager(StandaloneSessionClusterEntrypoint);一个taskmanager(TaskManagerRunner)。

3.2 停止

执行bin目录下stop-cluster.sh

[zihao@hadoop100 flink-1.11.0]$ bin/stop-cluster.sh 
Stopping taskexecutor daemon (pid: 8853) on host hadoop100.
Stopping standalonesession daemon (pid: 8566) on host hadoop100.

3.3 访问Flink Dashboard

启动完成后,可以打开Flink web页面,访问地址:http://hadoop100:8081(你安装的主机IP:端口,端口默认8081,如端口有冲突可到修改配置,更换端口)

大数据实操篇 No.9-Flink Standalone模式部署及使用_第1张图片

 

第4章 运行作业

4.1 直接运行一个wordcount示例

[zihao@hadoop100 flink-1.11.0]$ bin/flink run examples/streaming/WordCount.jar
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/module/flink-1.11.0-bin/flink-1.11.0/lib/log4j-slf4j-impl-2.12.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/module/hadoop-3.1.2/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Executing WordCount example with default input data set.
Use --input to specify file input.
Printing result to stdout. Use --output to specify output path.
Job has been submitted with JobID 08b4c72ef15eeb87a9958a66ef37f04e
Program execution finished
Job with JobID 08b4c72ef15eeb87a9958a66ef37f04e has finished.
Job Runtime: 451 ms

 4.2 查看Flink Dashboard

大数据实操篇 No.9-Flink Standalone模式部署及使用_第2张图片

 大数据实操篇 No.9-Flink Standalone模式部署及使用_第3张图片

4.3 查看结果

仍然在Flink web页面查看,没有指定任何input和output的情况下,直接到TaskManager 的 stdout 日志,就可以看到 Word Count 的计算结果。

大数据实操篇 No.9-Flink Standalone模式部署及使用_第4张图片

 

至此,Flink Standalone模式部署配置完成,在接下来的章节中,将介绍Standalone集群高可用模式部署配置及使用,和Flink on Yarn集群高可用模式的部署配置及使用。

你可能感兴趣的:(从0到1的大数据探索,flink,hadoop,大数据,linux,java)