写点什么

树莓派 3B 搭建 Flink 集群

作者:程序员欣宸
  • 2022 年 7 月 21 日
  • 本文字数:1836 字

    阅读完需:约 6 分钟

树莓派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 应用,验证环境是否正常;

树莓派操作系统

  • 两台树莓派的操作系统都是 64 位 Debian,详细的安装步骤请参考《树莓派 3B 安装 64 位操作系统(树莓派无需连接显示器键盘鼠标)》

安装 JDK

  • 安装 JDK 的操作步骤在《树莓派 3B 安装 64 位操作系统(树莓派无需连接显示器键盘鼠标)》一文中有详细说明,就不在此赘述了,注意两台机器都要安装;

安装 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 等信息如下列表所示:



配置

  • 注意,接下来的四步配置,请在 dubhe、merak 这两台机器上各执行一次,操作的步骤内容一模一样:

  • 打开/etc/hosts 文件,增加以下两行(请按照您的机器 IP 情况来写):


192.168.1.102 dubhe192.168.1.104 merak
复制代码


  • 打开文件**/usr/local/work/flink-1.7.0/conf/flink-conf.yaml**,一共修改了以下四个配置:


jobmanager.rpc.address: dubhejobmanager.heap.size: 512mtaskmanager.heap.size: 512mtaskmanager.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.shStarting 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 集群的搭建和相关验证都已完成,由于硬件限制无法做复杂的计算和处理,但这个环境作为学习和实验环境来使用还是挺适合的,希望本文能给您在搭建环境时提供一些参考;

欢迎关注 InfoQ:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...

发布于: 刚刚阅读数: 3
用户头像

搜索"程序员欣宸",一起畅游Java宇宙 2018.04.19 加入

前腾讯、前阿里员工,从事Java后台工作,对Docker和Kubernetes充满热爱,所有文章均为作者原创,个人Github:https://github.com/zq2599/blog_demos

评论

发布
暂无评论
树莓派3B搭建Flink集群_Java_程序员欣宸_InfoQ写作社区