自建28核樹莓派集群,順便學學docker,這裡有一個500美元的搭建方案

2020-12-03 澎湃新聞

機器之心編譯

機器之心編輯部

擼代碼、寫博客、動手做點好玩的東西是一個碼農常見的進階方式。很多大牛都有寫博客的習慣,動手能力更是不在話下。今天介紹的這位機器學習愛好者 WILL HO 也喜歡寫博客,他不僅自己註冊了一個博客網站,還搭了一個 28 核的樹莓派集群來實現自託管。在此過程中,他學到了 Linux、Docker、Docker Swarm、Kubernetes、DNS、TLS 和網絡拓撲等很多方面的技能。

在最新的一篇博客中,WILL HO 介紹了自己搭建的 28 核樹莓派集群。這個集群名叫 Kraken,用到了 7 個樹莓派 3B。

前面已經說過,WILL HO 搭建樹莓派集群是為了實現自託管,也就是託管自己用 Wordpress 搭建起來的博客網站。WordPress 是使用 PHP 語言開發的博客平臺,用戶可以在支持 PHP 和 MySQL 資料庫的伺服器上架設屬於自己的網站,也可以把 WordPress 當作一個內容管理系統來使用。

在此之前,他也曾搭建過一個名為 Octopi 的樹莓派集群(一個樹莓派 1B + 和 4 個樹莓派 1B),但很快他就發現,在這個集群上運行 Wordpress 有很大的性能瓶頸,打開一個新的 Wordpress 博客的單頁加載大約需要 10 秒!

為了解決這一瓶頸,WILL HO 下決心對 Octopi 進行升級,於是就有了我們今天文章的主角——Kraken。在以下的篇幅中,WILL HO 介紹了自己搭建 Kraken 的過程。如果你也有建樹莓派集群的需求或者想學學 Docker 等工具,可以參考作者的方式搭一個自己的集群。

Kraken 概況

Kraken 由 7 個樹莓派 3B 組成,由一個 USB 充電器供電。WILL HO 本打算構建一個由 8 個節點組成的樹莓派集群,但消費級的網絡交換機上的最大埠數為 8 個,能容納 7 個節點和一條到路由器的電纜。

另一種選擇是使用具有 16 個埠的商業級網絡交換機,但這顯然是不可能的,看看價格,勸退。

用樹莓派 3B 搭建的 Kraken 集群規格如下表:

所需的零件清單如下表:

值得注意的是,作者選擇了 32GB MicroSD 卡作為第一個節點的存儲,並希望它成為 Docker swarm 設置的主節點。作者預計,還需要額外的存儲空間來構建和部署 Docker 映像。

Kraken (上) 和 Octopi (下)

Kraken 千兆升級

作者發現自己經常在 Raspberry Pi 3B 的內置乙太網埠上達到 100Mbps 的帶寬限制。在大型文件的傳輸過程中,傳輸速度甚至徘徊在令人沮喪的 8MB / 秒。

受到 Jeff Geerling 的博客的啟發,作者發現,使用 USB 千兆乙太網適配器可以將帶寬提高到 200Mbps 以上。於是,他買了一堆便宜的 USB 千兆乙太網適配器和一個千兆交換機,開始升級。

便宜的 USB 千兆乙太網適配器。

附加零件清單:

升級後,Kraken 看起來是這樣的:

Gigabit Kraken, Octopi and my cable management nightmare

如果所有成本都算下來,打造這個 Kraken 集群總共花了 508.84 美元。

基準判別

在升級之前運行 iperf,可以看到最大帶寬是 93.1 Mbps。

~ ❯ iperf -c 192.168.3.11------------------------------------------------------------Client connecting to 192.168.3.11, TCP port 5001TCP window size: 129 KByte (default)------------------------------------------------------------[ 4] local 192.168.3.71 port 57041 connected with 192.168.3.11 port 5001[ ID] Interval Transfer Bandwidth[ 4] 0.0-10.0 sec 111 MBytes 93.1 Mbits/sec

