インストールについて

Luxorのモジュール構成

Luxorモジュールについて説明します。下記では、Luxor Ver.1.3.8モジュール構成を例にしています。各リビジョンに合わせ、読み替えてください。

モジュール名 luxor.1.3.8.tbz
モジュール構成 luxor.1.3.8/apache-tomcat-8.5.9.tar.gz
luxor.1.3.8/jre-8u111-linux-i586.tar.gz
luxor.1.3.8/jre-8u111-linux-x64.tar.gz
luxor.1.3.8/setup.sh
luxor.1.3.8/solrSchemaV1.tar.gz※
luxor.1.3.8/solrSchemaV2.tar.gz※
luxor.1.3.8/solr.war

※Ver.1.3.6で検索精度向上オプションを追加したため、luxor.1.3.6.tbz展開後の構成も一部変更しています。変更内容は次となります。

  • (廃止)solr.tar.gz
  • (追加)solrSchemaV1.tar.gz
  • (追加)solrSchemaV2.tar.gz

インストールの準備

前提条件

前提条件は以下の通りです。インストールする前に確認しておいてください。

  • [1]webadmin User/Groupが存在しないことを想定しています。インストール時、UID/GID共に1521で作成します。
    ※存在する場合、そのUserでtomcatを起動する設定となります。

  • [2]以下のファイル/ディレクトリが存在すると、インストールスクリプト実行時にエラーになります。

    /etc/init.d/solrTomcat /etc/profile.d/solrTomcat.sh /usr/local/solr/tomcat /var/solr /var/log/solr

  • [3]ポートは通信可能な状態にしておいてください。ポート情報の詳細については、「表 各サーバ間のプロトコル(デフォルトポート)」を参照してください。

  • [4]NFSでマウントしたディレクトリ上にインストールする場合は、本章の「LuxorのインデックスをNFS上に保存する方法」を参照してください。

  • [5]Luxorのインストール、バージョンアップする際、setup.confでlockTypeを"lockType=native"と設定してください。
    ※設定ファイルsetup.confの詳細については、「Luxorの設定」を参照してください。

接続関連の設定

Luxorサーバ

Luxorの設定ファイルsetup.confについて説明します。

  • ファイル:setup.conf
  • ファイルパス:/root/luxor.1.3.8/setup.conf

※Ver.1.3.8の場合のパスを例にしています。各リビジョンに合わせ、読み替えてください。

主な設定:

  • addAllowIps
  • addBasicIps
  • iseUrl
  • sdbUrl
  • maxHostConnections
  • maxTotalConnections

設定詳細:

表 setup.confファイル全ての設定情報

