第五章 Flink打包部署相关

1、Maven插件&打包

1.1、Maven打包插件
  • 打包插件

    • maven-jar-plugin,默认的打包插件,⽤来打普通的jar 包,需建⽴lib⽬录⾥来存放需要的依赖包
    • maven-shade-plugin (推荐) 将依赖的jar包打包到当前jar 包,成为fat JAR包,也可以防⽌类冲突 隔离
    • maven-assembly-plugin,⼤数据项⽬⽤的⽐较多,⽀持 ⾃定义的打包结构,⽐如sql/shell等
  • 测试插件

    • maven-surefire-plugin, ⽤于mvn ⽣命周期的测试阶段 的插件,通过参数设置在junit下控制测试
1.2、pom文件添加打包插件
 <build>
    <finalName>xdclass-flink</finalName>
    <plugins>
        <!--默认编译版本⽐较低,所以⽤compiler插件,指定项⽬
       源码的jdk版本,编译后的jdk版本和编码,-->
        <plugin>

            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.1</version>
            <configuration>
                <source>${java.version}</source>
                <target>${java.version}</target>
                <encoding>${file.encoding}
                </encoding>
            </configuration>
        </plugin>
        <!-- 添加依赖到jar包 -->
        <!--<plugin>-->
        <!--<artifactId>maven-assemblyplugin</artifactId>-->
        <!--<configuration>-->
        <!--<descriptorRefs>-->
        <!--<descriptorRef>jar-withdependencies</descriptorRef>-->
        <!--</descriptorRefs>-->
        <!--</configuration>-->
        <!--<executions>-->
        <!--<execution>-->
        <!--<id>make-assembly</id>-->
        <!--<phase>package</phase>-->
        <!--<goals>-->
        <!--<goal>single</goal>-->
        <!--</goals>-->
        <!--</execution>-->
        <!--</executions>-->
        <!--</plugin>-->
        <plugin>

        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>2.3</version>
        <executions>
        <execution>
        <phase>package</phase>
        <goals>
            <goal>shade</goal>
        </goals>
        </execution>
        </executions>
        </plugin>
    </plugins>
    </build>
1.3、编译打包

(1)进行编译

mvn clean

在这里插入图片描述

(2)进行打包

mvn install

在这里插入图片描述

(3)查看打包结果

learn_one-1.0-SNAPSHOT:主模块的配置
original-xdclass-flink:只包含常规代码
xdclass-flink:资源文件+常规代码,可独立运行

在这里插入图片描述

2、部署模式

2.1、Local本地部署
  • 应用场景:直接启动进程,适合调试使用
  • 运行命令如下:
#在flink的bin目录下运行
./flink run /opt/module/flink-1.10.1/examples/batch/WordCount.jar
  • 运行结果
    在这里插入图片描述
2.2、Standalone Cluster部署
  • 应用场景:生产环境
flink run -m hadoop102:45036 -yd /opt/module/flink-1.10.1/examples/batch/WordCount.jar 

(1)参数 -m:Jobmanager的地址和端口

(2)参数 -yd:yarn模式的背影运行

2.3、Flink的WEB UI部署
上传文件后定义以下相关参数
	:1、主类名              -com.lihaiwei.text1.app.Flink01App
	:2、并行度              -2
	:3、传入程序参数          
	:4、输出文件路径

(1)show plan查看执行计划

在这里插入图片描述

(2)Submit提交任务

在这里插入图片描述

(3)查看运行结果

在这里插入图片描述

(4)取消任务

在这里插入图片描述

附:疑难杂症

Ⅰ、编码GBK的不可映射字符
  • 问题如下

在这里插入图片描述

  • 解决方式

(1)在pom文件中如下内容

  • 主要检查:encoding是否为UTF-8
<build>
    <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>6</source>
                    <target>6</target>              
                    <encoding>utf8</encoding>
                </configuration>
            </plugin>
      </plugins>
</build>

(2)检查IDEA编码是否正确

1、先检查settings中的编码格式是否为UTF-8
2、文件夹右键之后Rebuild下

在这里插入图片描述

在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Flink是一个开源的流处理和批处理框架,支持分布式部署。下面是Flink分布式部署的一般步骤: 1. 确保你有一个Flink集群:Flink需要在一个或多个计算机上运行,形成一个集群。你可以在每台计算机上安装Flink,也可以使用现有的集群管理器(如Apache Mesos、Hadoop YARN或Kubernetes)来管理Flink集群。 2. 配置Flink集群:在每台计算机上,你需要配置Flink集群的相关参数。主要的配置文件是`flink-conf.yaml`,其中包含了一些关键的配置项,如任务管理器的数量、内存分配等。你可以根据需要进行相应的配置。 3. 启动Flink集群:在每台计算机上启动Flink集群的组件,包括任务管理器(TaskManager)和作业管理器(JobManager)。作业管理器负责接收作业提交请求,并将作业分发给任务管理器执行。 4. 提交作业:使用Flink提供的客户端工具或API,将你的Flink作业提交到Flink集群中执行。你可以通过命令行工具`flink run`或使用Flink的REST API来提交作业。 5. 监控和管理:一旦作业提交成功,你可以使用Flink的Web界面或命令行工具来监控作业的执行情况。你可以查看作业的状态、任务的指标和日志等信息,也可以进行作业的管理操作,如取消、重新启动等。 以上是Flink分布式部署的一般步骤,具体的操作细节可能会有所不同,取决于你选择的集群管理器和部署环境。你可以参考Flink官方文档中的相关章节,了解更多详细信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随缘清风殇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值