在安裝千兆適配器之後運行 iperf,可以看到最大帶寬為 224 Mbps!

~ ❯ iperf -c 192.168.3.11------------------------------------------------------------Client connecting to 192.168.3.11, TCP port 5001TCP window size: 145 KByte (default)------------------------------------------------------------[ 4] local 192.168.3.71 port 57298 connected with 192.168.3.11 port 5001[ ID] Interval Transfer Bandwidth[ 4] 0.0-10.0 sec 268 MBytes 224 Mbits/sec

有了這個簡單的模塊,每個節點就獲得了 131Mbps 的帶寬。然而,這些仍然只是理論上的速度,因為典型的使用場景包括將從網絡接收到的數據寫入磁碟,但是 iperf 只從網絡接收數據,而不將數據寫入磁碟。

一些注意事項

即使在 Web 服務中,也不大可能持續地充分利用此新帶寬。它主要有助於在首次加載時更快地傳輸大型資源(如圖像數據),之後,用戶的瀏覽器會緩存圖像。

此外,Raspberry Pi 1 至 3 型號中臭名昭著的共享 USB 2.0 總線也限制了實際帶寬。

對於未初始化的用戶,單個 USB2.0 總線的 480Mbps 理論單向寬帶在乙太網埠、SD 卡插槽和所有 USB 埠之間共享。

帶寬分布如下所示:

儘管表格中的數字給人的印象是:這次升級沒有帶來性能上的提升。但它們代表的是最壞的情況。通常情況下,人們期望在 web 伺服器上進行的主要是讀操作,而很少進行寫操作。

在現實世界中,帶寬分配通常應如下所示:

以上是作者對第二個樹莓派集群的升級操作,但是如果你已經熟悉 Docker 系統,或者正在尋找高性能的家庭設置,在此不建議使用此教程。

為何選擇此集群?

如果你對 Docker 和 Kubernetes 感興趣,作者強烈建議你上手搭個這樣的集群。對此,他給出了兩個理由:

首先,該集群與官方支持的最新版本 Docker 映像兼容。此外,Raspberry Pi 3B 在 armv7 CPU 架構上運行。最新的 Arm 處理器(arm64)向後兼容在 armv7 上編寫和編譯的所有代碼。相反,arm64 處理器不向後兼容 armv6 處理器(Raspberry Pi 1 和 2),因此它們正在被社區淘汰。

其次,對於大多數對帶寬要求較高的應用程式,該集群將是理想的選擇,例如託管你自己的博客,文件同步服務,媒體庫管理器,記筆記應用程式等。考慮到 Raspberry Pi 3 中的 USB 2.0 總線瓶頸,如果你的應用程式需要大量持續的寫入(例如對視頻進行編碼),這個集群的性能可能無法達到要求。

總而言之,構建 Raspberry Pi 3 集群是學習 Docker 和集群的最經濟有效的方式,並且在可預見的將來仍將如此。因此,如果你只是想接觸 Docker,強烈建議你嘗試一下。

原文連結:https://ikarus.sg/how-i-built-kraken/

Amazon SageMaker 是一項完全託管的服務,可以幫助開發人員和數據科學家快速構建、訓練和部署機器學習 模型。SageMaker完全消除了機器學習過程中每個步驟的繁重工作,讓開發高質量模型變得更加輕鬆。

現在,企業開發者可以免費領取1000元服務抵扣券,輕鬆上手Amazon SageMaker,快速體驗5個人工智慧應用實例。

© THE END

轉載請聯繫本公眾號獲得授權

投稿或尋求報導:content@jiqizhixin.com

原標題:《自建28核樹莓派集群,順便學學docker,這裡有一個500美元的搭建方案》

閱讀原文