項目名 必須 初期値 説明
UserName webadmin Tomcat起動User名
UserId 1521 Tomcat起動UserのId。Userが存在しない場合に作成する際のUserIDを指定。
GroupName webadmin Tomcat起動Userの所属Group名
GroupId 1521 Tomcat起動Userの所属GroupID。Groupが存在しない場合に作成する際のGroup IDを指定。
tomcatInstallDir /usr/local/solr TomcatのInstall先ディレクトリ。Tomcat Install先ディレクトリ配下のtomcat ディレクトリがTomcat Homeになる。
tomcatMediaFile apache-tomcat-8.5.9.tar.gz Installに利用するtomcat File
tomcatInitFile /etc/init.d/solrTomcat Tomcat起動File
tomcatProfile tomcatの設定を記述するFile
(廃止)
javaHome JAVA_HOME
(廃止)
javaMediaFile jre-8u111-linux-x64.tar.gz サーバ/OSが32bitの場合等は、jre-8u111-linux-i586.tar.gzを指定
サーバ/OSが64bitの場合等は、jre-8u111-linux-x64.tar.gzを指定してください。
javaDir jre1.8.0_111 javaMediaFileを展開した際のディレクトリを指定。jre1.8.0_111を指定してください。
solrPort 10080 Tomcatが検索等のリクエストを受け付けるポート
tomcatShutdownPort 18005 Tomcatが停止リクエストを受け付けるポート
solrDataDir /var SolrのDataを置くディレクトリ。/var/luxorとのディレクトリにする場合、/varと指定して良い
solrLogDir /var/log/solr SolrのLog出力先ディレクトリ。変更する場合、log4j.xmlが修正必要
solrWarFile solr.war SolrのWar File名
solrDataFile solrのData File名
(Luxor 1.3.6で廃止)
addAllowIps Solrへのアクセスを無条件で許可するIP。INSUITE® AP/管理サーバ、Sm@rtDB APサーバ/Luxorサーバ(複数台構成の場合)のIPアドレスを指定。複数指定可
複数記述する場合は、カンマ区切り。スペースは入れないでください。
127.0.0.1は無条件で許可される。ネットワークセグメント単位での指定可能。例:addAllowIps ="10.2.0.0/16"
addBasicIps SolrへのアクセスをBASIC認証で許可するIP。Luxor管理端末のIPアドレスを指定。複数指定可
複数記述する場合は、カンマ区切り。スペースは入れないでください。ネットワークセグメント単位での指定は可能。例:addBasicIps="10.2.0.0/16"
iseUrl http://localhost/ 閲覧権限をチェックするリクエストの送信先を指定するINSUITE®用パラメータ。
一台構成(INSUITE®サーバ)の場合、INSUITE® APサーバのIPアドレスかFQDNを指定する。複数台構成(INSUITE®サーバ)の場合、LBサーバのIPアドレスかFQDNを指定してください。
※INSUITE®管理サーバは指定できない
△INSUITE®にてLuxor検索エンジンを使用する場合は必須
sdbUrl http://localhost/hibiki 閲覧権限をチェックするリクエストの送信先を指定するSm@rtDB用パラメータ。
一台構成(Sm@rtDBサーバ)の場合、Sm@rtDB APサーバのIPアドレスかFQDNを指定。複数台構成(Sm@rtDBサーバ)の場合、LBサーバのIPアドレスかFQDNを指定してください。
△Sm@rtDBにてLuxor検索エンジンを使用する場合は必須
maxPostSize 41MB TomcatにはPostサイズの上限がある。Tomcatの最大Post Sizeを指定するパラメータ。指定しない場合: 2MB
indexMaxLen 無制限 solrとしてIndexする最大長。
(廃止)
指定しない場合: 無制限
solrLogLevel error org.apache.solr以下のLog出力Level
(廃止)
error : errorレベルのみ出力
info : info、errorレベルを出力
luxorLogLevel error jp.co.dreamarts以下のLog出力Level
(廃止)
error : errorレベルのみ出力
info : info、errorレベルを出力
javaHeapOpt -Xms512m -Xmx1024m java heap size Option等を指定するパラメータ。XmsはLuxorが使用するメモリの最小値を指し、Xmxは最大値を指す。Xmxの値を物理メモリの1/3~1/2に設定するのが推奨
JVMの設定値と検索速度のパフォーマンスの関係については、『Luxor_Ver.1.3.0_サイジング基礎情報』をご参照ください。
commitInterval 5 SolrのSoftCommit間隔(秒数)。インデックスへの更新発生後コミットするまでの秒数を指定する
この間発生した更新はまとめてコミットされる。値が大きいとコミット処理によるサーバ負荷を軽減できるが、更新が検索結果に反映されるまでに時間を要してしまう。
optimizeInterval 1800 SolrのOptimize間隔(秒数)。インデックスへの更新発生後、オプティマイズを実施するまでの秒数を指定
値が大きいと、オプティマイズによるサーバ負荷を軽減できる。
オプティマイズしないままでは、検索パフォーマンスが劣化する。
luxorUserPass luxor:dreamarts Tomcat Basic認証で設定するID:Password。SolrのAdmin画面にログインする場合の認証に利用する。
iseApacheUser luxor INSUITE® Apache Basic認証に設定されているUser名。削除は手動で行う必要がある。
※INSUITE®にてLuxor検索エンジンを使用し、Basic認証を利用する場合は必須
iseApachePass dreamarts INSUITE® Apache Basic認証に設定されているPassowrd。削除は手動で行う必要がある。
※INSUITE®にてLuxor検索エンジンを使用し、Basic認証を利用する場合は必須
luxorQRsCache 1024 solr queryResultCache Size
luxorDocCache 1024 solr documentCache Size
maxHostConnections 64 APサーバ1台当りの最大同時接続数。
Luxorは検索結果を出力した後、各データの閲覧権限をINSUITE® AP及びSm@rtDB APサーバにリクエストする。(複数台のAPサーバを指定することが可能)。同時に多数のユーザが検索を行った場合は、APサーバの最大処理コネクション数を超過する場合があるため、この設定により1台のAPサーバに対する最大接続数を規定して、これを超えた接続リクエストがAPサーバに送られないようにする。
設定値は、ご利用環境のAPサーバが通常どの程度接続数に余裕があるかを考慮して決定してください。
maxTotalConnections 256 APサーバ全台への最大同時接続数。(Luxor Ver.1.1.0で追加)
maxHostConnectionsと同様にINSUITE® AP及びSm@rtDB APサーバへ最大接続数を規定する。
maxHostConnectionsは1台当りの最大接続数を規定するが、maxTotalConnectionsは全APサーバに対する最大接続数を規定する。
lockType native インデックスファイルのロック方法
native: 通常のロック方法
simple: やや低速のロック方法
(Luxor Ver.1.1.0で追加)
冗長化構成の場合、nativeに設定必須
maxSearchRow 1000 検索該当総数の上限値。設定可能値:1~2147483647。上限値は各機能(INSUITE®及びSm@rtDB)の合算となる点はご注意ください。
例えば、1000に設定する際、検索対象が1コアの場合は、1000件を上限として検索する。3コアの場合は、それぞれのコアに対して333件、333件、334件を上限として検索する。この上限値を超えると、以下のメッセージが表示される。
「全文検索の結果が上限を超えたため、一部しか表示されていない可能性があります。」
本設定に応じて、INSUITE®またはSm@rtDB APサーバおよびLuxorサーバのメモリ使用量が増加するため、実際の数値設定は利用シーンに合わせて設定してください。
permitRows なし 検索結果のうち権限チェックをする対象の上限値。設定可能値:1~maxSearchRowの値。
Luxorサーバの性能を考慮する場合、maxSearchRowの設定値より小さい値を設定してください。(Luxor Ver.1.3.0で追加)上限値を超えると、以下のメッセージが表示される。
「全文検索の結果が上限を超えたため、一部しか表示されていない可能性があります。」
Luxorは1回の検索に対して、INSUITE®(またはSm@rtDB)のAPサーバに1回の権限チェックリクエストを送る。permitRowsはLuxorからINSUITE®(またはSm@rtDB)へ渡すリクエストの上限値を設定する。上限値permitRowsは各機能(INSUITE®及びSm@rtDB)の合算となる点はご注意ください。
例えば、permitRowsを1000に設定する際、検索対象が1コアの場合は、1000件を上限として検索する。3コアの場合は、それぞれのコアに対して333件、333件、334件を上限として検索する。
maxAccess なし 検索の同時アクセス数の上限値。設定可能値:1~10000
(Luxor Ver.1.3.0で追加)アクセス数を超えると、以下のメッセージが画面に表示される
「全文検索の同時アクセス上限を超えました。暫く待ってから、再検索してください。」
fileDownload
ReadTimeout
5 添付ファイルのインデックス作成時、INSUITE®、Sm@rtDBのAPサーバからコンテンツを読み込む際のタイムアウト設定(単位秒)
(Luxor Ver.1.2.1で追加) 添付ファイルが圧縮ファイルの場合、圧縮ファイルを解凍してコンテンツもインデックスに書き込むため、INSUITE®、Sm@rtDBのAPサーバとの通信が発生し、コンテンツを読み込む時間が掛かる。お客様の環境に合わせた値を設定してください。
fileDownload
ConnectTimeout
5 LuxorサーバからINSUITE®、Sm@rtDB APサーバへリクエストし、接続するタイムアウトの設定(単位:秒)(Luxor Ver.1.2.1で追加)
schemaISEVer V2 INSUITE®のスキーマのバージョン設定
V1:従来のまま
V2:新スキーマを利用
(Luxor Ver.1.3.6で追加)
※スキーマをV2に設定する場合はインデックスの再作成が必要。
schemaSDBVer V2 Sm@rtDBのスキーマのバージョン設定
V1:従来のまま
V2:新スキーマを利用
(Luxor Ver.1.3.6で追加)
※スキーマをV2に設定する場合はインデックスの再作成が必要。
solrSchemaFileV1 solrSchemaV1.tar.gz 従来型のスキーマが収めるファイル名を設定
(Luxor Ver.1.3.6で追加)
変更不可
solrSchemaFileV2 solrSchemaV2.tar.gz 新型のスキーマが収めるファイル名を設定
(Luxor Ver.1.3.6で追加)
変更不可
maxRetriesOn
NoHttpResponseException
1 0以上の整数(0は含まない)
(Luxor Ver.1.3.6で追加)
SolrでNoHttpResponseExceptionは発生すると、Luxorはリスポンスを得るためのretry数を設定
maxRetriesOnNoHttpResponseExceptionの設定は大きくしないことが推奨。設定値は大きくなると、検索エンジンの負荷は重くて、性能劣化の恐れがある
retriesDelayOn
NoHttpResponseException
500 0以上の整数(0は含まない)単位はミリ秒(ms)
(Luxor Ver.1.3.6で追加)
maxRetriesOnNoHttpResponseExceptionに"0"以外を設定し、SolrでNoHttpResponseExceptionが発生すると、Luxorでretry操作がある。そのretry操作の時間間隔はretriesDelayOnNoHttpResponseExceptionより設定する
※この設定より、次回のretry時間間隔は自動的に前回の二倍になる。例えば、500に設定する場合、次回のretry時間間隔は1000となる
jmx off ホットスダンバイ冗長化設定の場合、jmx=offに設定することが必須
tomcatStopMaxWait 300(秒) Solr用のTomcatを手動停止する際、設定値が過ぎた場合、強制終了させる設定。
logMaxBackupDays 0(単位:日) (Luxor Ver.1.3.8で追加) 日時によりログファイルの分割を行うDailyRollingFileAppenderに対し、ログ保存期間を超えたLuxorのsolr.logとluxor.logを削除するログローテート設定。デフォルト値は0。設定値が0の場合、ログローテートは行われない。0以上の整数値を設定してください。
※ログローテート対象は、現時点でのlog4j.xmlのDatePatternにより生成されたログのみとする。DatePatternが変更された場合、変更前のDatePatternにより生成されたログファイルはローテート対象外となり処理しないため、ご注意ください。
※ logMaxBackupDays変更時、setup.confの設定反映とSolr用のTomcat再起動が必要
watchInterval 5(単位:秒) (Luxor Ver.1.3.5で追加)
watchIntervalはsetup.confのパラメータで、log4j.xmlファイルの更新を監視する、監視間隔を設定する
queueCheckInterval 30 (Luxor Ver.1.3.10で追加)
キュー処理監視間隔期間を設定。
0からの正整数を設定してください。デフォルトは30min。単位は分。
監視間隔期間内で処理中のキューが変更していない場合、キュー処理が停止したと判断し、エラーログが出力されるようになる。
authCheckTimeout 290 (Luxor Ver.1.3.11で追加)LuxorからINSUITEやSm@rtDBへの接続異常や製品APサーバ高負荷による権限チェックのレスポンスが長時間でLuxorに戻らない時、権限チェック処理がタイムアウトすると中止する仕組み。単位: 秒(s)
profLogLimitTime 0 (Luxor Ver.1.3.11で追加)検索処理時間は設定のprofLogLimitTimeより長い場合、検索処理にかかる時間の詳細を出力する。デフォルト0の場合、該当設定利用しない。単位: 秒(s)
discardResultIfAuthCheckFail 0 (Luxor Ver.1.3.11で追加)INSUITE、Sm@rtDB側の権限チェック処理が失敗する時、Luxor側の独自の権限チェックで閲覧可能な結果を表示するかどうかのオプション。設定値:0、1
- 0: INSUITE、Sm@rtDB側の権限チェック処理が失敗する時、Luxor側の独自の権限チェックで閲覧可能な結果を表示する
- 1: INSUITE、Sm@rtDB側の権限チェック処理が失敗する時、Luxor側の独自の権限チェックで閲覧可能な結果を表示しない

