ゆるゆるとElasticsearch実践ガイドをやっています。具体的に言うと2章に入っていて、手元で自由に使いこなせるようになるまでの道のりでいちいち躓いています。躓いているので備忘録!
設定ファイルの場所
”2-4-4 基本設定”の節で触れられているellasticserach.ymlの中を編集するについて、このファイルは書籍では"/etc/elasticsearch/"以下にあると紹介されていますが、ディレクトリ自体ありませんでした。困った。
$ ls /etc/elasticsearch/
ls: /etc/elasticsearch/: No such file or directory
ではどこにあるか。情報を見てみます。
$ brew info elasticsearch elasticsearch: stable 6.8.6, HEAD Distributed search & analytics engine https://www.elastic.co/products/elasticsearch Not installed From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/elasticsearch.rb ==> Requirements Required: java = 1.8 ✔ ==> Options --HEAD Install HEAD version ==> Caveats Data: /usr/local/var/lib/elasticsearch/ Logs: /usr/local/var/log/elasticsearch/elasticsearch_keiko.log Plugins: /usr/local/var/elasticsearch/plugins/ Config: /usr/local/etc/elasticsearch/ To have launchd start elasticsearch now and restart at login: brew services start elasticsearch Or, if you don't want/need a background service you can just run: elasticsearch ==> Analytics install: 7,175 (30 days), 21,247 (90 days), 109,009 (365 days) install-on-request: 6,817 (30 days), 20,248 (90 days), 103,053 (365 days) build-error: 0 (30 days)
Config: /usr/local/etc/elasticsearch/
とあるので、/usr/local/etc/elasticsearch/
にありそうです。
/usr/local/etc/elasticsearch/
このディレクトリには以下のファイルがありました。
$ tree /usr/local/etc/elasticsearch/ /usr/local/etc/elasticsearch/ ├── elasticsearch.keystore ├── elasticsearch.yml ├── jvm.options ├── log4j2.properties ├── role_mapping.yml ├── roles.yml ├── users └── users_roles
elasticsearch.ymlを変更する
手始めにクラスターの名前を変えてみます!
- cluster.name: elasticsearch_keiko + cluster.name: elasticsearch_neko314
これで再起動して、接続してみます。
# 設定ファイルを変更したら再起動 $ elasticsearch # 別ターミナルで操作 $ curl -XGET http://localhost:9200 { "name" : "kanekokeikonoMacBook.local", "cluster_name" : "elasticsearch_neko314", # 新しい値になっている "cluster_uuid" : "NUXBP0TIRYCp9CRmCJgi9Q", "version" : { "number" : "7.6.0", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "7f634e9f44834fbc12724506cc1da681b0c3b1e3", "build_date" : "2020-02-06T00:09:00.449973Z", "build_snapshot" : false, "lucene_version" : "8.4.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
設定値を環境変数にする
環境変数も使えるということだったのでやってみました。
# 環境変数の設定 $ set -x ELASTICSEARCH_CLUSTER_NAME elasticsearch_neko $ env | grep ELASTICSEARCH_CLUSTER_NAME ELASTICSEARCH_CLUSTER_NAME=elasticsearch_neko
# elasticsearch.yml - cluster.name: elasticsearch_neko314 + cluster.name: ${ELASTICSEARCH_CLUSTER_NAME}
# 再起動 $ elasticsearch # 接続確認 $ curl -XGET http://localhost:9200 { "name" : "kanekokeikonoMacBook.local", "cluster_name" : "elasticsearch_neko", # 値が環境変数に入れた値になっている "cluster_uuid" : "NUXBP0TIRYCp9CRmCJgi9Q", "version" : { "number" : "7.6.0", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "7f634e9f44834fbc12724506cc1da681b0c3b1e3", "build_date" : "2020-02-06T00:09:00.449973Z", "build_snapshot" : false, "lucene_version" : "8.4.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
やったぁ!
以下同様に他の設定についてもお試ししていきたいと思います。