相關焦點

  • 28核樹莓派集群,順便學學docker,這裡有一個500美元的搭建方案
    機器之心編譯機器之心編輯部擼代碼、寫博客、動手做點好玩的東西是一個碼農常見的進階方式。很多大牛都有寫博客的習慣,動手能力更是不在話下。今天介紹的這位機器學習愛好者 WILL HO 也喜歡寫博客,他不僅自己註冊了一個博客網站,還搭了一個 28 核的樹莓派集群來實現自託管。
  • 28核樹莓派集群,順便學docker,這裡有個500美元方案
    很多大牛都有寫博客的習慣,動手能力更是不在話下。今天介紹的這位機器學習愛好者 WILL HO 也喜歡寫博客,他不僅自己註冊了一個博客網站,還搭了一個 28 核的樹莓派集群來實現自託管。28 核樹莓派集群。
  • 樹莓派嘗試玩兒Docker虛擬機
    今天下午嘗試了一下樹莓派上跑docker,感覺還是不錯的,推薦給想要嘗試的小夥伴。Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從Apache2.0協議開源。Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。
  • Docker 搭建 Redis Cluster 集群
    使用 Docker 搭建 Redis Cluster,最重要的環節就是容器通信的問題,這一塊我們在之前的文章中已經給大家解決了《 》,本篇文章主要練習使用多個容器完成 Redis Cluster 集群環境的搭建,順便為學習 Docker Compose 鋪鋪路。
  • 利用樹莓派搭建個人伺服器
    前言上一篇樹莓派也跑Docker和.NET Core有對樹莓派做簡單的介紹。包括系統的燒錄、基本的設置、docker的安裝、.net core的運行等。有人問我是不是一定要跑docker,答案肯定是否定的。我之所以用docker,完全是因為它的便利(帶環境)、對系統無汙染和方便系統資源的查看和控制。
  • Linux_基於Docker搭建Redis集群
    步驟二:Redis集群搭建 1、運行Redis鏡像 分別使用以下命令啟動3個Redis docker run --name redis-6379 -p 6379:6379  2、配置Redis集群 分別使用 docker inspect 容器ID 命令,查看3個Redis的Docker內網IP位址
  • 樹莓派使用Debian-Pi-Aarch64系統CecOS-CaaS容器雲配置教程
    打開樹莓派命令行界面如果沒有顯示器,可以使用web管理界面說明:使用系統默認帳戶pi登錄,默認密碼raspberry1.Web可視化管理界面登錄地址https://你樹莓派的IP位址:90902.WEB SSH 客戶端 入口界面登錄地址 https://你樹莓派的IP位址:4200這裡使用Web可視化管理界面進入終端
  • DockerCompose搭建RedisCluster集群
    至此一個高可用的 Redis Cluster 集群搭建完成,如下圖所示,該集群中包含 6 個 Redis 節點,3 主 3 從。三個主節點會分配槽,處理客戶端的命令請求,而從節點可用在主節點故障後,頂替主節點。
  • Docker 搭建 Redis Cluster 集群環境
    使用 Docker 搭建 Redis Cluster,最重要的環節就是容器通信的問題,這一塊我們在之前的文章中已經給大家解決了《 》,本篇文章主要練習使用多個容器完成 Redis Cluster 集群環境的搭建,順便為學習 Docker Compose 鋪鋪路。
  • 樹莓派4B食用指南(二、搭建私人家庭網盤)
    前言繼上次開箱樹莓派4B也過了將近個把月了,期間也嘗試過在樹莓派上跑了一些服務,總體來講8G版本的內存確實過剩,除了有次構建aarch64架構的docker鏡像時內存佔用一度上了40%之外,其餘時間基本都在20%左右。今天就來講講如何使用樹莓派打造私有網盤。
  • 在樹莓派上:安裝Ubuntu Server 20.04
    如果我們想搭建LNMP服務、內網域服務、區塊鏈節點、Git倉庫服務、NAS服務、容器服務、arm集群、分布式開發環境等等,在樹莓派4上安裝Ubuntu Server也成為了一個更適合的選擇。今天我們就講一下如何在樹莓派4B上安裝Ubuntu Server。
  • 極客DIY:樹莓派+Git打造家用伺服器!
    下面就跟大家分享一下如何在自己家裡搭建一個 Gitlab 伺服器:首先,我們要保證 git 伺服器的穩定,7*24在線,性能要足夠支撐穩定運行,現規劃兩種方案:路由器和樹莓派;因為家中的路由器性能略差,因此我選擇這款樹莓派4b(2G rom版),作為最新一代樹莓派,它繼承了樹莓派家族便攜、開源、接口豐富的特點,並且性能相對於樹莓派
  • 樹莓派「小霸王學習機」來了,一個自帶鍵盤的電腦,售價不到 500 元
    來源:量子位樹莓派 " 小霸王學習機 " 來了,一個自帶鍵盤的電腦,售價不到 500 元樹莓派 400 (Raspberry Pi 400),它來了!拆箱樹莓派 400拆箱之前需要聲明一點,70 美元的價格是指單獨一個「鍵盤電腦」。若是入手完整套件,則需要 100 美元(約 669 元)。搓搓小手,先來看看樹莓派 400 的「寶箱」裡,都「囊括」了些啥 *。
  • 利用docker輕鬆搭建Redis-Cluster集群環境
    簡介Redis Cluster是Redis官方的一個高可用分布式解決方案,其優點是高可用,缺點是不能保證數據強一致。在這裡使用docker容器來搭建一套6節點(3主,3從)Redis-Cluster集群環境。
  • 樹莓派搭建nexus 2.x私服
    使用樹莓派搭建Nexus2私服需要的材料有:1. 樹莓派3B+(或者4B)2.移動硬碟一個下載nexus2.x安裝包由於nexus2.x官方的啟動環境並不支持arm架構的樹莓派,所以這裡採用tomcat7 + nexus2.x的方式搭建私服。
  • QEMU搭建樹莓派環境
    0x01最近樹莓派被同學借去做畢設了,沒有其他ARM平臺供我研究,無奈之下只好嘗試使用QEMU模擬raspbian,搭建過程比較繁瑣,網上的教程有很多坑都沒有指出,所以有了此文,給同樣有興趣做IoT安全、ARM平臺安全的小夥伴們的入門鋪平道路。
  • 樹莓派「小霸王學習機」來了,一個自帶鍵盤的電腦,不到500元
    而且,售價只要70美元 (約468元)!價格雖美麗,但到底好不好用?和樹莓派4相比,值不值得入手?拆箱樹莓派400拆箱之前需要聲明一點,70美元的價格是指單獨一個「鍵盤電腦」。若是入手完整套件,則需要100美元(約669元)。
  • 樹莓派「小霸王學習機」來了,一個自帶鍵盤的電腦,不到500元
    金磊 發自 凹非寺量子位 報導 | 公眾號 QbitAI樹莓派400(Raspberry Pi 400),它來了!以為只是一個鍵盤?不不,實則是一臺內置在鍵盤中的完整PC。而且,售價只要70美元(約468元)!價格雖美麗,但到底好不好用?和樹莓派4相比,值不值得入手?
  • 基於Docker快速部署ES集群
    一、整體架構這裡,我先給出本文最終的整體架構,讓大家有一個清晰的部署思路:角色分離:本文分享的 ES 架構中,特意將 Master 和 Client 獨立出來,後續節點的重啟維護都能快速完成,對用戶幾乎沒有影響。
  • 樹莓派「小霸王學習機」來了,一個自帶鍵盤的電腦,售價不到500元
    拆箱樹莓派400 拆箱之前需要聲明一點,70美元的價格是指單獨一個「鍵盤電腦」。 若是入手完整套件,則需要100美元(約669元)。 搓搓小手,先來看看樹莓派400的「寶箱」裡,都「囊括」了些啥*。 樹莓派400本尊——內置在鍵盤中的PC。