从 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 创建的默认虚拟机使用 2 个 CPU、2GB 内存和 60GB 存储空间。要自定义虚拟机资源,请查看 Colima 自述文件以了解 自定义虚拟机

  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 的名称。