ウェブサイト検索

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をインストールする方法を学びます。また、Basic Authenticationを使用してApache Solrを保護し、solrコマンドラインを使用して最初のコレクションを作成する方法も学びます。

前提条件

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

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

Ubuntuサーバーの準備

Apache Solrをインストールする前に、shmmax および nr_hugepages をカーネルパラメーターで増加させ、デフォルトの最大オープンファイル数とプロセス数を増加させることで、Ubuntuシステムを準備し構成しましょう。

次のコマンドを実行して、あなたのUbuntuサーバーでshmmaxとnr_hugepagesを増やしてください。

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

以下のコマンドを実行して、/etc/security/limits.confファイルを修正してください。

sudo nano /etc/security/limits.conf

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

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パッケージをインストールします。インストールを確認するにはYを入力してください。

sudo apt install default-jdk

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

java --version

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

Apache Solrのインストール

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

最初に、下記のコマンドを実行して curl、lsof、および bc などの基本ツールをインストールします。

sudo apt install curl lsof bc

以下のwgetコマンドを使用して、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スクリプトを抽出してください。

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

今すぐ install_solr_service.sh スクリプトを実行して、Apache Solrをインストールしてください。

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

以下にApache Solrの詳細なインストール手順が表示されます。

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

次に、以下のコマンドでsolrの状態を確認してください。solrがactive(exited)の状態で表示される場合、これはサービスが実行中であることを意味しますが、systemdは監視するファイルを見つけられません。

sudo systemctl status solr

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

ss -tulpn

Apache Solrの設定

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

エディタvimを使用してSolrの設定ファイル/etc/default/solr.in.shを開きます。

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

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

SOLR_HEAP="4g"

あなたのIPアドレスをおよびオプションに入力してください。この例では、Apache SolrはローカルIPアドレス192.169.10.60で実行されます。

SOLR_HOST="192.168.10.15"
SOLR_JETTY_HOST="192.168.10.15"

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

sudo systemctl restart solr

次のssコマンドを使用して、開いているポートとApache Solrが使用しているIPアドレスを確認できます。

ss -tulpn

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

Apache Solrの設定後、次のステップはデプロイメントをセキュリティで保護することです。この例では、基本認証を使用してApache Solrを保護します。これは、新しいファイル/var/solr/data/security.jsonを作成することで実行できます。

vimエディタを使用して新しい設定/var/solr/data/security.jsonを作成してください。

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

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

{
 "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コマンドを実行して、solrサービスを再起動し、変更を適用してください。

sudo systemctl restart solr

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

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

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

この段階では、Apache Solrを設定して安全にしました。次に、コマンドラインからApache Solrで最初のコレクションを作成します。

/etc/default/solr.in.shファイルをvimエディタで再度開いてください。

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

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

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アドレスで実行するように設定し、Basic Authenticationで保護しました。最後に、Solrコマンドラインを使用して最初のコレクションを作成しました。

関連記事: