So-net無料ブログ作成
  • ブログをはじめる
  • ログイン

Elasticsearchの導入 その1 (FreeBSD 11.1R、2018/06/25) [ports]

Elasticsearchの導入にチャレンジしてみます。Elasticsearchとは…一言で言うのは難しいですね。正直、私もよく分かっていないところがあるのですが、データを蓄積する緩いデータベースであり、蓄積したデータに対する可視化や分析が得意なアプリケーションです。
部分的な説明ではありますが、データ蓄積機能を有した高度な検索エンジンと思ってもらえば良いでしょうか。

たとえば、(意味があるかどうかは別にして)
 ・株価と天気情報のデータを蓄積し、関連性の有無を可視化する
 ・野球場と選手の成績を蓄積し、特定の野球場に相性の良いチーム、選手を調べる
 ・社内ネットワークがクラッカーに侵入された時間帯、ネットワーク機器の出力していたログを調べる
といったことができます。(できるはずです)

とりあえず使用方法は後で検討するとして、まずは導入を試みてみます。基本的にLinuxをベースに開発されているようですから、FreeBSDでも動かないことはないが、いろいろと細かなところで調整が必要な気がしています。
※Linux版での導入ですが、私は下記を参考にしました
https://qiita.com/micci184/items/0310abecb558d2fb63a9

FreeBSDにおいて、インストールするソフトウェアはpkg化されており、下記の4つです。インストール自体はあっさりですね。ただ、elasticsearchのインストール時に非常に重要なメッセージが出ますので、きちんとメモっておきましょう。
elasticsearch6-6.2.4           Full-text search engine for Java
kibana6-6.2.4                  Browser based analytics and search interface to ElasticSearch
logstash6-6.2.4                Server-side data ingest and transfomation tool
beats-6.2.4                    Collect logs locally and send to remote logstash
具体的には下記メッセージです。
======================================================================

Please see /usr/local/etc/elasticsearch for sample versions of
elasticsearch.yml and logging.yml.

ElasticSearch requires memory locking of large amounts of RAM.
You may need to set:

sysctl security.bsd.unprivileged_mlock=1

!!! PLUGINS NOTICE !!!

ElasticSearch plugins such as X-Pack should only be installed via the
elasticsearch-plugin script included with this software. As we strive
to provide a minimum semblance of security, the files installed by
the package are owned by root:wheel. This is different than upstream
which expects all of the files to be owned by the user and for you to
execute the elasticsearch-plugin script as said user.

You will encounter permissions errors with configuration files and
directories created by plugins which you will have to manually correct.
This is the price we have to pay to protect ourselves in the face of
a poorly designed security model.

e.g., after installing X-Pack you will have to correct:

/usr/local/etc/elasticsearch/elasticsearch.keystore file to be owned by root:elasticsearch
/usr/local/etc/elasticsearch/x-pack directory/files to be owned by root:elasticsearch

Also you need to add "xpack.ml.enabled: false" to your elasticsearch.yml
configuration as this plugin does not support FreeBSD.

!!! PLUGINS NOTICE !!!

======================================================================

■X-Packの導入

X-Packとは拡張パックであり、Elasticの機能をフルで使うために必要になるものです。…たぶん。詳しくは下記を参照してください。
https://www.elastic.co/jp/products/x-pack

X-Packの導入はCLIから実行できますが、パスが通っていないので下記のようにします。elasticsearch-pluginに関してはY/Nを聞かれるので、Yを押します。
root@mybsd:~ # /usr/local/lib/elasticsearch/bin/elasticsearch-plugin install x-pack
root@mybsd:~ # /usr/local/www/kibana6/bin/kibana-plugin install x-pack
root@mybsd:~ # /usr/local/logstash/bin/logstash-plugin install x-pack

ここでハマる要素が出てきます。最初のelasticsearchのインストール時に表示されたメッセージを覚えていますでしょうか。ちゃんと指示に従い、下記のように修正します。(私は当然ハマりました)
root@mybsd:/usr/local/etc/elasticsearch # chown root:elasticsearch elasticsearch.keystore 
root@mybsd:/usr/local/etc/elasticsearch # chown -R root:elasticsearch x-pack/
root@mybsd:/usr/local/etc/elasticsearch #
root@mybsd:/usr/local/etc/elasticsearch # cat elasticsearch.yml
xpack.ml.enabled: false

KinabaはGUIとしてのWebサーバとなりますので、LAN内からアクセスしたい場合は下記のように変更します。
root@mybsd:/usr/local/etc/kibana # cat kibana.yml
# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
#server.host: "localhost"
server.host: "0.0.0.0"
あとは、/etc/rc.confに登録してサービス起動します。

タグ:elasticsearch
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。