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


Ignore:
Timestamp:
10/02/18 15:09:43 (13 months ago)
Author:
shuei
Comment:

--

Legend:

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

    v7 v8  
    2323* バイナリ 
    2424{{{ 
    25 % wget https://github.com/slacmshankar/epicsarchiverap/releases/download/v0.0.1_SNAPSHOT_20-Sept-2016/archappl_v0.0.1_SNAPSHOT_20-September-2016T13-50-17.tar.gz 
     25% 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 
    2626}}} 
    2727* ソースコード 
     
    3131 
    3232== Apache Tomcat == 
    33 AAを走らせるにはApache Tomcat 7.0.61以降が必要。[http://tomcat.apache.org/download-80.cgi Apache Tomcat配布元]から8.5.16をダウンロードした。 
     33AAを走らせるにはApache Tomcat 7.0.61以降が必要。[http://tomcat.apache.org/download-80.cgi Apache Tomcat配布元]から8.5.28をダウンロードした。 
    3434 
    3535== MySQL == 
     
    4545という構成にしたが、MySQLサーバはAAとは独立したマシンにした方がよかったかもしれない。 
    4646 
     47Raspbian stretchでは、mariadb 10.1.23を用いた 
     48{{{ 
     49# apt install mariadb-server mariadb-client 
     50}}} 
     51 
    4752== MySQL クライアント jar == 
    4853mysql-connector-javaを[http://dev.mysql.com/downloads/connector/j/ MySQL本家]からダウンロードする。 
    4954SL6標準のrpmパッケージは依存するライブラリを多数インストールするのでやめておく。 
     55以下のクライアントで動いた: 
     56* mysql-connector-java-5.1.45-bin.jar 
     57* mysql-connector-java-5.1.47.jar 
     58* mysql-connector-java-8.0.12.jar 
     59AAのインストール後に、インストール先ディレクトリのapache-tomcat-8.5.xx/libに置いてあるjarを差し替えることで、javaクライアントを入れ替えることができる。 
     60 
     61以下のクライアントではAAがエラーを吐いて動作しなかった: 
     62* mariadb-java-client-2.3.0.jar 
     63{{{ 
     64重大: Unable to create initial connections of pool. 
     65java.sql.SQLException: Unable to load class: com.mysql.jdbc.Driver from ClassLoader:java.net.URLClassLoader@18025c;ClassLoader:ParallelWebappClassLoader 
     66}}} 
     67* ${TOMCAT_HOME}/conf/context.xml (後述) を次のように書き換えても動作しない。どこかでhard codingされている可能性がある 
     68{{{ 
     69driverClassName="org.mariadb.jdbc.Driver" 
     70}}} 
    5071 
    5172== JDK 1.8 == 
    52 制御計算機にはすでにインストールしてあるので省略。 
     73制御計算機ではOracleのjdk-8u181-linux-x84を用いた。 
     74 
     75Raspbian stretchでは以下の2つのJDK8で動作確認した: 
     76* oracle-java8-jdk (JAVA_HOME=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt) 
     77* openjdk-8-jdk (JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-armhf) 
     78Raspbianでは、AAのインストールの過程でjsvcのビルドに失敗する。apache tomcatのcommons-daemon-native.tar.gzの中のconfigureにパッチを当てるのは大変なので、 
     79jdkに手をいれて対処する: 
     80{{{ 
     81cd $JAVA_HOME/include 
     82ln -fs linux arm 
     83}}} 
    5384 
    5485== zenity == 
     
    86117 
    87118== /etc/my.cnf == 
    88 MySQLの設定ファイルをリポジトリからコピーして使う。 
     119* SL6の場合 
     120 MySQLの設定ファイルをリポジトリからコピーして使う。 
    89121{{{ 
    90122[mysqld] 
     
    109141}}} 
    110142 
     143* Rasibianのmariadbの場 
     144 /etc/mysql/mariadb.conf.d/50-server.cnfでdatadirを適宜書き換える。 
     145 debian由来のmariadbでは、デフォルトの文字コードがutf8mb(4-bytes unicode)になっているために767バイト制限に引っかかってテーブルを作れない。次のファイルを書き換えてutf8 (3-bytes unicode)を使うようにする。 
     146 * /etc/mysql/mariadb.conf.d/50-server.cnf 
     147 * /etc/mysql/mariadb.conf.d/50-clients.cnf 
     148 * /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf 
     149 
    111150== logrotate == 
    112151/etc/logrotate.d/mysqld に手順が書いてある。後回し。 
    113152 
    114153== mysqlサーバ自動起動の設定 == 
     154* SL6の場合 
     155MySQLをインストールしても自動起動しない。自動起動するように設定する 
    115156{{{ 
    116157# cd /etc/rd.c/ini.d 
     
    121162 
    122163== MySQLサーバの起動 == 
    123 dbが存在しない場合は、MySQLサーバの初回起動時に、スクリプトがdbを作ってくれる。 
     164* SL6のrpmパッケージでMySQLをインストールした場合 
     165MySQLサーバの初回起動時に(dbが存在しなければ)dbを作ってくれる。 
    124166{{{ 
    125167# /etc/rc.d/init.d/mysqld start 
     
    157199                                                           [  OK  ] 
    158200mysqld を起動中:                                           [  OK  ] 
     201}}} 
     202 
     203* Raspbianのmariadbの場合 
     204datadirを標準のものから変えた場合は明示的にdbを作る必要がある。 
     205{{{ 
     206systemctl stop mariadb 
     207mysql_install_db --user=mysql --datadir=/localdata/mysql 
     208systemctl start mariadb 
    159209}}} 
    160210 
     
    501551== 起動スクリプトの修正 == 
    502552インストールスクリプトがAAの起動スクリプトsampleStartup.shを生成するので、環境に合わせて書き換える。 
     553* Rasibianの場合、oracle jdk8/openjdk8のいずれもjvmにサーバーモードが存在しない。jsvcに渡す引数から-serverを削除しておく。 
    503554 
    504555=== アプライアンスの設定 ===