INSUITE® APサーバの設定

INSUITE® APサーバの設定は次の二つがあります。

  • domain.dat(Luxorサーバへの接続情報を設定)
  • conf_search_luxor.dat(Luxorの各種設定を保持するファイル)

ここでは、domain.datとconf_search_luxor.datファイル内のLuxor関連パラメータのみをまとめています。他のパラメータについては、『INSUITE®アプリケーション・アドミニストレーション・ガイド』を参照してください。

表 INSUITE®からLuxorへの接続設定/home/DreamArts/data/system/domain.dat

パラメータ 初期値 説明
luxor_domain なし Luxorサーバへ送信する検索リクエストの送信先を指定するパラメータ。INSUITE® AP・管理サーバからアクセス可能なLuxorサーバのドメイン名かIPアドレスを指定してください。
(ドメイン名はINSUITE®サーバ上にて使える状態にしておく必要がある。)
luxor_port なし Luxorサーバへ送信する検索リクエストの送信先のポートを指定するパラメータ
・Luxorサーバがリクエストを受け付けるポート番号を指定してください。
luxor_rdir /solr Luxorサーバへ送信する検索リクエストの送信先のディレクトリを指定するパラメータ
・Luxorサーバにて、検索リクエストを受け付けるディレクトリ。
通常変更する必要はない。
luxor_allow_ip なし 閲覧権限をチェックするリクエストの送信先を許可するIPアドレスを指定するパラメータ。INSUITE® APから見た場合のLuxorサーバのIPアドレスを指定してください。(カンマ区切りで複数可)
※Luxorインストール時の設定ファイルsetup.confの"iseUrl"に"localhost"を指定する場合、luxor_allow_ipには"127.0.0.1"を指定
※必ずIPアドレスを指定してください。ドメイン名は無効
※Luxorインストール時の設定ファイルsetup.confの"iseUrl"にロードバランサIPを設定する場合は、INSUITE®からみたロードバランサ仮想IPを指定してください。

