ウェブサイト検索

Ubuntu 24.04サーバーにApache Solrをインストールする方法


Ubuntu 24.04サーバにApache Solrをインストールする方法

このページで

  1. 前提条件
  2. Ubuntuサーバーの準備
  3. Java OpenJDKのインストール
  4. Apache Solrのインストール
  5. Apache Solrの設定
  6. 認証によるApache Solrのセキュリティ確保
  7. Apache Solrで最初のコレクションを作成する
  8. 結論

Apache Solrは、強力なアプリケーション検索およびインデックス作成機能を作成するために設計された、Apache Luceneに基づくオープンソースの検索プラットフォームです。高度な全文検索、ファセット検索、リアルタイムインデックス作成、分散検索を提供し、検索エンジンやデータ取得システムの構築に人気の選択肢となっています。

Solrは非常にスケーラブルで、大量のデータに最適化されており、ウェブサイト検索、eコマース、ビッグデータ分析などのタスクに企業環境でよく使用されます。そのRESTライクなAPIは他のシステムとの統合を容易にし、クエリの提案のハイライトや地理空間検索などの機能をサポートしています。Solrの柔軟性、パフォーマンス、コミュニティサポートは、堅牢な検索機能を必要とする組織にとっての主要なソリューションとなっています。

このガイドでは、Ubuntu 24.04サーバーにApache Solrをインストールする方法を学びます。それに加えて、BasicAuthenticationでApache Solrを保護する方法と、solrコマンドラインを使用して最初のコレクションを作成する方法も学びます。

前提条件

このガイドを始めるにあたり、次のものを用意してください:

  • Ubuntu 24.04サーバー
  • 管理者権限を持つ非ルートユーザー

Ubuntuサーバーの準備

Apache Solrをインストールする前に、カーネルパラメータのshmmax<&47;em>とnr_hugepages<&47;em>を増やし、デフォルトの最大オープンファイル数とプロセス数を増やすことで、Ubuntuシステムを準備し構成しましょう。

以下のコマンドを実行して、Ubuntuサーバーのshmmax<&47;em>とnr_hugepages<&47;em>を増やします。

sudo echo 4294967295 > /proc/sys/kernel/shmmax
sudo echo 1536 > /proc/sys/vm/nr_hugepages

以下のコマンドを実行して、&47;etc&47;security&47;limits.conf<&47;em>ファイルを変更してください。

sudo nano /etc/security/limits.conf

ユーザーsolr<&47;em>の最大オープンファイルとプロセスを次の設定で増やします。

solr soft nofile 65000
solr hard nofile 65000
solr soft nproc 65000
solr hard nproc 65000

ファイルを保存してエディタを終了します。

Java OpenJDKのインストール

システムを設定したので、Java OpenJDKをシステムにインストールしましょう。Apache Solrは、システムに少なくともJava 11がインストールされている必要があり、このガイドでは最新の安定したJava OpenJDKバージョンを提供するdefault-jdkパッケージを使用します。

まず、次のコマンドでUbuntuのパッケージインデックスを更新します。

sudo apt update

以下のコマンドを使用してdefault-jdk<&47;em>パッケージをインストールします。インストールを確認するにはYと入力してください。

sudo apt install default-jdk

インストールが完了したら、次のコマンドでJavaのバージョンを確認してください。

java --version

下にJava 21がインストールされていることがわかります。

Apache Solrのインストール

Ubuntuシステムが設定され、Java OpenJDKがインストールされたので、Apache Solrのインストールを始めましょう。このガイドでは、Solrパッケージによって提供されたインストーラスクリプトを使用してApache Solrをインストールします。

まず、以下のコマンドを実行して、curl<&47;em>、lsof<&47;em>、およびbc<&47;em>などの基本ツールをインストールします。

sudo apt install curl lsof bc

以下のwget</em>コマンドを使用して、Apache Solrのバイナリパッケージをダウンロードしてください。

wget https://www.apache.org/dyn/closer.lua/solr/solr/9.7.0/solr-9.7.0.tgz?action=download

Apache Solrパッケージの名前を変更し、以下のコマンドを使用してインストーラーinstall_solr_service.sh<&47;em>スクリプトを抽出します。

mv solr-9.7.0.tgz?action=download solr-9.7.0.tgz
tar -xf tar xzf solr-9.7.0.tgz solr-9.7.0/bin/install_solr_service.sh --strip-components=2

今、Apache Solrをインストールするためにinstall_solr_service.sh<&47;em>スクリプトを実行してください。

sudo bash ./install_solr_service.sh solr-9.7.0.tgz

