树莓派3B搭建Flink集群

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 用两台树莓派3B搭建一主一从的Flink集群环境,并运行实时计算来验证

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码): https://github.com/zq2599/blog_demos
  • 今天的实战是用两台树莓派3B组建Flink1.7集群环境,模式是独立集群(Cluster Standalone);

操作步骤

  1. 准备操作系统;
  2. 安装JDK;
  3. 配置host;
  4. 安装Flink1.7;
  5. 配置参数;
  6. 设置两台树莓派相互SSH免密码登录;
  7. 启动Flink集群环境;
  8. 部署一个Flink应用,验证环境是否正常;

树莓派操作系统

安装JDK

安装Flink1.7

  • 安装Flink的操作在两台树莓派上都要做,操作步骤一模一样,如下:
  • 在Flink官网下载,地址是:https://flink.apache.org/downloads.html
  • 如下图,选择红框中的版本:

在这里插入图片描述

  • 下载的Flink安装包文件是flink-1.7.0-bin-hadoop28-scala_2.11.tgz,放在此位置:/usr/local/work
  • 在/usr/local/work目录下执行命令tar -zxvf flink-1.7.0-bin-hadoop28-scala_2.11.tgz解压,会生成一个文件夹:flink-1.7.0

机器情况

  • 两台树莓派3B的IP地址、hostname等信息如下列表所示:
IP地址 hostname 身份
192.168.1.102 dubhe 集群的master,即job节点
192.168.1.104 merak 集群的slave,即task节点

配置

  • 注意,接下来的四步配置,请在dubhe、merak这两台机器上各执行一次,操作的步骤内容一模一样:
  • 打开/etc/hosts文件,增加以下两行(请按照您的机器IP情况来写):
192.168.1.102 dubhe
192.168.1.104 merak
  • 打开文件/usr/local/work/flink-1.7.0/conf/flink-conf.yaml,一共修改了以下四个配置:
jobmanager.rpc.address: dubhe
jobmanager.heap.size: 512m
taskmanager.heap.size: 512m
taskmanager.numberOfTaskSlots: 2
  • jobmanager.rpc.address是master的地址,jobmanager.heap.size是jobmanager的堆上限,taskmanager.heap.size是taskmanager的堆上限,taskmanager.numberOfTaskSlots是taskmanager上的slot数量;
  • 打开文件/usr/local/work/flink-1.7.0/conf/masters,里面只保留以下这一行内容,表示dubhe做master:
dubhe:8081
  • 打开文件/usr/local/work/flink-1.7.0/conf/slaves,里面只保留以下这一行内容,表示merak做slave:
merak
  • 至此,配置完成,可以启动集群了;

启动集群

  • 在dubhe执行以下命令即可启动整个集群:
/usr/local/work/flink-1.7.0/bin/start-cluster.sh
  • 控制台提示输入merak的root账号密码,输入并回车,启动完成:
root@dubhe:~# /usr/local/work/flink-1.7.0/bin/start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host dubhe.
root@merak's password: 
Starting taskexecutor daemon on host merak.
  • 在浏览器输入地址:http://192.168.1.102:8081 ,可以看到该集群环境的web页面,如下图所示:

在这里插入图片描述

  • 至此,集群环境的搭建和启动都已完成,接下来就是测试和验证了;

配置SSH免密码登录(可选步骤)

  • 启动集群时要求输入merak的密码,略有些麻烦,另外用stop-cluster.sh停止集群时也要输入merak的密码,因此推荐您配置这两台机器的SSH免密码登录,具体操作步骤可以参考文章《Docker下,实现多台机器之间相互SSH免密码登录》,虽然标题是"Docker下",但文中的设置在树莓派上同样生效;

