大三上学期,有幸在小马哥的帮助下申请到资金搭建树莓派集群。粗糙记录下过程。
初识树莓派
参考样例 - pi-supercomputer 基本过程可参考本文档 - build-your-own-supercomputer-out-of-raspberry-pi-boards - www.cl.cam.ac.uk/projects/raspberrypi/
材料
- 树莓派
- 排插
- SD卡
- USB_micro线(供电)
- USB适配器(5V/1A~2A),也可以使用带源USB-HUB,从USB空供电
- 交换机,路由器
- 网线
- 乐高积木
- 散热电风扇(可利用机箱风扇自主组装)
- 散热片
- 导热硅胶
可选(以下做调试之用):
- HDMI-VGA转换器
- 键盘
- 鼠标
- 显示器
- PC机
- USB-TTL线
以上材料根据具体调整数量。
组装
系统刷写
可以选择的系统非常多,有Raspbian,Archlinuxarm,Pidora等等,按需选择。 刷系统,主要是往SD卡中写入系统,Linux下可以使用dd命令,windows下可以使用Win32DiskImager。 可以先刷写一个SD卡,然后进行常规配置和自定义配置,提取镜像,再写人其他SD卡。
- 官方系统镜像下载
- ~~中科大加速镜像~~
- Quick start guid
- 浙大课程: Lab1:初见树莓派(Raspberry)(windows平台)
- (DD命令示例) mac下给树莓派安装raspbian系统
积木搭建
具体按照实际情况搭建,本项目方案为,4层为一组,一共8组,一共32片树莓派。 组与组之间需要预留组工的空间方便通风散热与线材的放置。
散热方案
一定要加散热片(散热片很便宜),在组装积木前将散热片用导热硅胶贴好。 风扇也是必须的,如果是夹扇,可在高处摇头吹。 网络拓扑结构
路由器用来划分子网,同时作为DHCP服务器。交换机上行端口接路由器LAN口,树莓派接交换机端口。树莓派配置固定IP,方便管理。 配置固定IP,以Raspbian(debain系)为例: 编辑 /etc/network/interfaces
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.1.2 #ip地址
netmask 255.255.255.0#掩码
gateway 192.168.1.1 #网关,路由器IP
重启网络服务
#root用户,或者加sudo
/etc/init.d/networking restart
OR
service networking restart
如果需要还可配置DNS服务器。 配置
在管理的节点生成ssh-key,把public分发到客户机,添加信任。手动添加非常繁琐,可以在前面一步,刷写系统的时候刷人public-key,或者使用 ssh-copy-id 为了使用ssh方便,可以修改hosts,如下:
192.168.1.101 pi01
192.168.1.102 pi02
192.168.1.103 pi03
....
然后 ssh pi[01~32]即可. 或者编写ssh的config文件, 参考:Simplify Your Life With an SSH Config File
管理工具(mssh,pssh,ansible..)
- 两把集群管理利器
- 推荐: pssh使用方法
- 推荐: ansible-pi-cluster
#example
pssh -t 99999 -h pssh-rpis -P sudo aptitude update
pssh -t 99999 -h pssh-rpis -P sudo aptitude -y upgrade
部署监控(Ganglia,berryio)
- Ganglia
- ganglia监控的搭建部署
- Monitoring the super computer with Nagios
- 单点监控:berryio
- 还有其他监控系统,很多很多:nagios,munin,mrtg,zabbix,webnms,opmanager,collectd,cacti…
并行程序
- pi_supercomputer:”Building MPI so we can run code on multiple nodes“ 部分
- MPICH
负载均衡
例子:
- [apache])(http://raspberrywebserver.com/raspberrypicluster/raspberry-pi-cluster.html)
- squid+haproxy+…
Hadoop集群
玩玩就好。。
OpenStack Swift
挖矿
使用cgminer,具体可参考无矿机情况下使用树莓派CPU挖矿 速度就不说了,纯粹浪费电。。
其他
搭建Raspbian镜像
树莓派集群使用的系统主要为Raspbian,当进行软件包安装或更新时,如果有本地镜像,可以大大加快速度,节省时间。
Rsync:
rsync --archive --verbose --delete --delete-delay --delay-updates \
archive.raspbian.org::archive /path/to/local/mirror
添加 crontable , 自动更新。 配置 webserver 或 ftpserver提供服务。
USB-TTL连接树莓派
在缺少外接显示器或者SSH出现故障时,利用TTL连入树莓派比较快捷。
- 软件:putty,minicom…
- 工具:USB转TTL小板加杜邦线,或者直接买USB–TTL线。
步骤
连接:
RX-TX
TX-RX
GND-GND
切勿将VC接到GND上
具体GPIO口定义请查看 树莓派上手实战之通过TTL串口终端连接RaspberryPi
#minicom
sudo aptitude install minicom
minicom -D /dev/ttyUSB0 -b 115200 #波特率为115200
参考 - RPi Low-level peripherals - 推荐树莓派DIY笔记 - Dropbox: ~~树莓派资料整合共享~~