以技术洞察驱动商业进化

Prosperlytics Lab · 实验记录 001

从五台小主机,到我的分布式实验室:起航! 发布日期:2025-12-01作者:Rex(Prosper…

从五台小主机,到我的分布式实验室:起航!

发布日期: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 全部安装
✔ 我人生第一套 “分布式节点” 运行起来

对我来说,这不只是技术步骤,而是一个真正意义上的新开始。


📅 下一步计划

我的下一步路线是:

  1. 在三台节点部署 Kafka(KRaft 模式)
  2. 在两台节点部署 Flink(JobManager + TaskManager)
  3. 安装 ClickHouse
  4. 启动第一个流式任务:行情流 → Flink → ClickHouse
  5. 开始编写第一个 RealTime 量化策略

Prosperlytics Lab 还只是开始。
未来我要用它构建:

  • 实时风控系统
  • 量化策略引擎
  • 行情订阅系统
  • 账户风险管理器
  • 自动化运维工具

❤️ 最后的话:记录,是最美的成长过程

我不是专家。
但我正在做一件让我兴奋的事——
在客厅里搭建一套自己的分布式系统。

如果你看到这篇文章,欢迎一起交流。

Prosperlytics Lab,正式启航。
更多内容,敬请期待。

+

留下评论