Elastic Stackの歩きかた#2

Elasticsearchのインストール

それではElasticStack環境を構築していきましょう。

今回の記事は、Elasticsearchのインストール手順です。


1.設計要素

  インストールを始める前に以下の事項は決めておきましょう。(シングルノード構成)

 /etc/elasticsearch/elasticsearch.ymlへ設定する項目になります。

設定項目elasticsearch.yml内の項目名デフォルト値
クラスタ名cluster.name自動設定
ノード名node.name自動設定
インデックスデータのパスpath.data/var/lib/elasticsearch
ログファイルのパスpath.logs/var/log/elasticsearch
バインドアドレスnetwork.hostlocalhost

2.インストール

 インストールはyumで行うことにします。

⓵JDKのインストール

# yum install java-1.8.0-openjdk

⓶Elasticsearch PGP Keyのインストール

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

⓷リポジトリの設定

以下elasticsearchのリポジトリ設定ファイルを作成する。

/etc/etc/yum.repos.d/elasticsearch.repo 

内容は以下のとおり(インストールするバージョン決めたら公式サイトで確認してください)

筆者は6系のリポジトリを設定。

[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

ちなみにオープンソース機能のみ使用したい場合はリポジトリのBaseUriを以下の設定にするようNoteに記載されていますね。

baseurl=https://artifacts.elastic.co/packages/oss-6.x/yum

⓸elasticsearchのインストール

# yum install elasticsearch

⑤/etc/elasticsearch/elasticsearch.ymlの編集

以下の設定をします。(デフォルト値を変更した箇所のみ抜粋)

・クラスタ名:任意の名称( develop-node)を設定

・ノード名:elasticsearchの環境変数で自ホスト名を指定

・バインドアドレス:全てのインターフェース(IP)を有効

筆者は検証用の環境なので設計要素で記載した内容の内、最低限の項目を設定しますが実際に運用するシステムでは多くの設定が必要になるかと思いますので、ご了承ください(実際に本運用するシステムの設計については別途記事を書ければと思ってます)

# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
#cluster.name: my-application
cluster.name: develop-node
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
#node.name: node-1
node.name: ${HOSTNAME}
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
path.data: /var/lib/elasticsearch
#
# Path to log files:
#
path.logs: /var/log/elasticsearch
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 0.0.0.0

⑥elasticsearchの起動

# systemctl start elasticsearch

自動起動する場合は以下で

# systemctl enable elasticsearch

⑦起動確認

elasticsearchサービスがactive(running)になっていることを確認しましょう。

# systemctl status elasticsearch

⑧elasticsearchへのアクセス確認

curlでlocalhostの9200番ポートへアクセスしレスポンスがあればOK。

# curl localhost:9200
{
  "name" : "sves0001",
  "cluster_name" : "develop-node",
  "cluster_uuid" : "75Knpy0RSOqHGjihoih7bn",
  "version" : {
    "number" : "6.6.1",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "1fd8f69",
    "build_date" : "2019-02-13T17:10:04.160291Z",
    "build_snapshot" : false,
    "lucene_version" : "7.6.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}
#

Elasticsearchの設定はこれで完了です。

次回は、Elasticsearchの操作とプラグインのインストールです。

いじょ。