インストール

edit

Elasticsearchには、Java 8以降が必要です。特にこの文書の執筆時において、Oracle JDKバージョン1.8.0_131の使用を推奨します。Javaのインストールはプラットフォームごとに異なりますが、ここでは詳細について説明しません。Oracleが推奨するインストールマニュアルは、 Oracle’s websiteにあります。ここでは、Elasticsearchをインストールする前に、最初に次のコマンドを実行して、お使いのJavaのバージョンをチェックしてください(必要に応じて、インストール/アップグレードしてください)。

java -version
echo $JAVA_HOME

Javaのセットアップを完了したら、Elasticsearchをダウンロードして実行できます。バイナリは、過去に作成されたすべてのリリースとともに、 www.elastic.co/downloadsから入手できます。リリースごとに、`zip`アーカイブや`tar`アーカイブ、または`DEB`パッケージや`RPM`パッケージから選択できます。簡単にするために、ここではtarファイルを使用します。

次のように、Elasticsearch 5.3.3 のtarをダウンロードします(Windowsユーザーはzipパッケージをダウンロードします)。

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.3.tar.gz

次のように、展開します(Windowsユーザーはzipパッケージを解凍します)。

tar -xvf elasticsearch-5.3.3.tar.gz

現在のディレクトリに多数のファイルとフォルダが作成されます。次のように、binディレクトリに移動します。

cd elasticsearch-5.3.3/bin

これで次のように、ノードと単一のクラスタを起動する準備ができました(Windowsユーザーはelasticsearch.batファイルを実行します)。

./elasticsearch

すべてが正常に実行されると、以下のような多くのメッセージが表示されます。

[2016-09-16T14:17:51,251][INFO ][o.e.n.Node               ] [] initializing ...
[2016-09-16T14:17:51,329][INFO ][o.e.e.NodeEnvironment    ] [6-bjhwl] using [1] data paths, mounts [[/ (/dev/sda1)]], net usable_space [317.7gb], net total_space [453.6gb], spins? [no], types [ext4]
[2016-09-16T14:17:51,330][INFO ][o.e.e.NodeEnvironment    ] [6-bjhwl] heap size [1.9gb], compressed ordinary object pointers [true]
[2016-09-16T14:17:51,333][INFO ][o.e.n.Node               ] [6-bjhwl] node name [6-bjhwl] derived from node ID; set [node.name] to override
[2016-09-16T14:17:51,334][INFO ][o.e.n.Node               ] [6-bjhwl] version[5.3.3], pid[21261], build[f5daa16/2016-09-16T09:12:24.346Z], OS[Linux/4.4.0-36-generic/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_60/25.60-b23]
[2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [aggs-matrix-stats]
[2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [ingest-common]
[2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [lang-expression]
[2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [lang-groovy]
[2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [lang-mustache]
[2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [lang-painless]
[2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [percolator]
[2016-09-16T14:17:51,968][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [reindex]
[2016-09-16T14:17:51,968][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [transport-netty3]
[2016-09-16T14:17:51,968][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [transport-netty4]
[2016-09-16T14:17:51,968][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded plugin [mapper-murmur3]
[2016-09-16T14:17:53,521][INFO ][o.e.n.Node               ] [6-bjhwl] initialized
[2016-09-16T14:17:53,521][INFO ][o.e.n.Node               ] [6-bjhwl] starting ...
[2016-09-16T14:17:53,671][INFO ][o.e.t.TransportService   ] [6-bjhwl] publish_address {192.168.8.112:9300}, bound_addresses {{192.168.8.112:9300}
[2016-09-16T14:17:53,676][WARN ][o.e.b.BootstrapCheck     ] [6-bjhwl] max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
[2016-09-16T14:17:56,718][INFO ][o.e.c.s.ClusterService   ] [6-bjhwl] new_master {6-bjhwl}{6-bjhwl4TkajjoD2oEipnQ}{8m3SNKoFR6yQl1I0JUfPig}{192.168.8.112}{192.168.8.112:9300}, reason: zen-disco-elected-as-master ([0] nodes joined)
[2016-09-16T14:17:56,731][INFO ][o.e.h.HttpServer         ] [6-bjhwl] publish_address {192.168.8.112:9200}, bound_addresses {[::1]:9200}, {192.168.8.112:9200}
[2016-09-16T14:17:56,732][INFO ][o.e.g.GatewayService     ] [6-bjhwl] recovered [0] indices into cluster_state
[2016-09-16T14:17:56,748][INFO ][o.e.n.Node               ] [6-bjhwl] started

あまり詳細には立ち入らずに、「6-bjhwl」(ケース次第で文字のセットが異なる)という名前のノードが起動し、単一クラスタのマスタとして選択されていることを確認できます。今のところ、マスタの意味を気にする必要はありません。ここで重要なことは、1つのクラスタ内で1つのノードを起動したということです。

前に述べたように、クラスタまたはノードの名前を上書きできます。これは、次のようにElasticsearchの起動時にコマンドラインから実行できます。

./elasticsearch -Ecluster.name=my_cluster_name -Enode.name=my_node_name

ノードに到達できるHTTPアドレス(192.168.8.112)とポート(9200)に関する情報を持つhttpとマークされたラインにも注目してください。デフォルトでElasticsearchはポート`9200`を使用して、そのREST APIを提供します。このポートは、必要に応じて設定できます。