Apache-presto-installation
Apache Presto-インストール
この章では、Prestoをマシンにインストールする方法について説明します。 Prestoの基本要件を見てみましょう。
- LinuxまたはMac OS
- Javaバージョン8
次に、次の手順を続けてPrestoをマシンにインストールします。
Javaインストールの検証
マシンにJavaバージョン8が既にインストールされていることが望ましいので、次のコマンドを使用して検証するだけです。
$ java -version
Javaがマシンに正常にインストールされている場合、インストールされているJavaのバージョンを確認できます。 Javaがインストールされていない場合は、次の手順に従ってJava 8をマシンにインストールします。
JDKをダウンロードします。 次のリンクにアクセスして、JDKの最新バージョンをダウンロードします。
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151l
最新バージョンはJDK 8u 92で、ファイルは「jdk-8u92-linux-x64.tar.gz」です。 マシンにファイルをダウンロードしてください。
その後、ファイルを抽出し、特定のディレクトリに移動します。
次に、Javaの代替を設定します。 最後に、Javaがマシンにインストールされます。
Apache Prestoのインストール
次のリンクにアクセスして、Prestoの最新バージョンをダウンロードします。
https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.149/
これで、「presto-server-0.149.tar.gz」の最新バージョンがマシンにダウンロードされます。
tarファイルの抽出
次のコマンドを使用して tar ファイルを抽出します-
$ tar -zxf presto-server-0.149.tar.gz
$ cd presto-server-0.149
構成設定
「データ」ディレクトリを作成する
インストールディレクトリの外側にデータディレクトリを作成します。これは、ログやメタデータなどを保存するために使用され、Prestoのアップグレード時に簡単に保存されるようになります。 次のコードを使用して定義されます-
$ cd
$ mkdir data
配置されているパスを表示するには、コマンド「pwd」を使用します。 この場所は、次のnode.propertiesファイルで割り当てられます。
「etc」ディレクトリを作成します
次のコードを使用して、Prestoインストールディレクトリ内にetcディレクトリを作成します-
$ cd presto-server-0.149
$ mkdir etc
このディレクトリは構成ファイルを保持します。 各ファイルを1つずつ作成しましょう。
ノードのプロパティ
Prestoノードプロパティファイルには、各ノードに固有の環境設定が含まれています。 次のコードを使用してetcディレクトリ(etc/node.properties)内に作成されます-
$ cd etc
$ vi node.properties
node.environment = production
node.id = ffffffff-ffff-ffff-ffff-ffffffffffff
node.data-dir =/Users/../workspace/Presto
すべての変更を行った後、ファイルを保存し、ターミナルを終了します。 ここで、 node.data は、上記で作成されたデータディレクトリの場所のパスです。 node.id は、各ノードの一意の識別子を表します。
JVM Config
etcディレクトリ(etc/jvm.config)内にファイル「jvm.config」を作成します。 このファイルには、Java仮想マシンの起動に使用されるコマンドラインオプションのリストが含まれています。
$ cd etc
$ vi jvm.config
-server
-Xmx16G
-XX:+UseG1GC
-XX:G1HeapRegionSize = 32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError = kill -9 %p
すべての変更を行った後、ファイルを保存し、ターミナルを終了します。
構成プロパティ
etcディレクトリ(etc/config.properties)内にファイル「config.properties」を作成します。 このファイルには、Prestoサーバーの構成が含まれています。 テスト用に単一のマシンをセットアップする場合、Prestoサーバーは、次のコードを使用して定義された調整プロセスとしてのみ機能できます-
$ cd etc
$ vi config.properties
coordinator = true
node-scheduler.include-coordinator = true
http-server.http.port = 8080
query.max-memory = 5GB
query.max-memory-per-node = 1GB
discovery-server.enabled = true
discovery.uri = http://localhost:8080
ここに、
- コーディネーター-マスターノード。
- node-scheduler.include-coordinator -コーディネーターでのスケジューリング作業を許可します。
- http-server.http.port -HTTPサーバーのポートを指定します。
- query.max-memory = 5GB -分散メモリの最大量。
- query.max-memory-per-node = 1GB -ノードごとのメモリの最大量。
- discovery-server.enabled -PrestoはDiscoveryサービスを使用してクラスター内のすべてのノードを検索します。
- discovery.uri -DiscoveryサーバーへのURI。
複数のマシンPrestoサーバーをセットアップしている場合、Prestoは調整プロセスとワーカープロセスの両方として機能します。 この構成設定を使用して、複数のマシンでPrestoサーバーをテストします。
コーディネーターの構成
$ cd etc
$ vi config.properties
coordinator = true
node-scheduler.include-coordinator = false
http-server.http.port = 8080
query.max-memory = 50GB
query.max-memory-per-node = 1GB
discovery-server.enabled = true
discovery.uri = http://localhost:8080
ワーカーの構成
$ cd etc
$ vi config.properties
coordinator = false
http-server.http.port = 8080
query.max-memory = 50GB
query.max-memory-per-node = 1GB
discovery.uri = http://localhost:8080
ログのプロパティ
etcディレクトリ(etc/log.properties)内にファイル「log.properties」を作成します。 このファイルには、名前付きロガー階層の最小ログレベルが含まれています。 次のコードを使用して定義されます-
$ cd etc
$ vi log.properties
com.facebook.presto = INFO
ファイルを保存して、ターミナルを終了します。 ここでは、DEBUG、INFO、WARN、ERRORなどの4つのログレベルが使用されます。 デフォルトのログレベルはINFOです。
カタログのプロパティ
etcディレクトリ(etc/catalog)内に「カタログ」ディレクトリを作成します。 これはデータのマウントに使用されます。 たとえば、次の内容で etc/catalog/jmx.properties を作成し、* jmxコネクタ*をjmxカタログとしてマウントします-
$ cd etc
$ mkdir catalog
$ cd catalog
$ vi jmx.properties
connector.name = jmx
プレストを開始
Prestoは、次のコマンドを使用して開始できます。
$ bin/launcher start
次に、これに似た応答が表示されます。
Started as 840
プレストを実行
Prestoサーバーを起動するには、次のコマンドを使用します-
$ bin/launcher run
Prestoサーバーを正常に起動した後、「var/log」ディレクトリでログファイルを見つけることができます。
- launcher.log -このログはランチャーによって作成され、サーバーのstdoutおよびstderrストリームに接続されます。
- server.log -これは、Prestoが使用するメインログファイルです。
- http-request.log -サーバーが受信したHTTP要求。
これで、お使いのマシンにPresto構成設定が正常にインストールされました。 Presto CLIをインストールする手順を続けましょう。
Presto CLIをインストールする
Presto CLIは、クエリを実行するための端末ベースのインタラクティブシェルを提供します。
次のリンクにアクセスして、Presto CLIをダウンロードします。
https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.149/
これで、「presto-cli-0.149-executable.jar」がマシンにインストールされます。
CLIを実行する
presto-cliをダウンロードしたら、実行したい場所にコピーします。 この場所は、コーディネーターへのネットワークアクセスを持つ任意のノードです。 最初に、Jarファイルの名前をPrestoに変更します。 次に、 chmod+を使用して実行可能にします。次のコードを使用してx コマンド-
$ mv presto-cli-0.149-executable.jar presto
$ chmod +x presto
次のコマンドを使用してCLIを実行します。
./presto --server localhost:8080 --catalog jmx --schema default
Here jmx(Java Management Extension) refers to catalog and default referes to schema.
次の応答が表示されます。
presto:default>
ターミナルで「jps」コマンドを入力すると、実行中のデーモンが表示されます。
プレストを停止
すべての実行を実行した後、次のコマンドを使用してプレストサーバーを停止することができます-
$ bin/launcher stop