Distributed cluster on raspberry PI model B

(2) 2024-05-29 11:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说Distributed cluster on raspberry PI model B,希望能够帮助你!!!。

content

  • overview
    • background
    • pre-knowledge
      • about raspberry pi
  • hardware
    • shopping guide
    • shopping cart
  • software
  • conclusion

overview

background

不得不说tidb现在实在是太火了,于是逛了一圈github,偶然在 How we build TiDB中发现了这张图:
Distributed cluster on raspberry PI model B_https://bianchenghao6.com/blog__第1张
于是心动了,我也要一个这样的集群!(后文完全和TiDB无关,仅涉及到raspberry pi set up)

pre-knowledge

about raspberry pi

树莓派官网是这样说的

A small and affordable computer that you can use to learn programming

本质上树莓派是一个arm架构的单片机,所以虽然的确可以装上各种linux,并搭建集群,但是指望他做一个高性能、企业级的集群是不现实的。不过用于个人学习,玩耍是可以接受的。

hardware

shopping guide

  • raspberry pi
    在我购买的时候已经有model B+了,但是鉴于B+仅仅是提升了CPU运力(由于CPU架构不同可能会导致某些操作系统不支持)以及网口,而新一代的4即将发布,所以并未选购最新的。
  • fan
    风扇的选购不是必须,但是如果CPU超频还是会导致主板发热进而影响寿命甚至直接烧毁的,为了保险还是勾选为好
  • power
    树莓派的供电其实是一个隐藏的问题,正常单节点使用一般不会有什么问题,但是同时使用多个USB供电,如果直接使用电脑自带的USB供电器,或者一般的USB HUB其实树莓派是吃不饱的!3官方未给出具体能耗,但是广大网友实验得出超频的时候使用5V/2.5A比较好。
    但是网上绝大多数多USB口供电只是做到了单口5V/2A,因为主要是为了日常生活给平板(2A)手机(1A)充电,但是这个是不能满足我们的需求的。后来找到了anker的供电器,这个是可以做到动态调整输出的并且输出范围(~2.4A)是我们能接受的。

shopping cart

清单如下:

名称 数量 总价
raspberry pi model B 3 221.33*3
亚克力集群三层外壳 带风扇 1 37*1
电源线 带开关 3 4.2*3
闪迪32G卡 3 38.9*3
anker USB供电器(二手) 1 85*1

共计927.3(部分不免邮,需运费)
Distributed cluster on raspberry PI model B_https://bianchenghao6.com/blog__第2张
Distributed cluster on raspberry PI model B_https://bianchenghao6.com/blog__第3张Distributed cluster on raspberry PI model B_https://bianchenghao6.com/blog__第4张
具体安装略,成品图如下:
Distributed cluster on raspberry PI model B_https://bianchenghao6.com/blog__第5张

Distributed cluster on raspberry PI model B_https://bianchenghao6.com/blog__第6张

software

过程中发现这个国内网站还是不错的,有不少资讯、资源和知识。

  • step1:下载centos的arm架构操作系统
  • step2:下载Win32 Disk Imager
  • step3:使用WDI把系统刷到SD卡上
  • step4:第一次必须使用网线来自动分配到ip然后ssh(初始密码:root/centos),登陆上去后就可以使用无线了。因为系统已经装好无线驱动(跳过无数个坑!)直接run如下命令
nmcli d wifi connect SSID password yourpassword

关于网的坑:
初始目的很简单:保证每次重连WiFi都是固定ip
首先有个大前提,无线路由可以保证LAN口的MAC-IP的静态绑定,但是无法保证WiFi也能固定ip。

  • 无线路由桥接
    无线路由是桥接的,这就导致我必须保证LAN口ip设置为父路由不冲突的同网段ip并且关掉子(本)无线路由的DHCP服务才能使用上网。这个桥接配置算是一个小坑!

无线路由侧做不了,那就只能host做了。修改为静态ip很简单和eth0的修改方式一致:

sudo vim /etc/sysconfig/network-scripts/ifcfg-SSID

将BOOTPROTO设置为static并添加IPADDR、GATEWAY和DNS1、DNS2,确保ONBOOT=yes。
然后坑就来了:

  • DNS
    我一开始设置的是 8.8.8.8、114.114.114.114结果发现无法联网。各种检查防火墙、SELINUX、dns缓存、hosts文件都没有问题,这时候肯定就是配置有问题了,ip和gateway肯定是没有问题,然后ping了一下gateway,ping不通!
    那还是DNS有问题,初步感觉和无线路由有特殊设置有关。用另外一个无线路由通过有线直连,发现DNS分配的是gateway和0.0.0.0!果断验之,事成!

conclusion

最终成品如下:
Distributed cluster on raspberry PI model B_https://bianchenghao6.com/blog__第7张

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复