DockerイメージからのPrestoのデプロイ¶
これらの手順は、IntelチップとAppleシリコンチップの両方で、Mac OS X上で開発およびテストされました。
以下の手順に従って、
brew、docker、およびColimaのコマンドラインツールをインストールします。
Dockerのセットアップを確認します。
PrestoサーバーのDockerイメージをプルします。
ローカルPrestoサーバーを起動します。
brew、Docker、Colimaのインストール¶
このタスクでは、brewをインストールし、brewを使用してDockerとColimaをインストールする方法を示します。
注:Dockerがインストールされている場合は、手順1〜3をスキップできますが、手順4のコマンドを実行してDockerのセットアップを確認する必要があります。
brewがインストールされていない場合は、次のコマンドを実行します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
DockerコマンドラインとColimaツールをインストールするには、次のコマンドを実行します。
brew install docker colima
次のコマンドを実行します。
colima start
注:Colimaによって作成されるデフォルトのVMは、2 CPU、2GBメモリ、60GBストレージを使用します。VMリソースをカスタマイズするには、ColimaのREADMEのVMのカスタマイズを参照してください。
ローカルセットアップを確認するには、次のコマンドを実行します。
docker run hello-world
次のような応答が表示されたら、準備完了です。
Hello from Docker!
This message shows that your installation appears to be working correctly.
Dockerからこんにちは!このメッセージは、インストールが正しく動作していることを示しています。
Presto Dockerコンテナのインストールと実行¶
DockerHubのPrestoから最新の非エッジPrestoコンテナをダウンロードします。次のコマンドを実行します。
docker pull prestodb/presto:latest
コンテナのダウンロードには数分かかる場合があります。ダウンロードが完了したら、次の手順に進みます。
ローカルシステムに、次のテキストを含む
config.properties
という名前のファイルを作成します。coordinator=true node-scheduler.include-coordinator=true http-server.http.port=8080 discovery-server.enabled=true discovery.uri=http://localhost:8080
ローカルシステムに、次のテキストを含む
jvm.config
という名前のファイルを作成します。-server -Xmx2G -XX:+UseG1GC -XX:G1HeapRegionSize=32M -XX:+UseGCOverheadLimit -XX:+ExplicitGCInvokesConcurrent -XX:+HeapDumpOnOutOfMemoryError -XX:+ExitOnOutOfMemoryError -Djdk.attach.allowAttachSelf=true
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コンテナを削除するには、次の2つのコマンドを実行します。
docker stop presto
docker rm presto
これらのコマンドは、成功するとコンテナの名前presto
を返します。