・dnf update後、Jenkinsが起動しない。
・「jenkins: invalid Java version」エラーが出てしまう。
・対処方法の具体的な手順を教えてほしい。
こういった疑問に答えます。
本記事の内容
- Jenkinsが起動しないのでJava8からJava11に更新して「invalid Java version」エラーを解消する手順
この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。
こういった私が、解説していきます。
私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。
Jenkinsが起動しないJava8からJava11に更新「invalid Java version」
発生事象
OSのdnf update後、サーバーの再起動をした後から、Jenkinsが起動しなくなりました。
ブラウザでJenkinsの画面を表示しようとすると、以下の画面になってしまいました。
確認したこと
systemctl start jenkins
[root@SV-SATURN ~]# systemctl start jenkins Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.
systemctl status jenkins
[root@SV-SATURN ~]# systemctl status jenkins ● jenkins.service - Jenkins Continuous Integration Server Loaded: loaded (/usr/lib/systemd/system/jenkins.service; disabled; vendor preset: disabled) Drop-In: /etc/systemd/system/jenkins.service.d mqoverride.conf Active: failed (Result: start-limit) since 水 2022-11-09 00:00:29 JST; 8h ago Process: 706 ExecStart=/usr/bin/jenkins (code=exited, status=1/FAILURE) Main PID: 706 (code=exited, status=1/FAILURE) 11月 09 00:00:29 SV-SATURN systemd[1]: jenkins.service: main process exited, code=exited, sta...URE 11月 09 00:00:29 SV-SATURN systemd[1]: Failed to start Jenkins Continuous Integration Server. 11月 09 00:00:29 SV-SATURN systemd[1]: Unit jenkins.service entered failed state. 11月 09 00:00:29 SV-SATURN systemd[1]: jenkins.service failed. 11月 09 00:00:29 SV-SATURN systemd[1]: jenkins.service holdoff time over, scheduling restart. 11月 09 00:00:29 SV-SATURN systemd[1]: Stopped Jenkins Continuous Integration Server. 11月 09 00:00:29 SV-SATURN systemd[1]: start request repeated too quickly for jenkins.service 11月 09 00:00:29 SV-SATURN systemd[1]: Failed to start Jenkins Continuous Integration Server. 11月 09 00:00:29 SV-SATURN systemd[1]: Unit jenkins.service entered failed state. 11月 09 00:00:29 SV-SATURN systemd[1]: jenkins.service failed. Hint: Some lines were ellipsized, use -l to show in full.
/var/log/messages
Nov 9 08:21:32 SV-SATURN systemd: Starting Jenkins Continuous Integration Server... Nov 9 08:21:32 SV-SATURN jenkins: jenkins: invalid Java version: openjdk version "1.8.0_352" Nov 9 08:21:32 SV-SATURN jenkins: OpenJDK Runtime Environment (build 1.8.0_352-b08) Nov 9 08:21:32 SV-SATURN jenkins: OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode) Nov 9 08:21:32 SV-SATURN systemd: jenkins.service: main process exited, code=exited, status=1/FAILURE Nov 9 08:21:32 SV-SATURN systemd: Failed to start Jenkins Continuous Integration Server. Nov 9 08:21:32 SV-SATURN systemd: Unit jenkins.service entered failed state. Nov 9 08:21:32 SV-SATURN systemd: jenkins.service failed. Nov 9 08:21:32 SV-SATURN systemd: jenkins.service holdoff time over, scheduling restart. Nov 9 08:21:32 SV-SATURN systemd: Stopped Jenkins Continuous Integration Server.
ログを見ると、jenkins: invalid Java version: openjdk version "1.8.0_352"
というエラーが出ていました。
java -version
[root@SV-SATURN ~]# java -version openjdk version "1.8.0_352" OpenJDK Runtime Environment (build 1.8.0_352-b08) OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)
原因調査
Jenkins 2.357 released today as the first Jenkins version to require Java 11. @bcrow shares the history of Java support in Jenkins and the benefits of the update. https://t.co/FPTNBTG3jK pic.twitter.com/BcYV5McgpS
— Jenkins (@jenkinsci) 2022年6月28日
Beginning with Jenkins 2.357 (released on June 28, 2022) and the forthcoming 2.361.1 LTS release, Jenkins requires Java 11 or newer.
Jenkins 2.357 (2022 年 6 月 28 日にリリース) および今後の 2.361.1 LTS リリース以降、Jenkins には Java 11 以降が必要です。
https://www.jenkins.io/blog/2022/06/28/require-java-11/
Jenkins 2.357、2.361.1LTS 以降からは、Java8 では動作せず、Java11が必要だとアナウンスされていました。
対処方法
Java11のインストール
yum install java-11-openjdk java-11-openjdk-devel
[root@SV-SATURN ~]# yum install java-11-openjdk java-11-openjdk-devel 読み込んだプラグイン:fastestmirror, langpacks Loading mirror speeds from cached hostfile epel/x86_64/metalink | 9.1 kB 00:00:00 * base: ftp.iij.ad.jp * epel: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp base | 3.6 kB 00:00:00 extras | 2.9 kB 00:00:00 jenkins | 2.9 kB 00:00:00 updates | 2.9 kB 00:00:00 パッケージ 1:java-11-openjdk-11.0.17.0.8-2.el7_9.x86_64 はインストール済みか最新バージョンです 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ java-11-openjdk-devel.x86_64 1:11.0.17.0.8-2.el7_9 を インストール --> 依存性解決を終了しました。 依存性を解決しました ==================================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ==================================================================================================== インストール中: java-11-openjdk-devel x86_64 1:11.0.17.0.8-2.el7_9 updates 3.4 M トランザクションの要約 ==================================================================================================== インストール 1 パッケージ 総ダウンロード容量: 3.4 M インストール容量: 5.2 M Is this ok [y/d/N]: y Downloading packages: java-11-openjdk-devel-11.0.17.0.8-2.el7_9.x86_64.rpm | 3.4 MB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction インストール中 : 1:java-11-openjdk-devel-11.0.17.0.8-2.el7_9.x86_64 1/1 検証中 : 1:java-11-openjdk-devel-11.0.17.0.8-2.el7_9.x86_64 1/1 インストール: java-11-openjdk-devel.x86_64 1:11.0.17.0.8-2.el7_9 完了しました!
Java8からJava11への切り替え
alternatives --config java
[root@SV-SATURN ~]# alternatives --config java 2 プログラムがあり 'java' を提供します。 選択 コマンド ----------------------------------------------- *+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/bin/java) 2 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.17.0.8-2.el7_9.x86_64/bin/java) Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2
alternatives --config javac
[root@SV-SATURN ~]# alternatives --config javac 2 プログラムがあり 'javac' を提供します。 選択 コマンド ----------------------------------------------- *+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/bin/javac) 2 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.17.0.8-2.el7_9.x86_64/bin/javac) Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2
Java11へ切り替え後の確認
java -version
[root@SV-SATURN ~]# java -version openjdk version "11.0.17" 2022-10-18 LTS OpenJDK Runtime Environment (Red_Hat-11.0.17.0.8-2.el7_9) (build 11.0.17+8-LTS) OpenJDK 64-Bit Server VM (Red_Hat-11.0.17.0.8-2.el7_9) (build 11.0.17+8-LTS, mixed mode, sharing)
javac -version
[root@SV-SATURN ~]# javac -version javac 11.0.17
Jenkins起動
systemctl start jenkins
systemctl status jenkins
[root@SV-SATURN ~]# systemctl start jenkins [root@SV-SATURN ~]# systemctl status jenkins ● jenkins.service - Jenkins Continuous Integration Server Loaded: loaded (/usr/lib/systemd/system/jenkins.service; disabled; vendor preset: disabled) Drop-In: /etc/systemd/system/jenkins.service.d mqoverride.conf Active: active (running) since 水 2022-11-09 08:38:48 JST; 8s ago Main PID: 31241 (java) CGroup: /system.slice/jenkins.service mq31241 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webr... 11月 09 08:38:47 SV-SATURN jenkins[31241]: 2022-11-08 23:38:47.722+0000 [id=53] INFO ...ver 11月 09 08:38:48 SV-SATURN jenkins[31241]: 2022-11-08 23:38:48.212+0000 [id=28] INFO ...ion 11月 09 08:38:48 SV-SATURN jenkins[31241]: 2022-11-08 23:38:48.313+0000 [id=22] WARNIN...set 11月 09 08:38:48 SV-SATURN jenkins[31241]: 2022-11-08 23:38:48.313+0000 [id=22] WARNIN...set 11月 09 08:38:48 SV-SATURN jenkins[31241]: 2022-11-08 23:38:48.313+0000 [id=22] WARNIN...set 11月 09 08:38:48 SV-SATURN jenkins[31241]: 2022-11-08 23:38:48.431+0000 [id=22] INFO ...ing 11月 09 08:38:48 SV-SATURN systemd[1]: Started Jenkins Continuous Integration Server. 11月 09 08:38:49 SV-SATURN jenkins[31241]: [11/09/22 08:38:49] SSH Launch of sv-pluto.planet.... ms 11月 09 08:38:50 SV-SATURN jenkins[31241]: [11/09/22 08:38:50] SSH Launch of sv-neptune.plane... ms 11月 09 08:38:50 SV-SATURN jenkins[31241]: [11/09/22 08:38:50] SSH Launch of gitlab.sv-mars.p... ms Hint: Some lines were ellipsized, use -l to show in full.
ブラウザでJenkins画面の確認
Jenkinsオジサン登場!
参考記事
インフラエンジニアになるための勉強のやり方
私は、某SIerに勤務しながら、WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。
現在の会社で直接担当している業務の中では、決まった技術しか触れないけれど、
「他にも将来役に立ちそうなインフラ技術を勉強したい」「働きながらでもできる効率的なインフラエンジニアの勉強方法を知りたい」と考えている方のために、
①おすすめの書籍と、②おススメのオンライン学習サイトを紹介します。
働きながら勉強するための、おススメの書籍と、オンラインで学習できるサイトの紹介です。
インフラエンジニアの勉強ができるおススメ書籍
朝の通勤時や帰宅時の電車の中や、社外打合せへの移動中などに勉強するなら、やはり書籍が一番だと思います。
インフラエンジニアの教科書
LINE社に創業時から在籍しているインフラエンジニア・プロマネの「佐野裕」さんの本です。 twitter.com
膨大なトラフィックをさばくLINE社にて構築・保守を行っている現役エンジニアが記すITインフラの必須知識と経験の数々! サーバ、OS、ネットワーク機器、データセンター、購買と商談、障害対応、大規模インフラ、成長するために必要なスキルなど、基礎知識から実践まで言及。 ITインフラの世界が理解できる珠玉の1冊!
インフラエンジニアの教科書 (C&R研究所) 佐野裕 |
1週間でLPICの基礎が学べる本
Linuxの資格「LPIC」の試験対策を初心者向けに書いた入門書です。
Linuxの資格として広く知られているLPICですが、あまり知識の無いまま試験対策を始める人も多いのではないでしょうか。しかし、試験対策書は試験範囲についてのみ解説しているものが多く、初心者が理解するのは困難です。本書は、初心者がスムーズに試験対策を行えるよう、事前に基礎固めを行うLinux入門書です。試験情報や模擬問題も掲載しているので、資格取得を視野に入れた効率的な基礎学習が行えます。
1週間でLPICの基礎が学べる本 第3版 徹底攻略シリーズ (インプレス) 中島能和 |
インフラエンジニアの勉強ができるオンライン学習サイト
Udemy (オンライン動画学習サイト)
Udemy(ユーデミー)は、オンラインで動画で学習できるサービスです。
ITエンジニア系の講座もたくさん公開されています。
Udemyの特徴
- ユーザー登録すれば、第1回の講座は無料で視聴できる
- 無料のコンテンツもある
- 過去に受講した人の人数や、受講した人の評価も表示されるので選びやすい
以上、読んでいただきありがとうございました。