<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Elasticsearch on Arch使いの日記</title>
    <link>https://blog.grainrigi.net/tags/elasticsearch/</link>
    <description>Recent content in Elasticsearch on Arch使いの日記</description>
    <generator>Hugo -- gohugo.io</generator>
    <copyright>Copyright © 2022, grainrigi; all rights reserved.</copyright>
    <lastBuildDate>Thu, 17 Nov 2022 21:25:32 +0900</lastBuildDate><atom:link href="https://blog.grainrigi.net/tags/elasticsearch/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Elasticsearch8をDockerで使ってみる (2) | 永続化とX-Packセキュリティ</title>
      <link>https://blog.grainrigi.net/post/elasticsearch-docker-2/</link>
      <pubDate>Thu, 17 Nov 2022 21:25:32 +0900</pubDate>
      
      <guid>https://blog.grainrigi.net/post/elasticsearch-docker-2/</guid>
      <description>
        
          
            ※この記事は前回(Elasticsearch8をDockerで使ってみる (1) | シングルノード構成)の続きとなります。
前回の記事では簡単なシングルノードクラスタを構築してみたが、 データの永続化が行われていないためdocker-compose downを実行するとデータが失われてしまう状態となっていた。 そこで、今回はデータの永続化を有効にするところから始めてみる。
永続化に立ちはだかる壁 Elasticsearchのデータは/usr/share/elasticsearch/dataに格納されるようになっている。 とりあえずこのディレクトリをVolumeに結びつけて永続化してみる。
1services: 2 es: 3 build: 4 context: . 5 environment: 6 - &amp;#34;ES_JAVA_OPTS=-Xms512m -Xmx512m&amp;#34; 7 ports: 8 - 9200:9200 9 volumes: 10 - es_data:/usr/share/elasticsearch/data 11volumes: 12 es_data: この状態でdocker-compose up -dすると、以下のようなエラーで終了してしまった。
1... 2bootstrap check failure [1] of [2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured 3bootstrap check failure [2] of [2]: Transport SSL must be enabled if security is enabled.
          
          
        
      </description>
    </item>
    
    <item>
      <title>Elasticsearch8をDockerで使ってみる (1) シングルノード構成</title>
      <link>https://blog.grainrigi.net/post/elasticsearch-docker-1/</link>
      <pubDate>Mon, 14 Nov 2022 23:15:28 +0900</pubDate>
      
      <guid>https://blog.grainrigi.net/post/elasticsearch-docker-1/</guid>
      <description>
        
          
            Elasticsearchクラスタ構築の第一歩として、Docker上でElasticsearchと戯れてみる。
参考: Install Elasticsearch with Docker | Elasticsearch Guide
シングルノード構成 イメージの準備 イメージはelasticsearchまたはdocker.elastic.co/elasticsearch/elasticsearchを用いる。(どちらも内容は一緒)
今回は以下のようなDockerfileを作成し用いる。
1FROM docker.elastic.co/elasticsearch/elasticsearch:8.5.0 2RUN elasticsearch-plugin install analysis-kuromoji elasticsearch-plugin installはElasticsearchのプラグインをインストールするコマンドである。 Elasticsearchではプラグインのインストールがほぼほぼ必須なので、 このように自前のDockerfileを作成して利用することが多いようである。
ちなみに、analysis-kuromojiは日本語の解析を行うためのプラグインで、 日本語データを扱う場合はほぼ必須となる。
docker-composeの作成 先程のDockerfileと同じディレクトリにdocker-compose.ymlを作成し、以下の内容とする。
1services: 2 es: 3 build: 4 context: . 5 environment: 6 - &amp;#34;ES_JAVA_OPTS=-Xms512m -Xmx512m&amp;#34; 7 ports: 8 - 9200:9200 ES_JAVA_OPTS=-Xms512m -Xmx512mはヒープサイズの指定である。(XmsとXmxの両方に同じサイズを記述すれば良い)
感覚的にはここで指定したメモリ+500MBくらいが必要になる気がする。
コンテナの起動 以下のコマンドを実行してコンテナを立ち上げる。
1docker-compose up -d しばらくしてから正常に立ち上がっていることを確認する。
1docker-compose ps うまく行けばコンテナがrunningのまま動き続けているはずである。
Note ちなみに、Linuxで動かすと以下のようなエラーが出て立ち上がらない場合がある。
1bootstrap check failure [1] of [1]: max virtual memory areas vm.
          
          
        
      </description>
    </item>
    
  </channel>
</rss>