※ domain.datのパラメータと値の記載方法は、"PARAM=VALUE"または"PARAM[TABキー]VALUE"です。スペースは含まないでください。

luxor_allow_ip=xxx.xxx.xxx.xxx
luxor_allow_ip[TAB]xxx.xxx.xxx.xxx

下記は設定例:

# vi /home/DreamArts/data/system/domain.dat

--------------
luxor_allow_ip=10.1.1.1
luxor_domain=10.1.1.1
luxor_port=10080
luxor_rdir=/solr
--------------

表 Luxorのインストールに関連する設定/home/DreamArts/data/custom/conf_search_luxor.dat

パラメータ 初期値 説明
engine luxor 検索エンジンの指定。
※ V3.4.0インストーラーを使用した場合、Luxorとして固定されているため、"namazu"に設定されてもluxorを利用する。
※ また、検索エンジンを"luxor"に切替えて運用した後の"namazu"への切り戻しはサポートしていない。
lib_folder_path 1 統合検索のフォルダパスを表示するオプション。
1:フォルダパスを表示する(デフォルト)
0:表示しない
basic_auth on Luxorサーバとの通信時にBasic認証を使用する。
on:Basic認証ON(デフォルト)※推奨設定
off:Basic認証OFF
auth_user luxor Luxorサーバとの通信時にBasic認証を使用する場合のユーザ名
auth_pass dreamarts Luxorサーバとの通信時にBasic認証を使用する場合のパスワード

