[BigData] Troubleshooting BeeGFS Deployment
在上一篇介紹了 BeeGFS 如何與 k8s 的機器做對接,本篇希望能夠分享與紀錄檸檬爸在實際安裝 BeeGFS 到地端 k8s 叢集的時候,遇到的很多問題,以下是關於這些問題的 TroubleShooting 與一些 BeeGFS 工具的實用整理,由於 BeeGFS 是一個博大精深,筆者也是持續在學習中。
詳細內容想方涉法, France, Taiwan, Health, Information Technology
在上一篇介紹了 BeeGFS 如何與 k8s 的機器做對接,本篇希望能夠分享與紀錄檸檬爸在實際安裝 BeeGFS 到地端 k8s 叢集的時候,遇到的很多問題,以下是關於這些問題的 TroubleShooting 與一些 BeeGFS 工具的實用整理,由於 BeeGFS 是一個博大精深,筆者也是持續在學習中。
詳細內容在生醫領域有很多開放資料都是存在 Google Cloud Platform (GCP),有時候要避免大量複製檔案,我們會想要直接使用 gs:// 開頭的開放資料當作 Spark Table 的後端路徑,與 AWS 與 Azure 不同的是 GCP Dataproc 提供了一個使用者付費的方式,顧名思義就是資料的傳輸費用是由使用者去支付的,本篇紀錄如何設定 Spark Cluster 的設定檔透過 Spark SQL 的方式直接使用公開的資料,減少複製檔案與儲存帶來的成本。
詳細內容Nvidia 的 GPU 目前是市場上使用的主流,在雲的世界裡面,由於大部分的使用場景是按需 (On Demand),因此 K8S 慢慢地也是雲端管理資源的一個利器,如何在 Kubernetes 上調用 GPU 的資源相對地也越來越普遍,本篇整理了目前網路上可以看到 Nvidia GPU 於操作方法,並且介紹一種簡單實現 GPU Time-Slicing 的設定。
詳細內容檸檬爸人生中開始使用 Apple Macbook 是在 2014 年的時候,距今也已經 10 年以上了,那時候 Macbook 的晶片架構主要是 Intel x86,一直以來都是利用 Apple 的備份工具轉換了好幾台電腦,直到去年開始使用 Apple M1 的晶片,切換到了 arm 的架構,慢慢地遇到了一些 Python 程式不能跑在 arm 架構上的問題,由於以前預設是 x86 的環境,所以自然而然 homebrew 安裝的相關程式都是 x86 的版本,例如眾多的 Python 版本,本篇紀錄如何調整 Macbook 使其能夠共存。
詳細內容Jupyter Notebook/Lab 是一個常用的互動式介面協助各種程式碼的開發我們在上一篇『建立自己的 Jupyter Notebook 伺服器』有稍微介紹過,一般常見的使用場景是在開發 python 的程式,但是 Jupyter Server 的 Kernel 功能可以擴充更多的互動式開發環境,例如 R, PySpark, SparkR, SparklyR 等等,檸檬爸最早接觸的是將 PySpark 註冊到 Jupyter Lab 裡面,實作的程式碼是透過 AZTK 的 Repository 學習到的,後來進一步將其擴充到 R 等等的使用場景,本篇將會呈現如何部署一個有 PySpark 核心的 Jupyter Lab。
詳細內容雖然公有雲的服務例如 AWS, Azure, GCP 已經逐漸普及了,但是私有雲 HPC 的市場還是一直有相對的份額,不同於公有雲的儲存服務,在佈建私有雲的時候,儲存 (Storage) 的解決方案仍然是一個需要花費大量心力的議題,本篇紀錄如何將 HPC 儲存方案之一的 BeeGFS 掛載到 K8S 的生態系裡面。
詳細內容在導入 AWS 作為後端雲平台的時候,遇到了需要透過 curl 指令將檔案直接上傳到 S3 的需求,一開始以為一定要透過 presigned URL 的方式才能夠進行,但是後來參考了幾篇網路的文章並且經過實作驗證之後,發現也可以直接用 bash shell 配合 AWS credentials 進行,由於 AWS 的 credentials 有分成有時效性與無時效性兩種,本篇針對兩種不同的憑證放上不同的程式碼。
詳細內容本篇想要記錄一下在 Azure Ubuntu 20.04 x64 VM 上面使用 GPU 的安裝過程,首先需要安裝相關 Nvidia GPU 的 Driver,不過究竟要安裝多少套件各方說法不一,由於之前已經有一組可以使用 GPU 的安裝指令,所以本篇以嘗試使用這組指令為基礎紀錄解決問題的方法,鳥哥的教學告訴我們可以利用 dpkg -l ‘nvidia*’ 的指令得知目前安裝所有 Nvidia GPU 相關的套件總覽,配合這個指令我們可以了解究竟安裝了什麼?
詳細內容上一篇我們介紹了如何利用 cudf C++ 創建自己可以跑在 GPU 上面的 UDF,本篇我們想要紀錄如何利用 Spark Rapids Examples 提供的編譯環境建造出屬於自己的 jar 可以跑在有 GPU 的 Spark 叢集運算之上。
詳細內容在上一篇我們成功實作了 HiveUDF,為了要進一步利用 GPU 加速,我們需要去實作 evaluateColumnar 這一個函數,參考 Spark Rapids 的 Github 與 ColumnView 裡面的範例,針對我們想做到的 UDF 我們沒有發現適合的函數去實作針對一個 Array[String] 的過濾程式,所以我們需要自己去實作 Tutorial 裡面所謂的 Native Code Examples,Tutorial 裡面針對 HiveUDF 只有提供一個範例是 StringWordCount,本篇我們紀錄藉由這個範例去實作一個支援 GPU 的 HiveUDF。
詳細內容