以下に詳細なApache Solrのインストールを示します。

  • デフォルトのインストールディレクトリは、/opt/solr</em>ディレクトリにあります。
  • 新しいユーザーsolrは自動的に作成されます。
  • 新しいサービスファイルsolr.service<&47;em>は、Apache Solrサービスを管理するために作成されました。

以下のコマンドでsolr<&47;em>のステータスを確認してください。solr<&47;em>がactive(exited)<&47;em>のステータスで表示されるのが見えます。これはサービスが実行中であることを意味しますが、systemdが監視するファイルを見つけられないことを示しています。

sudo systemctl status solr

以下のss<&47;em>コマンドを使用して、システム上のオープンポートを確認することもできます。Apache Solrはポート8893で実行されている必要があります。

ss -tulpn

Apache Solrの設定

Apache Solrがインストールされたので、/etc/default/solr.in.shスクリプト内のApache Solrパラメータを変更して設定しましょう。次に、デフォルトの最大メモリヒープとApache Solrを実行するために使用されるIPアドレスを増やします。

vimエディタを使用して、Solr設定ファイル&47;etc&47;default&47;solr.in.sh<&47;em>を開きます。

sudo vim /etc/default/solr.in.sh

Apache Solrの最大メモリアロケーションでデフォルトのSOLR_HEAP<&47;em>オプションを変更します。この例では、4GBのRAMを使用します。

SOLR_HEAP="4g"

SOLR_HOST</em> と SOLR_JETTY_HOST</em> オプションにIPアドレスを入力します。この例では、Apache SolrはローカルIPアドレス192.169.10.60で実行されます。

SOLR_HOST="192.168.10.15"
SOLR_JETTY_HOST="192.168.10.15"

以下のsystemctl</em>コマンドを実行して、Apache Solrサービスを再起動し、変更を適用してください。

sudo systemctl restart solr

以下のss</em>コマンドを使用して、オープンポートとApache Solrが使用しているIPアドレスを確認できます。

ss -tulpn

認証によるApache Solrのセキュリティ確保

Apache Solrを設定した後、次のステップはデプロイメントを保護することです。この例では、Apache Solrを保護するために基本認証を使用します。これは、新しいファイル&47;var&47;solr&47;data&47;security.json<&47;em>を作成することで行うことができます。

vimエディタを使用して新しい設定を作成します &47;var&47;solr&47;data&47;security.json<&47;em>。

sudo vim /var/solr/data/security.json

以下の設定を挿入して、Apache Solrの認証を設定し、新しいユーザーsolrをパスワードsolrRocksで作成します。

{
 "authentication":{
 "blockUnknown": true,
 "class":"solr.BasicAuthPlugin",
 "credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="},
 "realm":"My Solr users",
 "forwardCredentials": false
 },
 "authorization":{
 "class":"solr.RuleBasedAuthorizationPlugin",
 "permissions":[{"name":"all", "role":"admin"}],
 "user-role":{"solr":"admin"}
 }
}

ファイルを保存してエディタを終了します。

以下のsystemctl</em>コマンドを実行して、solr</em>サービスを再起動し、変更を適用してください。

sudo systemctl restart solr

次に、ウェブブラウザを開き、Apache Solrのインストール先http://192.168.10.60:8983/にアクセスします。Apache Solrのログインページにリダイレクトされます。

ユーザーsolrとパスワードsolrRocksを入力すると、Apache Solrのダッシュボードが表示されます。

Apache Solrで最初のコレクションを作成する

この段階では、Apache Solrを設定し、セキュリティを確保しました。次に、コマンドラインからApache Solrで最初のコレクションを作成します。

vimエディタでファイル/etc/default/solr.in.sh</em>を再び開きます。

sudo vim /etc/default/solr.in.sh

SOLR_AUTH_TYPE</em>とSOLR_AUTHENTICATION_OPTS</em>の行のコメントを解除し、どちらもデフォルトのままにしてください。

SOLR_AUTH_TYPE="basic"
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"

ファイルを保存してエディタを終了します。

次に、Apache Solrサービスを再起動するために以下のコマンドを実行してください。

sudo systemctl restart solr

次に、以下のコマンドを実行して、my_first_indexという名前の最初のコレクションを作成します。

su - solr -c "/opt/solr/bin/solr create -c my_first_index -n MyIndex"

今、Apache Solrダッシュボードに移動すると、新しいコレクションmy_first_indexが作成されたのがわかります。

結論

おめでとうございます!Ubuntu 24.04サーバーにApache Solrのインストールが完了しました。Java OpenJDK 21を使用してインストールし、ローカルIPアドレスで実行するように設定し、BasicAuthenticationでセキュリティを確保しました。最後に、Solrコマンドラインを使用して最初のコレクションを作成しました。