# Talendの全サービスでJavaをアップグレード

Javaをアップグレードすれば、セキュリティ問題を回避できます。この操作には、TalendサービスでJavaのマイナーまたはメジャーアップデートが必要となるさまざまなステップがあります。また、マイナーダウングレードの場合もこの手順が必要です。

## 始める前に

* [update_java.zip](https://help.qlik.com/talend/ja-JP/migration-upgrade-guide/8.0/Content/Resources/attachments/update_java.zip)ファイルをダウンロードして抽出します。オペレーティングシステムに応じて、.batファイルか.shファイルを使用します。
* Windowsでは、Talendホームフォルダーのutilsフォルダーにそのようなファイルがない場合のみ、[sed.zip](https://help.qlik.com/talend/ja-JP/migration-upgrade-guide/8.0/Content/Resources/attachments/sed.zip)アーカイブをダウンロードします。

## このタスクについて

Talendの全サービスをアップデートする手順では、Talend Remote Engineが除外されます。これは、このサービスが異なる手順を必要とするためです。詳細は、[Remote EngineサービスのJavaインスタンスを変更](https://help.qlik.com/talend/en-US/installation-guide-linux/Cloud/java-setup-and-pptimization-for-remote-engine-service#changing-java-instances-for-remote-engine-service)をご覧ください。

Javaの別のメジャーバージョンにアップグレードすると、Talendアーティファクトが新しいJavaバージョンと互換性があることを確認するために追加の手順が必要になる場合があります。Java 8または11から、より新しいJavaバージョン(17または21)へのアップグレードの例については、[より新しいJavaバージョンを使用](https://help.qlik.com/talend/ja-JP/migration-upgrade-guide/8.0/migrating-artifacts-to-use-java-17 "ベストプラクティスは、サポートされているJavaの最新バージョンと共にTalend製品を使用することです。")をご覧ください。

情報メモ制約事項: Talend LogServer(非推奨)およびNexusはJava 17またはJava 21をサポートしていません。NexusはJava 11をサポートしていません。

## LinuxのTalendの全サービスでJavaをアップグレード

### 手順

1. [互換性があるJava環境](https://help.qlik.com/talend/ja-JP/installation-guide-linux/8.0/compatible-java-environments)ページの説明に従って、新しいJavaバージョンをインストールします。ただし、古いバージョンのJavaはまだアンインストールしたり削除したりしないでください。

   このスクリプトを実行する前に古いJavaバージョンを削除すると、Javaのアップデート後に一部のTalendサービスが起動に失敗することがあります。
2. systemctl | grep talendコマンドを使い、実行中のTalendサービスをすべて検索します。
3. systemctl stop &lt;service name&gt;コマンドを使い、Talend サービスをすべて停止します。
4. テキストエディターで[update_java.sh](https://help.qlik.com/talend/ja-JP/migration-upgrade-guide/8.0/Content/Resources/attachments/update_java.sh)を開きます。
5. スクリプト内の変数を検索し、以下のように設定します。

   TALEND\_HOME=&lt;Talend\_home\_folder&gt; (例: TALEND\_HOME=/opt/Talend-8.0.1)

   PROD\_VER=&lt;Talend\_version&gt; (例: PROD\_VER=8.0.1)

   JAVA\_HOME=&lt;Java\_home\_folder&gt; (例: JAVA\_HOME=/usr/lib/jvm/jre1.8.0\_221)
6. スーパーユーザーとして[update_java.sh](https://help.qlik.com/talend/ja-JP/migration-upgrade-guide/8.0/Content/Resources/attachments/update_java.sh)を実行します。このスクリプトによって、ハードコードされたJavaへのパスがインストールの新しい値に置き換えられます。
7. コンピューターを再起動するか、systemctl start &lt;service name&gt;コマンドを使って、Talendの全サービスを手動で起動します。
8. オプション: サービスをすべて正常に開始した後、古いJavaバージョンが他のソフトウェアで使用されていない場合は、これを削除することができます。

### タスクの結果

これで、Talend Remote Engineを除くTalendの全サービスが新しいJavaバージョンを使用するようになります。

## WindowsのTalendの全サービスでJavaをアップグレード

### 手順

1. [update_java.bat](https://help.qlik.com/talend/ja-JP/migration-upgrade-guide/8.0/Content/Resources/attachments/update_java.bat)ファイルをTalendホームフォルダー内のutilsフォルダーに配置します。
2. [sed.zip](https://help.qlik.com/talend/ja-JP/migration-upgrade-guide/8.0/Content/Resources/attachments/sed.zip)をダウンロードした場合は、このファイルをutilsフォルダーに配置します。
3. [互換性があるJava環境](https://help.qlik.com/talend/ja-JP/installation-guide-linux/8.0/compatible-java-environments)ページの説明に従って、新しいJavaバージョンをインストールします。ただし、古いバージョンのJavaはまだアンインストールしたり削除したりしないでください。

   このスクリプトを実行する前に古いJavaバージョンを削除すると、Javaのアップデート後に一部のTalendサービスが起動に失敗することがあります。
4. Windowsの検索タブでservices.mscと入力し、Microsoft Management Consoleアプリケーションを開きます。
5. Talendサービスのリストを検索し、各サービスを右クリックして[Stop] (停止)を選択します。

   最後に停止するサービスは、Talend Administration Center、Talend Identity and Access Management、Kafka、ZooKeeper、MongoDBの順になります。
6. [System Properties] (システムプロパティ) &gt; [Advanced] (詳細設定) &gt; [Environments Variables] (環境変数)に移動します。
7. JAVA\_HOME環境変数とPATH変数を更新します。
   1. [System Variables](システム変数)で、[New...] (新規...)をクリックして変数を作成します。変数JAVA\_HOMEに名前を付け、Java環境のパスを入力して、[OK]をクリックします。
   1. [System Variables](システム変数)で、[Path](パス)変数を選択し、[Edit...] (編集...)をクリックして、;%JAVA\_HOME%\binという変数をパス変数値の最後に追加します。
8. コマンドプロンプトアプリケーションを開きます。
9. echo %JAVA\_HOME%と入力してEnterキーを押します。表示される値は新しい設定値です。
10. テキストエディターで[update_java.bat](https://help.qlik.com/talend/ja-JP/migration-upgrade-guide/8.0/Content/Resources/attachments/update_java.bat)を開きます。
11. スクリプト内の変数を検索し、以下のように設定します。

    "TALEND\_HOME=C:\&lt;Talend\_home\_folder&gt;" (例: set "TALEND\_HOME=C:\Talend\8.0.1")

    "PROD\_VER=&lt;Talend\_version&gt;" (例: set "PROD\_VER=8.0.1")
12. この設定をまだ行っていない場合は、setenv.batファイルに--add-opens=java.base/java.lang=ALL-UNNAMEDを追加します。

    続いて、管理者として次のコマンドを実行し、Talend Administration Centerサービスを開始させます:
    ```
    cd C:\Talend\8.0.1\tac\apache-tomcat\bin
    tomcat9.exe //US//talend-tac-8.0.1 ++JvmOptions="--add-opens=java.base/java.lang=ALL-UNNAMED
    ```
13. スーパーユーザーとして[update_java.bat](https://help.qlik.com/talend/ja-JP/migration-upgrade-guide/8.0/Content/Resources/attachments/update_java.bat)を実行します。このスクリプトによって、ハードコードされたJavaへのパスがインストールの新しい値に置き換えられます。
14. コンピューターを再起動するか、service.mscアプリケーションからTalendの全サービスを手動で起動します。
15. オプション: サービスをすべて正常に開始した後、古いJavaバージョンが他のソフトウェアで使用されていない場合は、これを削除することができます。

### タスクの結果

これで、Talend Remote Engineを除くTalendの全サービスが新しいJavaバージョンを使用するようになります。

### このセクション内

* [より新しいJavaバージョンを使用](https://help.qlik.com/talend/ja-JP/migration-upgrade-guide/8.0/migrating-artifacts-to-use-java-17)