树莓派3B搭建Flink集群

网友投稿 613 2022-10-29

树莓派3B搭建Flink集群

树莓派3B搭建Flink集群

欢迎访问我的GitHub

今天的实战是用两台树莓派3B组建Flink1.7集群环境,模式是独立集群(Cluster Standalone); 操作步骤 准备操作系统; 安装JDK; 配置host; 安装Flink1.7; 配置参数; 设置两台树莓派相互SSH免密码登录; 启动Flink集群环境; 部署一个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等信息如下列表所示:

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.

在浏览器输入地址:,可以看到该集群环境的web页面,如下图所示:

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

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

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

验证集群环境

为了验证集群环境是否正常,我准备了一个Flink应用,该应用是基于官方的经典demo改造的,可以消费来自维基百科的实时消息,实时计算每个编辑者15秒内修改的字节数,这个应用被构建成文件wikipediaeditstreamdemo-1.0-SNAPSHOT.jar,-:

PS:-资源需要消耗您一个CSDN积分,作者想设置成免费-,但一分是系统的最低要求; 将-好的wikipediaeditstreamdemo-1.0-SNAPSHOT.jar文件,通过网页提交,操作步骤如下图:

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

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

欢迎关注51CTO博客:程序员欣宸

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微型3D游戏开发框架支持Win/MacOS/Linux/iOS/Android
下一篇:基于DDD与AdminLte、BootStrap搭建的MVC与WebApi基础框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~