ElasticsearchのURLを指定する

/etc/elasticsearch/elasticsearch.ymlでElasticsearchのIPを指定する方法を記載する。
というのもデフォルトではlocalhost:9200で通信するためである。

バックアップの取得

elasticsearch.ymlを編集する前にバックアップを取得する。

$ sudo cp -apr /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.org

$ sudo ls -al /etc/elasticsearch/
total 32
drwxr-x---  3 root elasticsearch 4096 May 21 07:29 .
drwxr-xr-x 78 root root          4096 May 21 07:02 ..
-rw-rw----  1 root elasticsearch 2854 Apr 28 17:45 elasticsearch.yml
-rw-rw----  1 root elasticsearch 2854 Apr 28 17:45 elasticsearch.yml.org
-rw-rw----  1 root elasticsearch 3117 Apr 28 17:45 jvm.options
-rw-rw----  1 root elasticsearch 4456 Apr 28 17:45 log4j2.properties
drwxr-x---  2 root elasticsearch 4096 Apr 28 17:45 scripts

elasticsearch.ymlの編集

network.hostはIPアドレスを指定し、port部分でポート指定を行う。
ここを間違えると永遠にConnection refusedになるので注意。
elasticsearch.ymlを編集する前はElasticsearchサービスを止めておいた方が良い。

$ sudo vim /etc/elasticsearch/elasticsearch.yml
# 56行目に55目の内容をコピーし、自ホストのIPアドレスに変更する
55 #network.host: 192.168.0.1
56 network.host: 10.0.1.51

動作確認

サービス再起動後、curlコマンドで指定したIP・ポートに到達するか確認する。
ここでエラーがある場合、ネットワーク関連の何らかで設定が間違っているので再度見直しを行う。

$ curl -XGET http://10.0.1.52:9200
{
  "name" : "kchQuTP",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "osGyfX3LRK6z1-AqH1hJrQ",
  "version" : {
    "number" : "5.4.0",
    "build_hash" : "780f8c4",
    "build_date" : "2017-04-28T17:43:27.229Z",
    "build_snapshot" : false,
    "lucene_version" : "6.5.0"
  },
  "tagline" : "You Know, for Search"
}