接上篇:https://developer.aliyun.com/article/1622699?spm=a2c6h.13148508.setting.15.27ab4f0eDPC5Re
服务启动
暂时就可以先启动进行测试了:
cd /opt/servers/flink-1.11.1/bin/ ./start-cluster.sh
启动过程如下所示:
启动结果
这里要注意,由于我们之前配置过Spark环境,Spark的Web也是8081端口。
记得把Spark的服务停掉(暂时用不到Spark相关的内容了)。
启动后,我们访问:
http://h121.wzk.icu:8081/#/overview
可以通过 JPS 命令查看主机当前的状态:(不需要的你可以停掉)
- Hadoop
- HDFS
- Flink
- 等等
测试效果
官方提供的Demo,可以运行测试一下是否正常
cd /opt/servers/flink-1.11.1/bin ./flink run ../examples/streaming/WordCount.jar • 1 • 2
执行结果如下图:
可视化的页面也可以看到:
特点与优缺点
优点
简洁易用:Standalone 模式不需要额外的资源管理系统,配置相对简单,特别适合在资源固定的小型集群中运行。
独立性强:这种模式下,Flink 集群不依赖于外部系统,可以在没有 Yarn、Kubernetes 等资源管理平台的环境中独立运行。
低延迟:由于不涉及外部资源调度系统,Standalone 模式在资源调度上的延迟相对较低,适合需要低延迟任务调度的场景。
缺点
资源弹性差:由于没有集成外部资源管理系统,Standalone 模式的资源调度和管理相对固定,不支持动态扩展或缩减资源。这在面对变化的工作负载时,可能会导致资源浪费或不足。
管理复杂:在大规模集群中,手动管理多个 JobManager 和 TaskManager 可能变得复杂,特别是在需要高可用性和故障恢复的情况下。
缺乏高级特性:相比于集成 Yarn 或 Kubernetes 的部署模式,Standalone 模式缺乏一些高级的资源管理特性,如自动化资源分配、动态扩展、集群隔离等。
使用场景
开发与测试:Standalone 模式非常适合用于 Flink 应用的开发与测试阶段,因为它配置简单,易于快速部署和运行作业。
小型集群:在资源固定且规模较小的集群中,Standalone 模式可以提供足够的灵活性和控制力。
边缘计算:在某些资源有限的环境(如边缘计算或嵌入式设备)中,Standalone 模式可以提供一种轻量级的分布式计算解决方案。
扩展性与限制
扩展性有限:虽然 Standalone 模式允许在固定资源下进行扩展,但由于缺乏动态资源管理,扩展能力有限,难以应对大规模或动态变化的工作负载。
适应性:对于需要频繁调整资源的场景,Standalone 模式可能不太适用,但在资源固定且作业负载相对稳定的情况下,它可以提供稳定可靠的服务。
添加依赖
<build> <plugins> <!-- 打jar插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.3</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> </configuration> </execution> </executions> </plugin> </plugins> </build>
pom结构如下所示: