1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Prestoインストール方法(Presto-Admin版)

Last updated at Posted at 2020-06-07

はじめに

公式のPrestoインストール方法は1台ごとノードにデプロイしていました。この方法では1台ごとにプロセスの起動、停止、再起動、コンフィグの変更等を行う必要があるため管理が大変です。
今回はPresto-Adminを使用して公式ドキュメントに基づき、Prestoをインストールします。Presto-Adminを利用することで、複数ノードを集中管理することができます。

Prestoとは

並列分散クエリエンジンで、大規模なデータに対してインタラクティブなクエリ処理が得意です。
またconnectorを設定することで、RDBMSを跨いだクエリを実行できます。
例: PostgresSQLのマスターテーブルとHiveのテーブルをJoin

環境

OS, パッケージ

OS, パッケージ バージョン 備考
OS CentOS 7.7    
Presto-Admin(prestosql) 2.10 RHEL, CentOS6以上対応
Presto(prestosql) 333
Presto-cli(prestosql) 333

ノード

ホスト名 台数 用途
prestoadmin 1 Presto-Admin
coordinator 1 coordinator
worker[01-03] 3 worker

Presto-Adminのインストール

下記以降の作業はすべて、prestoadminのrootユーザ、またsshはパスワード認証です。

Presto-Adminをprestoadminにインストールします。
ダウンロードリンクはここ参照してください。
また、インストール場所を事前に指定する場合は、PRESTO_ADMIN_CONFIG_DIR, PRESTO_ADMIN_LOG_DIRを環境変数で指定してください。

cd /root
wget https://github.com/prestosql/presto-admin/releases/download/2.10/prestoadmin-2.10-offline-el7.tar.gz
tar xvf prestoadmin-2.10-offline-el7.tar.gz
cd prestoadmin
./install-prestoadmin.sh

インストール後に、/root/.prestoadmin, /root/.prestoadmin/logのディレクトリが作成されます。

Prestoクラスタの設定

Prestoクラスタの設定を/root/.prestoadmin/config.jsonに記述します。

config.json
{
  "username": "root",
  "port": "22",
  "coordinator": "coordinator",
  "workers": ["worker[01-03]"],
  "java_home":"<path/to/java/on/presto/nodes>"
}

usernameはPresto-Adminがsshで使用するユーザ名です。もし、root以外のユーザを指定する場合はsudo権限が必要です。
java_homeは各ノードに環境変数JAVA_HOMEが設定済みの場合は不要です。

Javaのインストール

公式ドキュメントではJave 8をインストールしていますが、Presto: version 333Java 11以上が必要なので、Java 11のインストールを行います。

wget https://cdn.azul.com/zulu/bin/zulu11.39.15-ca-jdk11.0.7-linux.x86_64.rpm
./presto-admin package install zulu11.39.15-ca-jdk11.0.7-linux.x86_64.rpm -p {ssh_password}

上記のコマンドで、coordinator, workerにrpmの配布、インストールまで実行します。

Prestoのインストール

Prestoのrpmをダウンロードしてcoordinator, workerにインストール、/root/.prestoadminの設定を配布します。

wget https://repo1.maven.org/maven2/io/prestosql/presto-server-rpm/333/presto-server-rpm-333.rpm
./presto-admin server install presto-server-rpm-333.rpm -p {ssh_password}

特にエラーなくインストールが完了したら、Prestoを起動します。

./presto-admin server start -p {ssh_password}

動作確認

正しく起動できているかpresto-cliを起動して確認します。

wget https://repo1.maven.org/maven2/io/prestosql/presto-cli/333/presto-cli-333-executable.jar
mv presto-cli-333-executable.jar presto
chmod +x presto
./presto --server coordinator:8080
presto> select * from system.runtime.nodes;

catalogの追加、コンフィグの修正

例えば、Hiveに接続する場合ここを参考に/root/.prestoadmin/catalog/hive.propertiesを作成します。
その後Presto-Adminを利用してcatalogの追加、Prestoの再起動を行います。

./presto-admin catalog add hive -p {ssh_password}
./presto-admin server restart -p {ssh_password}

また、コンフィグを編集した際は下記のコマンドで反映させます。

./presto-admin configuration deploy -p {ssh_password}
./presto-admin server restart -p {ssh_password}

最後に

Presto-Adminをインストールしたノードから、Prestoのcoordinator, workerにssh接続できれば簡単にPrestoをインストールすることができます。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?