Sm@rtDB APサーバの設定

Sm@rtDB APサーバの設定は次の二つがあります。

  • hibiki.xml(Sm@rtDBのAPサーバから見た場合のLuxorサーバのIPアドレスを指定)
  • default.xml(Luxorサーバへの認証情報を設定&検索エンジンの種類指定)

ここでは、hibiki.xmlとdefault.xmlファイル内のLuxor関連パラメータのみをまとめています。他のパラメータについては、『Sm@rtDB_運用ガイド』を参照してください。

表 LuxorサーバとAPサーバ間の接続設定/etc/hibiki/hibiki.xml

パラメータ 初期値 説明
webServiceHosts なし 閲覧権限チェックのリクエストを許可するIPアドレスを指定するパラメータ。Sm@rtDBのAPサーバから見た場合のLuxorサーバのIPアドレスを指定

LuxorサーバIPアドレスが10.2.2.147である場合の追加例:

# vi /etc/hibiki/hibiki.xml

<system>
<!--
ひびきアプリケーションのアクセスURLルートメールなどによるURL通知のために使用される.
-->
    <property name="contextUrl" value="http://10.2.2.144/hibiki/"/>
    <property name="webServiceHosts" value="10.2.2.147,10.2.2.0/24,localhost,127.0.0.1"/>
</system>

全文検索エンジンにLuxorを使用する場合は、default.xmlにて以下の指定が必要になります。

Luxorサーバへの認証情報を設定&検索エンジンの種類指定

  • 設定ファイル名:/etc/hibiki/default.xml
  • 親要素:default-values.system.fullTextSearch
要素名称 初期値 説明
service luxor 検索エンジンの種類を設定
[luxor]タグは、この設定を"luxor"に設定時に有効
  • 設定ファイル名:/etc/hibiki/default.xml
  • 親要素:default-values.system.fullTextSearch.luxor.server
要素名称 初期値 説明
contextUrl - LuxorサーバのURLを設定する。APサーバからLuxorサーバへの認証時に使用する
auth.username luxor 認証用のユーザIDを設定する
auth.password dreamarts 認証用のパスワードを設定する

インストールの手順

Luxorのインストール方法について説明します。新規インストールする際の流れは、下記を参照してください。
※ Luxorサーバのインストールと各APサーバの設定は、必ずしも下記流れの順番で実施する必要はありません。

Luxorインストール作業の流れ

Luxorインストールの流れ
1 Luxorサーバのインストール
Luxor設定ファイル(setup.conf)
2 INSUITE® APサーバの設定
Luxorサーバへの接続情報(domain.dat)
Luxor用の全文検索設定(conf_search_luxor.dat)
3 Sm@rtDB APサーバの設定
LuxorサーバからAPサーバへの接続情報(hibiki.xml)
APサーバからLuxorサーバへの認証情報(default.xml)
4 各サーバの再起動
5 起動後の確認

