如果您想在单机上搭建一套数据处理平台,那么Apache Flink可能是您的一个不错的选择。Flink 是一个分布式的数据流和批处理的框架。它提供了高效、分布式、容错、可伸缩的批流一体的数据处理能力。下面,我们将从多个方面对Flink单机部署做详细的阐述。
一、安装Java环境和Flink
在安装Flink之前,我们首先需要安装Java环境,这样才能使Flink正常工作。因为Flink需要在JVM上运行,所以我们需要先安装JDK。建议使用Oracle JDK或者OpenJDK。
sudo apt-get update
sudo apt-get install default-jdk
安装完Java之后,我们就可以安装Flink了。你可以到官网上下载Flink的zip包,并解压:
cd /opt
sudo wget https://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.12.2/flink-1.12.2-bin-scala_2.11.tgz
sudo tar zxvf flink-1.12.2-bin-scala_2.11.tgz
如果需要使用Scala版本,请在Flink官网查看对应版本。
二、启动和关闭Flink集群
启动Flink集群有很多种方法,最基础的方式是执行以下命令:
./bin/start-cluster.sh
需要注意的是,以上命令会在后台启动Flink集群服务。如果我们需要终端显示服务启动的日志,我们可以使用如下命令:
./bin/start-cluster.sh start-foreground
同样的,可以使用以下命令关闭Flink集群服务:
./bin/stop-cluster.sh
使用以上命令关闭服务可以一定程度上保证服务进程优雅的退出。
三、提交作业
单机版的Flink支持本地运行和standalone运行,我们这里以standalone运行为例。在开始提交作业之前,需要先进入Flink的bin目录:
cd /opt/flink-1.12.2/bin
下面,让我们将一份Flink WordCount示例程序打包成jar包并提交到Flink集群中进行处理:
cd /opt/flink-1.12.2/examples/batch
mvn clean package
./flink run -c org.apache.flink.examples.java.wordcount.WordCount target/flink-java-examples-0.1-SNAPSHOT.jar
当程序成功提交之后,我们可以在Web控制台中查看相关信息。
四、使用Flink Web UI
在使用Flink时,Flink Web UI是一个非常重要的工具。它可以帮助我们实时监控Flink集群的状态,查询任务状态等等。我们可以通过以下地址访问Flink Web UI:http://localhost:8081/。
在Flink Web UI中,我们可以查看所有的作业列表,以及它们的状态。选中一个作业,我们还可以查看作业的运行状态和详情信息。例如,我们可以查看作业的执行计划,以及任务轨迹等。
五、总结
本篇文章主要以Flink的单机部署为中心,从安装Java环境和Flink、启动和关闭Flink集群、提交作业、使用Flink Web UI几个方面进行了详细的阐述。这些内容能够帮助开发者快速地进行Flink开发。