geerlingguy.solr
Ansible Role: Apache Solr
LinuxサーバーにApache Solrをインストールします。
必要条件
サーバーにJavaがインストールされている必要があります。geerlingguy.java
ロールを使って簡単にJavaをインストールできます。インストールされているJavaのバージョンがSolrの最小要件を満たしていることを確認してください(例:Solr 6+にはJava 8)。
このロールは現在、Solr 3.x、4.x、5.x、6.x、7.x、8.xでテストされています。
ロール変数
使用可能な変数は以下にリストされており、デフォルト値も含まれています(defaults/main.yml
を参照):
solr_workspace: /root
リモートサーバー上でファイルがダウンロードされるパスです。その後、この場所に移動されます。
solr_create_user: true
solr_user: solr
solr_group: "{{ solr_user }}"
Solrはsolr_user
として実行されます。このロールを実行する前にsolr_user
が作成されている場合はsolr_create_user
をfalse
に設定してください。また、Solr 5+を使用している場合でSolr自身のインストールスクリプトにユーザーを設定させたい場合も同様です。デフォルトでは、solr_group
はsolr_user
と同じですが、自分の設定に合わせて上書きできます。
solr_version: "8.11.2"
インストールするApache Solrのバージョンです。完全なリストは利用可能なApache Solrバージョンを参照してください。
solr_mirror: "https://archive.apache.org/dist"
SolrのtarballをダウンロードするためのApacheプロジェクトミラーです。ダウンロード速度が遅い場合やタイムアウトが発生する場合は、Apacheのミラーサイトで推奨されているミラーを設定すると便利です。
solr_remove_cruft: false
Solrディレクトリから不要なドキュメントや例を削除するかどうか。
solr_service_manage: true
solr_service_name: solr
solr_service_state: started
デフォルトでは、このロールはsolr
サービスを管理し、システム起動時に有効になり、実行されることを確保します。Solrを停止するにはsolr_service_state: stopped
を設定するか、solr_service_manage: false
を設定してこのロールのサービス管理を完全に無効にできます。この場合、solr_restart_handler_enabled: false
(後述されます)を設定することをお勧めします。
solr_install_dir: /opt
solr_install_path: /opt/solr
Apache Solrがインストールされるパスです。Solr 5+の場合、solr_install_dir
はSolrのインストールスクリプトによって使用されます。Solr < 5の場合、Solrのインストールファイルはsolr_install_path
にコピーされます。
solr_home: /var/solr
ローカルSolrデータ(検索コレクションと設定)が保存されるパスです。通常、Solrのアップグレードを簡単にするためにsolr_path
の外にあるべきです。
solr_port: "8983"
Solrが実行されるポートです。
solr_xms: "256M"
solr_xmx: "512M"
JVMのメモリ設定です。パフォーマンスを改善し、OOM(アウトオブメモリ)によるSolr再起動の可能性を減らすために可能な限り高く設定してください。
solr_timezone: "UTC"
Solrを実行するJVMのデフォルトタイムゾーンです。データインポートやデルタインポートを使用する際に必要であれば上書きできます(例:MySQLの外部データソースと比較する場合)。詳細についてはApache Solrの日付の操作ドキュメントを参照してください。
solr_opts: "$SOLR_OPTS -Dlog4j2.formatMsgNoLookups=true"
Solrオプション。このオプションは一部、CVE-2021-44228を緩和するためにロールに追加されました。
solr_cores:
- collection1
サーバー上に存在する必要のあるコア/コレクションのリストです。各コレクションは、Solrに付属するデフォルトの例設定を使用して作成されます。この変数はSolr 5+を使用する場合にのみ適用されます。
solr_connect_host: localhost
Solrにアクセスできるホスト名またはIPアドレスです。localhost
はほとんどの状況で機能しますが、特定のケースでは別のIPまたはホスト名を使用してローカルSolrインスタンスにアクセスする必要がある場合があります。
solr_restart_handler_enabled: true
restart solr
ハンドラーを使用するかどうか。コンテナやAMIを構築している場合、プロビジョニング時に再起動ハンドラーを無効にする必要があるかもしれません。
Solr < 5 のみで使用される変数
以下の変数は現在Solr 4以下のインストールにのみ適用されます:
solr_log_file_path: /var/log/solr.log
Solrのログファイルが作成されるパスです。
solr_host: "0.0.0.0"
Solrがバインドされるホスト名またはIPアドレスです。デフォルトは0.0.0.0
で、Solrがすべてのインターフェースでリッスンできるようにします。
依存関係
なし。
例のプレイブック
- hosts: solr-servers
roles:
- geerlingguy.java
- geerlingguy.solr
ライセンス
MIT / BSD
著者情報
このロールは、Jeff Geerlingによって2014年に作成されました。彼はAnsible for DevOpsの著者です。
ansible-galaxy install geerlingguy.solr