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


Ignore:
Timestamp:
10/02/18 15:09:43 (7 years ago)
Author:
Shuei Yamada
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TabularUnified 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=== アプライアンスの設定 ===