上記流れより構築後、Luxor全文検索が利用できるようになります。下記は一例。構築パターンの詳細に関しては、「Luxorの構築パターン」より参照してください。
※インデックスをLuxorサーバとNFSサーバに保存することは両方可能です。

インデックスをLuxorサーバに保存する場合の構築例

LuxorのインデックスをNFS上に保存する方法

インデックスは、利用ユーザ数や文書数により膨大な量になることがあります。その場合、インデックスをLuxorサーバ上でなくNFSサーバ上に保存することも可能です。Luxorインストール後、下記ディレクトリをNFSサーバ上に移動し、Luxorサーバからマウントしてください。

  • マウントするディレクトリ

    /var/solr(setup.confのsolrDataDir=/varの場合)

ホットスダンバイ冗長化構成において、NFS上への保存が必須となります。(下図では、一台構成の構築例となります。)

NFSサーバに保存

Luxorのインストール

以下の手順よりLuxorのインストールを行います。

① luxor.1.3.8.tbzを、Luxorサーバに転送します。ここでは、/root配下に転送したこととします。

② 転送したluxor.1.3.8.tbzを解凍します。

   # cd /root
   # tar jxvf luxor.1.3.8.tbz
   # cd luxor.1.3.8

③ 設定ファイルを生成します。
(この操作により、カレントディレクトリに設定ファイルsetup.confが生成されます。)

   # sh setup.sh -makeConf

④ 生成したファイルのsetup.confを修正します。

   # vi setup.conf
  • LuxorサーバにアクセスするINSUITE® AP・管理サーバ、Sm@rtDB APサーバのIPアドレスのリストを、"addAllowIps"の行に設定します。複数IPアドレスを設定する場合、カンマ区切り、スペースは含めないでください。
  • Luxor管理端末のIPアドレスのリストを、"addBasicIps"の行に設定します。複数IP アドレスを設定する場合は、カンマ区切り、スペースは含めないでください。
  • LuxorサーバからINSUITE® APサーバへアクセスできるURLを"iseUrl"の行に設定します。
    ※INSUITE®管理専用サーバは指定することができません。
  • LuxorサーバからSm@rtDB APサーバへアクセスできるURLを"sdbUrl"の行に設定します。
    ※サーバ/OSが32bitの場合、"javaMediaFile"をjre-8u111-linux-i586.tar.gzに変更してください。サーバ/OSが64bitの場合、"javaMediaFile"をjre-8u111-linux-x64.tar.gzに変更してください。
  • "javaDir"をjre1.8.0_111に変更してください。

⑤ rootユーザで、インストールスクリプトsetup.shを実行してください。

  # sh setup.sh -install

    user webadmin is not found.
    try making group webadmin.
    try making user webadmin.
    setup successed. Start tomcat.

⑥ /etc/security/limits.confに以下の行を追加し、最大ファイル数を変更してください。

   webadmin soft nofile 65536
   webadmin hard nofile 65536

Sm@rtDBを利用する場合は、以下の2行も記載してください。

   hibiki hard nofile 65536
   hibiki soft nofile 65536

運用後、/var/log/solr/solr.logに「too many open files」というエラーが出る場合は、最大ファイル数をさらに大きい値に調整してください。値を変更する場合はsolrtomcatの再起動が必要です。

以上で、インストールは終了です。Luxorサーバの自動起動設定は、インストールスクリプトで設定します。

⑦ solrTomcatを開始します。

   # service solrTomcat start

Luxorのインストールに関連するQ&A

  • Q:Luxorの導入後、APサーバへのHTTPアクセスが微増にしているのがなぜですか?

  • A:Luxorは全文検索後に、検索ユーザが検索結果を閲覧する権限を持つかどうかを検証するため、各APサーバに閲覧権限チェックのHTTPリクエストを送信します。そのため、統合検索画面の利用頻度が高い場合は、各APサーバへのHTTPリクエストが従来と比べ増加することになります。
    以下の計算式により大まかな増加数が算出できます。増加数によっては、Luxorサーバから各APサーバへのApacheの設定(主にMaxClients)の見直しをご検討ください。

    増加するHTTPリクエスト数 = 統合検索画面への同時接続ユーザ数 x 検索時の平均機能数(※)

APサーバへの最大同時リクエスト数については、setup.confのmaxHostConnections, maxTotalConnectionsパラメータによって制御することが可能です。詳細については、setup.confの説明を参照してください。
(※INSUITE®の統合検索画面の"対象機能"欄でチェックONにする数です。最大で12となります。)

