Flink的安装、项目创建、任务打包和部署完整实现,任务实现使用JAVA语言

Flink资源下载地址

 Flink安装包下载地址

一、本地模式安装Flink

1、在Linux服务上,创建flink文件夹  

mkdir flink

2、上传文件并解压

tar -zxvf flink-1.14.6-bin-scala_2.11.tgz

解压完成后,如图:

3、启动Flink
进入到解压目录下,执行以下脚本:

 ./bin/start-cluster.sh

启动成功,通过jps查看服务信息:

4、访问Flink
在浏览器中访问服务器8081端口即可查看Flink的WebUI,
比如http://82.xxx.xxx.xxx:8081/,从WebUI中可以看出,当前本地模式的Task Slot数量和TaskManager数量。访问结果如下图所示:


5、停止Flink

./bin/stop-cluster.sh

二、创建Flink任务

1、不同的Main方法
创建Flink的main方法和Springboot项目中main方法的依赖是不同的,在pom.xml文件中需要注意。区别主要如下:

  • Flink创建Java任务的main方法和Spring Boot的main方法之所以不同,是因为它们服务于不同的目的和框架。
  • 在Flink中,创建Java任务的main方法主要用于定义和配置Flink作业的执行逻辑。这个main方法通常包含了Flink的核心API调用,例如创建数据源、定义转换操作和设置输出等。Flink作业的执行逻辑会在Flink集群上进行分布式计算。
  • 而Spring Boot的main方法则是用于启动一个基于Spring框架的应用程序。Spring Boot主要用于开发Web应用或者其他类型的企业级应用。在Spring Boot的main方法中,你可以初始化Spring容器、配置各种组件、定义路由规则等。Spring Boot应用程序通常会运行在一个嵌入式的服务器上,如Tomcat或Jetty。

总结来说,Flink的main方法用于定义分布式计算任务的执行逻辑,而Spring Boot的main方法用于启动基于Spring框架的应用程序。

2、创建Flink项目
使用Maven命令创建一个项目,再使用Intellij Idea打开该项目,打开cmd输入:

mvn

org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -DarchetypeGroupId=org.apache.flink

-DarchetypeArtifactId=flink-quickstart-scala

-DarchetypeVersion=1.8.1

-DgroupId=com.myflink

-DartifactId=flink-study-scala

-Dversion=0.1

-Dpackage=quickstart

-DinteractiveMode=false

开始执行:

创建完成,目录结构:

三、创建Flink任务

实现kafka同步数据到sink,创建main方法,大致项目结构如下:

启动main方法,在kafka生产数据:

打印信息:

四、Flink任务打包

1、打开项目,找到project structure:

2、然后选择主类,点击应用Apply:

3、构建服务

然后会继续弹出,点击Build

4、构建成功:

五、Flink任务部署

1、上传jar任务到flink-1.14.6/examples/streaming 目录下

上传完成后,执行命令:

./bin/flink run examples/streaming/flink-study-scala-0.1.jar

启动成功,访问页面

六、停止Flink任务

1、查询JobID:

./bin/flink list

2、执行停止命令:

./bin/flink cancel f26d5469cf2015ef371350e77605d17b

到这里,Flink的本地模式安装、项目创建、任务打包和部署算是完成了,后续有资源条件了,再补充生产环境常用的Flink on YARN模式。

<think>好的,我需要帮助用户在IntelliJ IDEA中配置Flink的虚拟机设置。首先,我得回顾一下Flink的基本概念它在IDEA中的配置流程。根据用户提供的引用,特别是引用[2]提到可以通过命令行或Flink仪表板监控输出,这提示配置时可能需要启动Flink的本地集群,并在IDEA中正确设置运行环境。 首先,用户需要安装JDKScala插件,因为Flink依赖这些环境。然后,在IDEA中创建项目,选择Maven或Gradle来管理依赖,添加Flink的相关库。接着,配置运行配置,设置主类以及必要的JVM参数,比如内存分配。此外,可能需要配置Flink本地模式,确保在IDEA中能够启动本地集群。用户可能还需要访问Flink的仪表板,如引用[2]提到的http://localhost:8081/,因此需要确保Flink正确启动并绑定到该端口。 我还需要考虑用户可能的常见问题,例如依赖冲突或端口占用,这些应该在步骤中提到解决方法。最后,生成相关问题,帮助用户进一步学习,比如性能调优或集群部署,这些可以结合引用中的其他内容,比如Mesos架构(引用[4])或学习资源(引用[3])来扩展。</think>### 在 IntelliJ IDEA 中配置 Flink 虚拟机环境的步骤指南 #### 1. 环境准备 - **安装 JDK**:确保已安装 JDK 8 或更高版本,并配置环境变量。Flink 依赖 Java 运行环境[^3]。 - **安装 IntelliJ IDEA**:建议使用最新版本的 IDEA(社区版或旗舰版)。 - **下载 Flink**:从 [Flink 官网](https://flink.apache.org/) 下载最新稳定版本,解压到本地目录。 #### 2. 创建项目并配置依赖 - **新建项目**:在 IDEA 中选择 **Maven** 或 **Gradle** 项目模板,配置 GroupId ArtifactId。 - **添加 Flink 依赖**:在 `pom.xml`(Maven)或 `build.gradle`(Gradle)中添加以下依赖: ```xml <!-- Maven 示例 --> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java_2.12</artifactId> <version>1.14.4</version> </dependency> ``` Gradle 配置类似,需同步依赖。 #### 3. 配置本地运行环境 - **设置 Flink 本地模式**:在代码中通过 `StreamExecutionEnvironment.createLocalEnvironment()` 创建本地执行环境。 - **指定并行度**:例如 `env.setParallelism(1)` 控制任务并行度。 #### 4. 配置运行参数 - **添加 Main Class**:在 IDEA 中点击 **Run → Edit Configurations**,添加 `Application` 类型,指定主类(如 `WordCount` 示例)。 - **JVM 参数**:根据需要调整内存分配,例如 `-Xmx2G` 避免内存不足。 #### 5. 启动 Flink 仪表板 - **启动本地集群**:在 Flink 解压目录下执行 `./bin/start-cluster.sh`(Linux/Mac)或 `bin\start-cluster.bat`(Windows)。 - **访问仪表板**:浏览器打开 `http://localhost:8081` 查看任务状态[^2]。 #### 6. 验证配置 - **编写测试代码**:运行 Flink 官方示例(如 WordCount),观察控制台输出仪表板任务状态。 - **排查常见问题**: - **端口冲突**:若 `8081` 端口被占用,修改 Flink 配置文件 `conf/flink-conf.yaml` 中的 `rest.port`。 - **依赖冲突**:使用 Maven 的 `mvn dependency:tree` 检查依赖树。 ```java // WordCount 示例代码 public class WordCount { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStream<String> text = env.fromElements("Hello Flink", "Hello World"); DataStream<Tuple2<String, Integer>> counts = text .flatMap((String line, Collector<Tuple2<String, Integer>> out) -> { for (String word : line.split(" ")) { out.collect(new Tuple2<>(word, 1)); } }) .returns(Types.TUPLE(Types.STRING, Types.INT)) .keyBy(0) .sum(1); counts.print(); env.execute("WordCount"); } } ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值