Changes between Version 17 and Version 18 of epics/Archiver Appliance インストールメモ


Ignore:
Timestamp:
09/06/24 12:50:22 (7 months ago)
Author:
Shuei Yamada
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • epics/Archiver Appliance インストールメモ

    v17 v18  
    22
    33= はじめに =
    4 このドキュメントはJ-PARC加速器向けに[https://slacmshankar.github.io/epicsarchiver_docs/ Archiver Appliance (AA)]をインストールして立ち上げた際の作業メモなので、適宜読み替えて頂きたい。
    5 * AAの[https://slacmshankar.github.io/epicsarchiver_docs/installguide.html インストールガイド]を良く読んでおくこと。
    6 * AAの[https://slacmshankar.github.io/epicsarchiver_docs/installguide.html インストールガイド]を良く読んでおくこと。
    7  * [https://slacmshankar.github.io/epicsarchiver_docs/quickstart.html Quickstart]はあくまでもAAを試食するためのセットアップ方法。よく読むと「Quickstartの方法では設定が保存されない。AAを再起動したら、アーカイブしたいPVを再度AAに設定しなければならない」旨が書いてある。
     4このドキュメントはJ-PARC加速器向けに[https://epicsarchiver.readthedocs.io/en/latest/index.html Archiver Appliance (AA)]をインストールして立ち上げた際の作業メモなので、適宜読み替えて頂きたい。
     5* AAの[https://epicsarchiver.readthedocs.io/en/latest/sysadmin/installguide.html インストールガイド]を良く読んでおくこと。
     6* AAの[https://epicsarchiver.readthedocs.io/en/latest/sysadmin/installguide.html インストールガイド]を良く読んでおくこと。
     7 * [https://epicsarchiver.readthedocs.io/en/latest/sysadmin/quickstart.html Quickstart]はあくまでもAAを試食するためのセットアップ方法なので、ここでは見ないでおく。よく読むと「Quickstartの方法では設定が保存されない。AAを再起動したら、アーカイブしたいPVを再度AAに設定しなければならない」旨が書いてある。
    88* jkjarchiver-ap.mr.jkcontにインストールする
    9  * OS : SL 6.8 / x86_64
     9 * OS : Alma Linux 9 / x86_64
    1010 * epicsアカウントで作業する
    1111 * 作業ディレクトリ: /home/epics/archappl
     
    1313 * AAのデータ保存先: /localdata/archappl
    1414 * 各種設定ファイル・起動スクリプトは(できるだけ)mercurialでバージョン管理している
    15 * Raspberry Pi 2BにもAAを入れてみたのでメモしておく
    16  * OS : Raspbian stretch
    1715* インストールの際に、X Window System上での作業が必要
     16* あらかじめdnfでインストールしておくもの
     17 * gcc
     18 * zenity
    1819* AAインストール後の運用については[[wiki:Archiver Appliance 運用メモ|Archiver Appliance 運用メモ]]を参照のこと
    1920
     
    2223
    2324== Archiver Appliance ==
     25[https://github.com/archiver-appliance/epicsarchiverap/releases github]からダウンロードする。
    2426インストールするのはバイナリの配布物だが、ソースコードに管理用のスクリプトの例が含まれているので一緒にダウンロードしておく。
    2527* バイナリ
    2628{{{
    27 % wget https://github.com/slacmshankar/epicsarchiverap/releases/download/v0.0.1_SNAPSHOT_27-Nov-2017/archappl_v0.0.1_SNAPSHOT_27-November-2017T16-32-40.tar.gz
     29% wget https://github.com/archiver-appliance/epicsarchiverap/releases/download/1.1.0/archappl_v1.1.0.tar.gz
    2830}}}
    2931* ソースコード
    3032{{{
    31 % git clone https://github.com/slacmshankar/epicsarchiverap epicsarchiverap.git
     33% wget https://github.com/archiver-appliance/epicsarchiverap/archive/refs/tags/1.1.0.tar.gz
    3234}}}
    3335
    3436== Apache Tomcat ==
    35 AAを走らせるにはApache Tomcat 7.0.61以降が必要。[http://tomcat.apache.org/download-80.cgi Apache Tomcat配布元]から8.5.28をダウンロードした。
     37AAを走らせるにはApache Tomcat 7.0.61以降が必要。[https://tomcat.apache.org/download-90.cgi Apache Tomcat配布元]から9.0.33のCoreからtar.gzをダウンロードした。
     38* Tomcat 10系で動くか未確認
    3639
    3740== MySQL ==
    38 AAがアーカイブするレコードの情報を記録するのに、MySQL 5.1以降が必要。
    39 SL6の配布物からMySQL 5.1.73をrpmでインストールした。
    40 {{{
    41 # yum install mysql mysql-server mysql-devel
     41AAがアーカイブするレコードの情報を記録するのに、MySQL/MariaDBが必要。
     42AlmaLinux9の配布物からmariadb 10.5をdnfでインストールした。
     43{{{
     44# yum install mariadb mariadb-server
    4245}}}
    4346
    4447今回は
    45 * AAを実行するマシンでMySQLサーバも走らせる
    46 * MySQLのテーブルはNFSサーバ上に置く
    47 という構成にしたが、MySQLサーバはAAとは独立したマシンにした方がよかったかもしれない。
    48 
    49 Raspbian stretchでは、mariadb 10.1.23を用いた
    50 {{{
    51 # apt install mariadb-server mariadb-client
    52 }}}
     48* AAを実行するマシンでMariaDBサーバも走らせる
     49* MariadDBのテーブルはNFSサーバ上に置く
     50という構成にしたが、MariaDBサーバはAAとは独立したマシンにした方がよかったかもしれない。
    5351
    5452== MySQL クライアント jar ==
    55 mysql-connector-javaを[http://dev.mysql.com/downloads/connector/j/ MySQL本家]からダウンロードする。
    56 SL6標準のrpmパッケージは依存するライブラリを多数インストールするのでやめておく。AAのインストール後に、インストール先ディレクトリのapache-tomcat-8.5.xx/libに置いてあるjarを差し替えることで、javaクライアントを入れ替えることができる。
    57 
    58 SL6では以下のクライアントで動いた:
    59 * mysql-connector-java-5.1.45-bin.jar
    60 * mysql-connector-java-5.1.47.jar
    61 ※ SL6のMySQLは5.1なので、 mysql-connector-java-8.0.12.jarでは次のエラーを出してAAが起動しない:
    62 {{{
    63 SEVERE: Unable to create initial connections of pool.
    64 java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required
    65 }}}
    66 
    67 Raspbian stretchでは以下のクライアントで動いた:
    68 * mysql-connector-java-8.0.12.jar
    69 
    70 以下のクライアントではAAがエラーを吐いて動作しなかった:
    71 * mariadb-java-client-2.3.0.jar
    72 {{{
    73 重大: Unable to create initial connections of pool.
    74 java.sql.SQLException: Unable to load class: com.mysql.jdbc.Driver from ClassLoader:java.net.URLClassLoader@18025c;ClassLoader:ParallelWebappClassLoader
    75 }}}
    76 * ${TOMCAT_HOME}/conf/context.xml (後述) を次のように書き換えても動作しない。どこかでhard codingされている可能性がある
    77 {{{
    78 driverClassName="org.mariadb.jdbc.Driver"
    79 }}}
    80 
    81 == JDK 8/9 ==
    82 制御計算機ではOracleのjdk-8u181-linux-x64を用いた。
    83 
    84 Raspbian stretchでは以下の3つのJDKで動作確認した:
    85 * oracle-java8-jdk (JAVA_HOME=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt)
    86 * openjdk-8-jdk (JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-armhf)
    87 * openjdk-9-jdk (JAVA_HOME=/usr/lib/jvm/java-1.9.0-openjdk-armhf)
    88 Raspbianでは、AAのインストールの過程でjsvcのビルドに失敗する。apache tomcatのcommons-daemon-native.tar.gzの中のconfigureにパッチを当てるのは大変なので、JDKに手をいれて対処する:
    89 {{{
    90 cd $JAVA_HOME/include
    91 ln -fs linux arm
    92 }}}
    93 
    94 == zenity ==
    95 制御計算機にはSL標準のrpmパッケージがインストールしてあるので省略。
     53mysql-connector-javaを[http://dev.mysql.com/downloads/connector/j/ MySQL本家]のArchiveから、
     54* Product Version → 8.0.33
     55* Operating System → Platform Independent
     56を選んでtarをダウンロードする。
     57AAのインストール後に、インストール先ディレクトリのapache-tomcat-x.y.z/libに置いてあるjarを差し替えることで、javaクライアントを入れ替えることができる。
     58
     59== JDK 17 ==
     60制御計算機ではAdoptiumのOpenJDKU-jdk_x64_linux_hotspot_17.0.12_7.tar.gzを用いた。
     61* Alma Linux 9のjava-17-openjdk-develをdnfで入れてもOK
    9662
    9763== tar ballの展開 ==
     
    9965% mkdir -p ~/archappl/workspace
    10066% cd ~/archappl/workspace
    101 % tar xf ../download/archappl_v0.0.1_SNAPSHOT_20-September-2016T13-50-17.tar.gz
    102 % tar xf ../download/mysql-connector-java-5.1.40.tar.gz
     67% tar xf ../download/archappl_v1.1.0.tar.gz
     68% tar xf ../download/mysql-connector-j-8.0.33.tar.gz
    10369}}}
    10470