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


Ignore:
Timestamp:
09/06/24 12:50:22 (2 months ago)
Author:
shuei
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