从五台小主机,到我的分布式实验室:起航!
发布日期:2025-12-01
作者:Rex(Prosperlytics)
🏁 前言:属于我的数据实验室,终于点亮了!
今天是一个值得纪念的日子。
我正式启动了属于我自己的 分布式系统实验室——Prosperlytics Lab。
这是我人生中第一次同时启动五台主机,用它们搭建一个真实的数据中心,用来研究:
- 分布式系统
- Kafka
- Flink
- 风控系统
- 量化交易模型
- 大规模实时数据流
作为一个想要在风控和量化方向扎根的人,这一刻对我来说意义重大。
🖥️ 1. 硬件到手:五台 m920q,小型数据中心诞生!
这次我购入了五台 Lenovo ThinkCentre M920q(i7-9700T)。
这是一个特别适合搭建小型实验室的机型:
- 功耗低
- 性能强
- 价格能负担
- 散热好
- 支持 NVMe SSD
- 易于批量部署
我还准备了专供服务器使用的大功率插排,确保五台小主机 + 我的 MacBook Air 能同时稳定运行。


🌐 2. 系统安装:Ubuntu Server 24.04 全部就位
我为每台节点安装了:
- Ubuntu Server 24.04 LTS
- 无图形界面(server only)
- 安装时只启用了基本工具
- 为所有机器连接同一个 Wi-Fi 网络(暂时还没钱买交换机,哈哈哈)
全部顺利开机,进入终端的一刻,我真的很兴奋。
🧩 3. Hostname 命名:五台节点,各就各位
为了未来方便管理,我给五台机器设置了统一风格的名称:
sudo hostnamectl set-hostname node1
sudo hostnamectl set-hostname node2
...
然后在 MacBook 和所有节点的 /etc/hosts 内加入:
192.168.100.38 node1
192.168.100.xx node2
192.168.100.xx node3
192.168.100.xx node4
192.168.100.xx node5
这样所有机器可以互相用名字 ping 通。
📡 4. 网络测试:第一次看到“PING node1”成功,太激动了!
在 MacBook Air 终端,我发出了第一个测试命令:
ping node1
看到如下输出时,我心里“嘭”一下——集群,真的活了:
64 bytes from 192.168.100.38: icmp_seq=0 ttl=64 time=34 ms
64 bytes from 192.168.100.38: icmp_seq=1 ttl=64 time=51 ms
...
甚至有几次 timeout,但没关系,这就是 Wi-Fi 下的真实环境 —— 够用!
🔑 5. SSH 免密登录:最痛苦的坑,也最爽的一刻
为了让集群之后能用 Ansible / VSCode Remote 批量管理,我做了:
① 在 Mac 上生成 SSH key:
ssh-keygen -t rsa
② 将 key 拷贝到每个节点:
ssh-copy-id rex@node1
ssh-copy-id rex@node2
...
过程中我踩的坑有:
- Host key verification failed → 需要先
ssh node1接受 fingerprint - 输入密码时连续输错,导致无法验证身份
- 某些节点的 SSH 没开启,需要
sudo systemctl enable --now ssh
最终当我输入:
ssh rex@node1
成功登陆!
⚙️ 6. 集群初始化:统一安装 Java、Python
为了让所有节点具备后面跑 Kafka、Flink 的能力,我批量安装了:
① Java
sudo apt update
sudo apt install -y openjdk-17-jre-headless
② Python3 & pip
sudo apt install -y python3 python3-pip
我第一次批量执行命令的时候还遇到:
sudo: a terminal is required to read the password
后来理解了原因 → ssh 命令里需要加:
echo "123456" | sudo -S <command>
这是第一个真正意义上的“批量运维命令”。
其实后来安装相关的软件我使用的是这样的命令,统一安装,不需要一个一个安装!
for i in 1 2 3 4 5; do
echo "===== setup node$i ====="
ssh rex@node$i "sudo -S apt update && \
sudo -S apt install -y vim htop curl wget git net-tools \
openjdk-17-jdk python3-pip"
done
🎉 7. 实验室点亮:Prosperlytics Cluster 正式可用!
到目前为止,我已经完成了:
✔ 五台机器全部通电
✔ Ubuntu Server 全部安装
✔ Wi-Fi 全部联网
✔ Hostname & IP 对齐
✔ 全部节点互相 ping 通
✔ SSH 免密全部完成
✔ Java & Python 全部安装
✔ 我人生第一套 “分布式节点” 运行起来
对我来说,这不只是技术步骤,而是一个真正意义上的新开始。
📅 下一步计划
我的下一步路线是:
- 在三台节点部署 Kafka(KRaft 模式)
- 在两台节点部署 Flink(JobManager + TaskManager)
- 安装 ClickHouse
- 启动第一个流式任务:行情流 → Flink → ClickHouse
- 开始编写第一个 RealTime 量化策略
Prosperlytics Lab 还只是开始。
未来我要用它构建:
- 实时风控系统
- 量化策略引擎
- 行情订阅系统
- 账户风险管理器
- 自动化运维工具
❤️ 最后的话:记录,是最美的成长过程
我不是专家。
但我正在做一件让我兴奋的事——
在客厅里搭建一套自己的分布式系统。
如果你看到这篇文章,欢迎一起交流。
Prosperlytics Lab,正式启航。
更多内容,敬请期待。
留下评论