ノート:
- このチュートリアルは、Oracle提供の無料ラボ環境で入手できます。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントに例の値を使用します。演習を完了するときは、これらの値をクラウド環境に固有の値に置き換えます。
OCIのOracle LinuxでGraalVM Enterpriseの使用を開始する
イントロダクション
このハンズオン・ラボでは、GraalVM Enterpriseとその機能をOracle Cloud InfrastructureのOracle Linuxにインストールする方法を説明します。
GraalVM EnterpriseはOracle Java SE Subscriptionに含まれ、Oracle Cloud Infrastructure(OCI)に無料で利用可能
GraalVM Enterpriseは、信頼性が高く安全なOracle Java SE上に構築された、高パフォーマンスのJDKディストリビューションで、少ないリソースでアプリケーションのパフォーマンスを高速化するよう設計されています。リソース要件の低いアプリケーションをより高速にすると、サーバー数が少なくなるか小さくなるため、クラウド・コストが削減されます。
GraalVM Enterpriseは、Javaアプリケーションを実行するための2つの方法を提供します。Graal Just-in-Time (JIT)コンパイラを使用するHotSpot JVM、またはネイティブ・エクセクト可能(AOT)がコンパイルされた先進(AOT)です。
ラボ・コンテンツ
この演習では、次のことを行います。
- Oracle CloudのVMインスタンスへの接続
- GraalVM EnterpriseのOracle Linuxへのインストール
- GraalVM Enterpriseの追加機能(ネイティブ・イメージ)
- 既存のGraalVM Enterpriseインストールの更新
ワークショップの予想時間: 20分
注:コマンドをコピーするには、フィールドの上にカーソルを置き、[クリップボードにコピー]アイコンをクリックします。
タスク1: Oracle CloudのVMインスタンスへの接続
このラボを起動すると、必要なリソースがバックグラウンドでプロビジョニングされます: Virtual Cloud Network (VCN)とCompute Instance with the Oracle Linux 8事前構築イメージ。プロビジョニングの完了には1~2分かかる場合があります。「Luna Lab」Webページの「Resources」タブを参照すると、リソースが完全にプロビジョニングされ、準備ができたときにわかります(次の手順1を参照)。
-
デスクトップの「Luna Lab」アイコンをダブルクリックしてブラウザを開きます。
「リソース」以外のアニメーション・ギアがチェック・マークになるまで待ちます。これは、必要なすべてのコンピュートおよびネットワーク・リソースがプロビジョニングされ、続行できることを意味します。
-
「リソース」を展開し、SERVER_IPボックスからパブリックIPアドレスをコピーします。多くのユーザーが
View Details
をクリックする必要があります。ボックス上にカーソルを置いたときに表示される右端の「クリップボードにコピー」ボタンを使用できます。 -
Lunaデスクトップが表示されるように、ブラウザ・ウィンドウを最小化します。「アプリケーション」メニューをクリックし、ターミナル・エミュレータを開きます。
-
SSH接続コマンドを入力します。
<SERVER_IP>
はVMインスタンスのパブリックIPアドレスです:ssh opc@<SERVER_IP>
プロンプトで
yes
と入力して、ECDSA鍵のフィンガープリントを受け入れます。
これで、Oracle Cloudのリモート・ホストに接続され、次のタスクに進むことができます。
タスク2: GraalVM Enterprise Oracle Linuxのインストール
このタスクでは、Oracle LinuxにGraalVM Enterpriseをインストールし、デフォルトのJavaランタイムとして設定します。
簡単にインストールするために、GraalVM Enterprise RPMはOracle Linux YUMリポジトリで使用できます。つまり、OCIユーザーは、Linuxオペレーティング・システムのパッケージ管理ユーティリティであるyum
を使用してGraalVM Enterpriseをクラウド・インスタンスにインストールできます。
-
(オプション) VMインスタンスに接続された端末ウィンドウで、使用可能なGraalVM Enterpriseパッケージを検索し、特定のリリースおよびJava 11に検索を絞り込みます。
sudo yum provides graalvm21-ee-11-jdk
結果のリストには、現在および以前のバージョンのOracle GraalVM Enterprise Edition JDK11 Java Development Kitバージョン21.xが含まれています。
-
graalvm21-ee-11-jdkをインストールします。
sudo yum install graalvm21-ee-11-jdk
プロンプトで
yes
と入力して、インストール済パッケージ・サイズに問題がないかどうかを確認します。JVMランタイム、Graalコンパイラ、すべての依存パッケージ(libpolyglot
、llvm
など)を含む最新バージョンのgraalvm21-ee-11-jdkをインストールします。 -
このSSHセッションのGraalVM Enterpriseインストールを指すように環境変数を構成します。インストール後、パッケージ・ファイルは
/usr/lib64/graalvm
ディレクトリに配置され、それに応じてbin
内のバイナリが配置されます。-
bash構成で
PATH
およびJAVA_HOME
環境変数を設定して、次のコマンドでGraalVM Enterpriseを指すように設定します。echo "export JAVA_HOME=/usr/lib64/graalvm/graalvm21-ee-11" >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
-
この変更をアクティブ化します。
source ~/.bashrc
-
-
Javaのバージョンを確認して、インストールが成功し、JDKがGraalVM Enterpriseに設定されているかどうかを確認します。
java -version
この時点で、GraalVM Enterprise上でJavaワークロードをすでに実行でき、コードの変更は必要ありません。GraalVM Enterpriseは、Graal最適化コンパイラを上位層のJITコンパイラとして採用しています。このコンパイラでは、高度な最適化を実行し、積極的なインライン化手法を適用して、アプリケーションのパフォーマンスを向上させます。
このラボの完了時に、GraalVM Enterpriseを使用するOracle Cloudのアプリケーションの高速化のラボをお薦めします。このラボでは、Java Microbenchmark Harness (JMH)の実行中にGraal JITコンパイラとC2のパフォーマンスの比較に重点を置いています。
次のタスクに進むことができます。
タスク3: GraalVM Enterpriseの追加機能(ネイティブ・イメージ)
GraalVM Enterpriseは、コア・コンポーネントとともに出荷され(ファイル・サイズを節約するため)、さらに多くの機能をオンデマンドで拡張することができます。たとえば、ネイティブ・イメージ、Node.jsランタイム、LLVMツールチェーンなどをインストールできます。製品ドキュメントで使用可能な機能の詳細を確認してください。
GraalVM Enterpriseに機能を追加するには、yum install <package_name>
コマンドで十分です。このタスクでは、GraalVM Enterpriseのネイティブ・イメージをインストールします。これは、Javaコードをスタンドアロンのネイティブ実行可能ファイルに事前にコンパイルするためのテクノロジです。
-
(オプション)現在のGraalVM Enterpriseインストールで使用可能な追加機能を確認します。
sudo yum provides graalvm21*
印刷リストは非常に多い。ネイティブ・イメージ・コンポーネントに関心があるため、正確なパッケージ名を指定して検索を絞り込みます。
sudo yum provides graalvm21-ee-11-native-image*
-
次のコマンドを1つずつ実行して、ネイティブ・イメージをインストールします(Oracle Linux 8固有):
sudo yum update -y oraclelinux-release-el8
ローカルのリポジトリ・メタデータ・キャッシュを更新して、新しい使用可能なパッケージを取得します。
sudo yum config-manager --set-enabled ol8_codeready_builder
ネイティブ・イメージ依存関係の一部を含む
ol8_codeready_builder
リポジトリを有効にします。sudo yum install graalvm21-ee-11-native-image
プロンプトで
yes
と入力して、インストール済パッケージ・サイズに問題がないかどうかを確認します。必要な依存ライブラリ(glibc
、zlib
など)をすべてインストールし、native-image
ユーティリティをGraalVM Enterpriseのインストール・ディレクトリ($JAVA_HOME/bin
)に配置します。Oracle Linux 7では、
sudo yum install graalvm21-ee-11-native-image
を実行してネイティブ・イメージをインストールするのに十分です。 -
バージョンをチェックして、インストールが成功したかどうかを確認します。
native-image --version
これで、native-image
ユーティリティを使用して、JavaアプリケーションをネイティブのLinux実行可能ファイルに変換できます。Javaアプリケーションをネイティブ実行可能ファイルとして実行すると、即時起動、CPUおよびメモリーの消費が低下するため、クラウド・デプロイメントに適した候補となります。
このラボの完了時に、GraalVM Native Imageのクイック・スタートラボを入手して、GraalVM Native Imageのハンズオン・ラボ体験を取得し、クラウド・ネイティブJavaアプリケーションの構築を開始することをお薦めします。
次のタスクに進むことができます。
タスク4:既存のGraalVM Enterpriseインストールの更新
Oracle Linuxのyum
パッケージ・マネージャを使用すると、既存のGraalVM Enterpriseインストールを更新したり、別のバージョンで置き換えることができます。このタスクでは、GraalVM Enterpriseをバージョン21.xから22.xに更新し、Java 11の配布をGraalVM Enterprise for Java 17に置き換えます。
-
GraalVM Enterpriseをバージョン21.xから22.xに更新し、Java 11ではなくJava 17用のディストリビューションをインストールします。
sudo yum install graalvm22-ee-17-jdk
プロンプトで
yes
と入力して、インストール済パッケージ・サイズに問題がないかどうかを確認します。 -
Javaバージョンをチェックして、更新が成功したかどうかを確認します。
java -version
graalvm22-ee-17-jdkパッケージは、
/usr/lib64/graalvm
ディレクトリにgraalvm21-ee-11-jdkとともにインストールされ、システム全体が更新されました。ノート:コンソールに出力されるバージョンに関係なく、
PATH
およびJAVA_HOME
環境変数は古いバージョンを指しています。タスク2のステップ3の説明に従って、変数をリセットします。
yum upgrade
コマンドのノート
yum upgrade
コマンドは、同じ年のパッケージ・ラインで更新するために使用できます。たとえば、このRPMパッケージが使用可能になったときにGraalVM Enterprise 22.0.0からバージョン22.0.1にアップグレードする場合などです。
sudo yum upgrade graalvm22-ee-17-jdk
システム全体を更新し、廃止されたGraalVM Enterpriseインストールを削除します。
完了しました。この演習を正常に完了している。
さらに学ぶ
- Take the Accelerate Applications in Oracle Cloud with GraalVM Enterprise lab focusing on comparing the performance of the Graal JIT compiler vs. C2.
- クラウド・ネイティブJavaアプリケーションの構築を開始し、GraalVM Native Imageのハンズオン・ラボ体験を得るには、GraalVM Native Imageのクイック・スタートに進みます
- GraalVM Enterpriseドキュメントを確認してください
- oracle.comで製品ページにアクセスします
このセッションを終了するには、ツールバーの「End Session」ボタンをクリックします。
その他の学習リソース
docs.oracle.com/learnの他のラボを調べるか、Oracle Learning YouTubeチャネルでさらに無料の学習コンテンツにアクセスします。さらに、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerにします。
製品ドキュメントは、Oracleヘルプ・センターを参照してください。
Get Started with GraalVM on Oracle Linux in OCI
F54856-01
March 2022
Copyright © 2022, Oracle and/or its affiliates.