アップグレード手順

既にLuxorサーバを構築している環境で、Luxorサーバをバージョンアップする方法を説明します。INSUITE®がサービス中の場合は、事前にINSUITE® APサーバ・管理サーバのhttpdを停止してください。

tomcatサービスの停止方法は下記:

# service solrTomcat stop

① luxor.1.3.8.tbzをLuxorサーバに転送します。ここでは、/root配下に転送したこととします。

② 転送したluxor.1.3.8.tbzを解凍します。

# cd /root
# tar jxvf luxor.1.3.8.tbz
# cd luxor.1.3.8

③ 前バージョンのsetup.confを最新バージョンのsetup.confに反映します。

# sh setup.sh -mergeConf /root/luxor.1.3.7/setup.conf

※ 前バージョンのsetup.confが/root/luxor.1.3.7/以下に存在する場合の指定方法です。この操作により前バージョンのsetup.confの設定を取り込んだsetup.confがカレントディレクトリに作成されます。

④ カレントディレクトリの setup.conf を編集します。

  • "tomcatMediaFile"をapache-tomcat-8.5.9.tar.gzに変更します。
     ※サーバ/OSが32bitの場合、"javaMediaFile"をjre-8u111-linux-i586.tar.gzに変更してください。サーバ/OSが64bitの場合、"javaMediaFile"をjre-8u111-linux-x64.tar.gzに変更してください。
  • "javaDir"をjre1.8.0_111に変更してください。
     ※setup.conf各パラメータの設定については、「Luxorの設定」の記載より参照してください。**
     ※既存バージョンでjmxパラメータを「jmx=on」に変更している場合は、「jmx=off」に書き換え、保存します。JMXをOFFにしないと冗長構成時の切り替えが正常に動作しません。

⑤ tomcatMediaFileを解凍します。

ここでは、apache-tomcat-8.0.20.tar.gzを/usr/local/solr/配下に解凍します。

# cd /usr/local/solr/
# tar zxvf /root/luxor.1.3.8/apache-tomcat-8.5.9.tar.gz
# rm -rf tomcat
# ln -s apache-tomcat-8.5.9 tomcat
# chown -R webadmin.webadmin apache-tomcat-8.5.9
# chown -R webadmin.webadmin tomcat

⑥ javaMediaFileを解凍します。ここでは、jre-8u111-linux-x64.tar.gzを/usr/local/solr/配下に解凍します。

# cd /usr/local/solr/
# tar zxvf /root/luxor.1.3.8/jre-8u111-linux-x64.tar.gz
# chown -R root.root jre1.8.0_111

⑦ バージョンアップとサービスの再起動を行います。

事前にINSUITE® APサーバ、管理サーバのhttpdを停止した場合は、ここで起動してください。

# cd /root/luxor.1.3.8
# sh setup.sh -homeOverwrite
# service solrTomcat start

精度向上オプションを使用する場合、バージョンアップ後インデックス再作成を行ってください。インデックス再作成方法については、『インデックスの再作成』の記載より参照してください。
setup.shを実行すると以下のファイルが上書きされますので、事前にバックアップすることがお薦めします。また、チューニング等の理由により手動で修正している場合は、再度修正する必要があります。

/var/solr/luxor.xml→setup.conf設定内容を反映するファイル
/var/solr/*/*/conf/solrconfig.xml→Solrを構成するためのパラメータが含まれているファイル検索要求の管理方法などを定義する場所
/usr/local/solr/tomcat/conf/server.xml→Luxor用のTomcatの設定ファイル
/usr/local/solr/tomcat/conf/tomcat-users.xml→Luxor用のTomcatの設定ファイル
/usr/local/solr/tomcat/webapps/solr/WEB-INF/web.xml→Luxorアプリケーションを構成するWebコンポーネントの構成およびデプロイメント情報を提供するファイル
/usr/local/solr/tomcat/webapps/solr/WEB-INF/classes/junit_systemtest.properties→LuxorのinstallCheck用のパラメータファイル
/etc/init.d/solrTomcat→Luxor用のTomcat起動・停止するためのスクリプト

⑧ 動作確認コマンドを実行し、サービス再起動後の動作確認を行います。

コマンドの詳細については、「動作コマンドによる確認方法」の説明を参照してください。

起動後の確認方法

Luxorインストール後やアップグレード後、以下の方法よりインストールやアップグレードが成功したかを確認できます。

Luxorの管理画面による確認方法

