從 Docker 映像檔部署 Presto

這些步驟是在 Mac OS X 上開發和測試的,無論是 Intel 還是 Apple Silicon 晶片。

依照下列步驟進行

  • 安裝 brew、docker 和 Colima 的命令列工具

  • 驗證您的 Docker 設定

  • 提取 Presto 伺服器的 Docker 映像檔

  • 啟動您的本機 Presto 伺服器

安裝 brew、Docker 和 Colima

此任務說明如何安裝 brew,然後使用 brew 安裝 Docker 和 Colima。

注意:如果您已安裝 Docker,則可以跳過步驟 1-3,但您應執行步驟 4 中的命令來驗證您的 Docker 設定。

  1. 如果您沒有安裝 brew,請執行下列命令

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

  2. 若要安裝 Docker 命令列和 Colima 工具,請執行下列命令

    brew install docker colima

  3. 執行下列命令

    colima start

    注意:Colima 建立的預設 VM 使用 2 個 CPU、2GB 記憶體和 60GB 儲存空間。若要自訂 VM 資源,請參閱 Colima README 中的自訂 VM

  4. 若要驗證您的本機設定,請執行下列命令

    docker run hello-world

    如果您看到類似以下的響應,表示您已準備就緒。

    Hello from Docker! This message shows that your installation appears to be working correctly.

安裝並執行 Presto Docker 容器

  1. DockerHub 上的 Presto 下載最新的非邊緣 Presto 容器。執行下列命令

    docker pull prestodb/presto:latest

    下載容器可能需要幾分鐘。下載完成後,請繼續下一個步驟。

  2. 在您的本機系統上,建立一個名為 config.properties 的檔案,其中包含下列文字

    coordinator=true
    node-scheduler.include-coordinator=true
    http-server.http.port=8080
    discovery-server.enabled=true
    discovery.uri=https://127.0.0.1:8080
    
  3. 在您的本機系統上,建立一個名為 jvm.config 的檔案,其中包含下列文字

    -server
    -Xmx2G
    -XX:+UseG1GC
    -XX:G1HeapRegionSize=32M
    -XX:+UseGCOverheadLimit
    -XX:+ExplicitGCInvokesConcurrent
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:+ExitOnOutOfMemoryError
    -Djdk.attach.allowAttachSelf=true
    
  4. 若要在 Docker 容器中啟動 Presto 伺服器,請執行命令

    docker run -p 8080:8080 -it -v ./config.properties:/opt/presto-server/etc/config.properties -v ./jvm.config:/opt/presto-server/etc/jvm.config --name presto prestodb/presto:latest

    此命令會為使用下載的映像檔 prestodb/presto:latest 新建立的容器指定名稱 presto

    Presto 伺服器會在終端機視窗中記錄啟動資訊。當您看到類似以下的響應時,表示 Presto 伺服器正在 Docker 容器中執行。

    ======== SERVER STARTED ========

移除 Presto Docker 容器

若要移除 Presto Docker 容器,請執行下列兩個命令

docker stop presto

docker rm presto

這些命令成功時會傳回容器的名稱 presto