验证集群环境

  • 为了验证集群环境是否正常,我准备了一个Flink应用,该应用是基于官方的经典demo改造的,可以消费来自维基百科的实时消息,实时计算每个编辑者15秒内修改的字节数,这个应用被构建成文件wikipediaeditstreamdemo-1.0-SNAPSHOT.jar,下载地址:https://download.csdn.net/download/boling_cavalry/10870815
  • PS:下载资源需要消耗您一个CSDN积分,作者想设置成免费下载,但一分是系统的最低要求;
  • 将下载好的wikipediaeditstreamdemo-1.0-SNAPSHOT.jar文件,通过网页提交,操作步骤如下图:

在这里插入图片描述

  • 点击下图红框中的Upload按钮,将文件提交:

在这里插入图片描述

  • 按照下图的步骤设置参数,其中红框2中的com.bolingcavalry.StreamingJob是应用类名,红框3是并行度,当前环境只有两个task slot,因此设置成2,点击了红框4中的Submit按钮后任务启动了:

在这里插入图片描述

  • 如下图就是对维基百科的数据做实时计算后的输出结果:

在这里插入图片描述

  • 关于这个Flink应用的详情,您可以参考文章《Flink实战:消费Wikipedia实时消息》
  • 至此,Flink集群的搭建和相关验证都已完成,由于硬件限制无法做复杂的计算和处理,但这个环境作为学习和实验环境来使用还是挺适合的,希望本文能给您在搭建环境时提供一些参考;

欢迎关注阿里云开发者社区博客:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...
相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cn.aliyun.com/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
相关文章
zdl
|
10月前
|
消息中间件 运维 大数据
大数据实时计算产品的对比测评:实时计算Flink版 VS 自建Flink集群
本文介绍了实时计算Flink版与自建Flink集群的对比,涵盖部署成本、性能表现、易用性和企业级能力等方面。实时计算Flink版作为全托管服务,显著降低了运维成本,提供了强大的集成能力和弹性扩展,特别适合中小型团队和业务波动大的场景。文中还提出了改进建议,并探讨了与其他产品的联动可能性。总结指出,实时计算Flink版在简化运维、降低成本和提升易用性方面表现出色,是大数据实时计算的优选方案。
zdl
404 56
|
11月前
|
Kubernetes Cloud Native 流计算
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
285 3
|
11月前
|
存储 运维 监控
实时计算Flink版在稳定性、性能、开发运维、安全能力等等跟其他引擎及自建Flink集群比较。
实时计算Flink版在稳定性、性能、开发运维和安全能力等方面表现出色。其自研的高性能状态存储引擎GeminiStateBackend显著提升了作业稳定性,状态管理优化使性能提升40%以上。核心性能较开源Flink提升2-3倍,资源利用率提高100%。提供一站式开发管理、自动化运维和丰富的监控告警功能,支持多语言开发和智能调优。安全方面,具备访问控制、高可用保障和全链路容错能力,确保企业级应用的安全与稳定。
193 0
|
消息中间件 监控 Java
联通实时计算平台问题之监控Kafka集群的断传和积压情况要如何操作
联通实时计算平台问题之监控Kafka集群的断传和积压情况要如何操作
129 1
|
SQL Kubernetes 数据处理
实时计算 Flink版产品使用问题之如何把集群通过kubernetes进行部署
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用问题之集群重启后,所有的Jobs任务丢失,如何快速恢复
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
分布式计算 流计算
美团 Flink 大作业部署问题之Checkpoint Replicate Service 跨 HDFS 集群的副本制作是如何实现的
美团 Flink 大作业部署问题之Checkpoint Replicate Service 跨 HDFS 集群的副本制作是如何实现的
132 0
|
资源调度 算法 Java
Flink四种集群模式原理
Flink四种集群模式原理
590 0
|
资源调度 Oracle Java
实时计算 Flink版产品使用问题之在YARN集群上运行时,如何查看每个并行度的详细处理数据情况
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
Kubernetes Java 数据库连接
实时计算 Flink版产品使用问题之部署到 Kubernetes 集群时,任务过一会儿自动被取消,该如何排查
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。

热门文章

最新文章