Luxor管理画面にアクセスし、Luxorのバージョンを確認することができます。管理画面にて、Luxorのバージョン、SolrCloudの稼働状況を確認することより、インストール、アップグレードが成功しているかは確認可能です。
Luxorバージョンの確認方法については、「Luxor管理画面の情報」を参照してください。
管理画面が表示されない場合の対処法は、「Luxor管理画面に関連するQ&A」を参照してください。

動作コマンドによる確認方法

動作コマンドによる確認方法の前提としては、下記箇所をすべて設定完了させる必要があります。

  • Luxorサーバが起動していること
  • INSUITE® APサーバが起動していること
  • Sm@rtDB APサーバが起動していること
  • INSUITE® APサーバとLuxorサーバ間の通信が可能であること(※)
  • Sm@rtDB APサーバとLuxorサーバ間の通信が可能であること(※)
  • INSUITE® APサーバのLuxorの設定が完了していること(※)
  • Sm@rtDB APサーバのLuxorの設定が完了していること(※)

※通信設定については、「接続関連の設定」を参照してください。

以下の手順はLuxorサーバで行います。実行コマンドは下記となります。

※LuxorのAbout画面にて、全てのCoreが問題なくReloadされた(各Coreのサイズが平常通り表示される)ことを確認の上、installCheckを実行してください。Ver.1.3.8を例にしています。各リビジョンに合わせ、読み替えてください。

  # cd /root/luxor.1.3.8
  # sh setup.sh -installCheck

※installCheckは主に、LuxorサーバがINSUITE®サーバ及びSm@rtDBサーバとの通信(インデックス作成及び検索動作)が成功しているかどうかを確認するコマンドです。

(a) 問題がない場合、以下の出力になります。

 installCheck SUCCESS!

(b) 問題がある場合、以下の内容が出力されますので、installCheck.logの内容を確認してください。

  installCheck failed. See ./installCheck.log

INSUITE®での確認方法

下記の方法より確認してください。登録処理には多少時間がかかりますので、登録されたデータを検索するには、登録後数分経過してから検索してください。

  • 1.データ登録確認
    INSUITE®でLuxorを使う設定に変更後、任意のアカウントでスケジュールを登録してください。その際に、わかりやすいタイトルを設定してください。スケジュール登録後、INSUITE®のログにエラーが出力されないことを確認してください。
    ※対象機能にSm@rtDBが表示されている場合、その上でSm@rtDBの対象機能に含まれるキーワードで全文検索を行い、結果が表示されることを確認してください。

  • 2.検索確認
    INSUITE®の統合検索画面を開き、「1.データ登録確認」で登録したスケジュールのタイトルをキーワードに設定し、スケジュールを検索対象に設定の上、検索してください。

Sm@rtDBでの確認方法

下記の方法より確認してください。登録処理には多少時間かかりますので、登録されたデータを検索するには、登録後数分経過してから検索してください。

  • 1.データ登録確認
    Sm@rtDBでLuxorを使う設定に変更後、任意のアカウントでバインダ/文書/アプリ/プロセスを作成してください。その際に、わかりやすいバインダの名前/文書のタイトル/アプリの名前/プロセスの見出しを設定してください。 バインダ/文書/アプリ/プロセスを登録後、Sm@rtDBのひびきログファイル/var/log/hibiki/hibiki.logにエラーが出力されないことを確認してください。

  • 2.検索確認
    Sm@rtDBの全文検索画面を開き、「1.データ登録確認」で登録した対象をキーワードに設定し、バインダ/文書/アプリ/プロセスを検索対象に設定の上、検索してください。

Luxorのログによる確認方法

Luxorインストール後やアップグレード後、画面操作時にエラーが発生する場合、Luxorサーバにアクセスし、以下のログファイルを確認してください。

/var/log/luxor/solr.log
/var/log/luxor/luxor.log

インデックス作成が完了したことを確認

Luxor用インデックスコマンドの実行が終わっても、Luxorサーバでの登録作業はまだ終わっていない場合があります。インデックス作成が終わったことを確認するには、ブラウザで以下のURLから、Luxorサーバの管理画面にアクセスして画面の"Queue Size"が"0"になっていることをご確認ください。

http://<LuxorサーバのIPアドレス>/solr/About

インデックス作成を行った機能の"Size"列の値を確認します。この数値がLuxorサーバで登録されているインデックスの数です。
添付ファイルもインデックスとして作成されます。Luxorモードでは、1件のデータの中に添付ファイルが1個あれば、2件のインデックスが作成されます。2個あれば、3件のインデックスが作成されるため、単純に件数の一致では作成が完了したことはわかりません。

※"Queue Size"が"0"にならなくても、続けてLuxor用インデックスコマンドを実行することは可能です。