オープンソース

サーバー構築のデージーネットTOP > OSS情報 > OSS紹介 > 分散型検索/分析エンジン Elasticsearch >Elasticsearchのインストール

Elasticsearchのインストール

ElasticsearchはOSSの全文検索エンジンです。Elasticsearchは、Elastic社からパッケージなどで提供されています。そのため、簡単にインストールすることができます。ここでは、Elasticsearchのインストール方法を紹介します。

Elasticsearchインストールの準備

ElasticSearchをインストールするには、まずjavaの実行環境をインストールする必要があります。

# yum install java ⏎

Elasticsearchパッケージのダウンロード

ElasticSearchは、Elastic社のホームページ(https://www.elastic.co/)から、ダウンロードできます。

$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.rpm ⏎

Elasticsearchパッケージのインストール

RPMをダウンロードしたら、Elasticsearchパッケージを次のようにインストールします。

# rpm -ivh elasticsearch-5.6.3.rpm ⏎
警告: elasticsearch-5.6.3.rpm: ヘッダー V4 RSA/SHA512 Signature、鍵 ID d88e42b4: NOKEY
準備しています...              ################################# [100%]
Creating elasticsearch group... OK
Creating elasticsearch user... OK
更新中 / インストール中...
   1:elasticsearch-0:5.6.3-1          ################################# [100%]
### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd
 sudo systemctl daemon-reload
 sudo systemctl enable elasticsearch.service
### You can start elasticsearch service by executing
 sudo systemctl start elasticsearch.servicec

Kuromojiのインストール

Elasticsearchで日本語を扱う場合には、Kuromojiのインストールも必要です。Kuromojiは、Elasticsearchで日本語の解析を行う場合に利用されるオープンソースの日本語形態素解析エンジンです。ElasticsearchのベースであるApache Luceneへの日本語のサポートを提供しています。

$ wget https://github.com/downloads/atilika/kuromoji/kuromoji-0.7.7.tar.gz ⏎

パッケージを展開します。

$ tar xzf kuromoji-0.7.7.tar.gz ⏎

ElasticsearchのプラグインとしてKuromojiをインストールします。

# /usr/share/elasticsearch/bin/plugin install elasticsearch/elasticsearch-analysis-kuromoji/2.7.0 ⏎

KuromojiをElasticserchのデフォルトのトークアナライザとして利用する場合には、config/elasticsearch.ymlに設定を行います。

config/elasticsearch.yml

index.analysis.analyzer.default.type: custom

index.analysis.analyzer.default.tokenizer: kuromoji_tokenizer

Elasticsearchサービスの起動

Elasticserchサービスを起動するには、まずsystemdへユニット読み込みをします。

# systemctl daemon-reload ⏎

次に、elasticsearch.serivceをスタートします。

# systemctl start elasticsearch.service ⏎

なお、Elasticsearchを複数のサーバを使用したクラスタ構成にするためには、/etc/elasicsearch/elasticsearch.confにノードの設定を行う必要があります。

このようにElasticsearchは簡単にインストールして使用することができます。Elasticsearchを利用したシステム構築事例や、Elasticsearchの関連情報は以下のリンクからご覧ください。

OSS情報「Elasticsearch」

分散型検索/分析エンジン Elasticsearch
Elasticsearchは、Apache Luceneをベースに開発された全文検索エンジンです。Elastic社が中心となって開発され、OSSとして公開されています。Elasticsearchは、分散処理型の検索エンジンで、ビッグデータの解析などに使われています。
Elasticsearchのインストール
Elasticsearchは、Elastic社からパッケージなどで提供されています。そのため、簡単にインストールすることができます。ここでは、Elasticsearchのインストール方法を紹介します。

Elasticsearchを利用した大容量ログ解析システム

デージーネットでは、大容量のログを管理するためのソフトウェアであるSylasを開発し、OSSとして公開しています。Sylasは、rsyslogと連携してElasticsearchにログを取り込みます。Elasticsearchと連携することでSylasの検索画面からログの検索を行うことができます。

Elasticsearchを利用したDNSログ解析システム

デージーネットでは、DNSサーバへの攻撃に対応するためのDNSログ解析システムを提案しています。DNSサーバから、dnstapなどのインタフェースを使ってクエリログを収集して、Elasticsearchに登録します。 収集されたログをKibanaを使って解析することで、攻撃の状況をリアルタイムに把握し、攻撃に対する防御を行うことができます。

ファイルサーバ全文検索システム

Elasticsearchは、ファイルサーバの全文検索システムとしても利用できます。ファイルサーバへの全文検索を実現すれば、膨大なファイルの中から、必要なファイルを短時間で探し出すことができます。 ファイルサーバの情報をElasticsearchで管理するためには、ファイル情報を取り出してElasticsearchに取り込むためのソフトウェアが必要です。デージーネットでは、そのようなソフトウェアとしてFessをご提案しています。Fessは、ファイルサーバを自動的にクロールし、ファイルの情報を取り出し、Elasticsearchに登録します。また、Fessには標準で検索インタフェースも付属しています。ファイルの更新日、名称、形式などから検索結果を絞り込むことも可能です。

サイト内検索システム

ElasticsearchにWebサイトの情報を保存し、サイト内検索を実現することができます。 Webサイトの情報を管理するためには、Webサイトにアクセスし、情報を取り出してElasticsearchに取り込むためのソフトウェアが必要です。デージーネットでは、そのようなソフトウェアとしてFessをご提案しています。 Fessは、HTTPプロトコル経由でサイトを自動的にクロールし、情報を取り出してElasticsearchに格納します。Fessには標準で検索インタフェースも付属していますので、そのまま検索画面として利用することもできます。

また、サイトのデザインに合わせた専用の検索画面を作成することもできます。その場合には、ElasticsearchのRESTful APIを利用して、検索結果を表示するアプリケーションを作成します。 なお、デージーネットのホームページでも、サイト内検索の機能を実装するためにFessとElasticsearchを使っています。

さらに、ElasticsearchとKibanaを連携させることで、サイト内検索の利用状況について分析することもできます。

Elasticserchコンサルティング

Elasticsearchを使ってシステムを作っても、思ったより検索に時間がかることがあります。そのような場合には、利用するメモリ量に合わせて、Elasticsearchとをチューニングする必要があります。デージーネットの改善支援コンサルティングサービスでは、こうしたチューニングの作業を行っています。

Elasticsearchのインストールの先頭へ