--- title: "Elasticsearch を使用する" slug: "df-es" tags: ["Data Forest", "VPC"] updated: 2026-09-17T09:25:49Z published: 2026-09-17T09:25:49Z canonical: "guide.ncloud-docs.com/df-es" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Elasticsearch を使用する VPC環境で利用できます。 Elasticsearchは、非定型データを JSON構造で保存し、検索に特化したデータストレージです。REST APIを使用してクエリできます。 ## Elasticsearchアプリの詳細情報を確認 アプリの作成が完了すると、詳細情報を確認できます。アプリの詳細情報の **Status**が **Stable**の場合、アプリが正常に起動されたことを意味します。 アプリの詳細情報を確認する方法は、次の通りです。 1. NAVERクラウドプラットフォームコンソールの VPC環境で、**Menu** > **All Services** > **Big Data & Analytics** > **Data Forest**メニューを順にクリックします。 2. 左側の **Data Forest > Apps**メニューをクリックします。 3. アプリを所有するアカウントを選択します。 4. 詳細情報を確認するアプリをクリックします。 5. アプリの詳細情報を確認します。 ![df-es_2-1_updated_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/df-es_2-1_updated_ja.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A30%3A32Z&se=2026-10-26T14%3A30%3A32Z&sr=c&sp=r&sig=dnInk0v4pzdXWQerhcGpJRUlEjmvJfwTlKjizSx1Ggc%3D) - **Quick links** - **elasticsearch.hosts**: Elasticsearch REST APIアドレス(外部ネットワーク) - **shell-es-coord-0**: コーディネーターノードのウェブシェル URL - **supervisor-es-ingest-0**: インジェストノードプロセスを管理できる supervisor URL。このノードはデフォルト値の0個が作成されるため、別に指定しない場合はアクセス不可 - **shell-es-master-0**: マスターノードのウェブシェル URL - **supervisor-es-coord-0**: コーディネーターノードプロセスを管理できる supervisor URL - **supervisor-es-data-0**: データノードプロセスを管理できる supervisor URL - **shell-es-data-0**: データノードのウェブシェル URL - **shell-es-ingest-0**: インジェストノードのウェブシェル URL。このノードはデフォルト値の0個が作成されるため、別に指定しない場合はアクセス不可 - **supervisor-es-master-0**: マスターノードプロセスを管理できる supervisor URL - **Connection String** - **elasticsearch.hosts.inside-of-cluster**: Elasticsearch REST APIアドレス(内部ネットワーク) - **コンポーネント**: デフォルトで指定された値が推奨リソースです。 - **es-master**: esサーバでマスターのロールを実行するコンポーネント - **es-data**: esサーバでデータを保存するロールを実行するコンポーネント - **es-ingest**: esサーバでインジェストパイプラインのロールを実行するコンポーネント - **es-coord**: esサーバでコーディネーターノードのロールを実行するコンポーネント ### REST APIアドレスリスト Elasticsearchの HTTP REST APIアドレスは2つあります。状況に応じて適切な APIアドレスを使用します。 - **elasticsearch.hosts**: Data Forest外部ネットワークから Elasticsearchにアクセスする際に使用します。 - **elasticsearch.hosts.inside-of-cluster**: Data Forestアプリから Elasticsearchにアクセスする際に使用します。例) Kibanaで Elasticsearchと連携時 | 状況 | 使用するアドレス | | --- | --- | | Kibanaアプリから Elasticsearchアプリにアクセスする場合 | elasticsearch.hosts.inside-of-cluster | | Devアプリで構築した開発環境から Elasticsearchアプリにアクセスする場合 | elasticsearch.hosts.inside-of-cluster | | 自分のサーバで実行される Logstash | elasticsearch.hosts | | Data Forest以外のサーバで実行する `curl` | elasticsearch.hosts | 参考 **elasticsearch.hosts**アドレスは HTTPプロキシサーバです。**elasticsearch.hosts.inside-of-cluster**を使用できる環境であれば、HTTPプロキシサーバを使用するより **elasticsearch.hosts.inside-of-cluster**を使用することをお勧めします。 ## Elasticsearchアプリコンテナ数の変更 コンテナ数を調整する方法は、次の通りです。 1. NAVERクラウドプラットフォームコンソールの VPC環境で、**Menu** > **All Services** > **Big Data & Analytics** > **Data Forest**メニューを順にクリックします。 2. 左側の **Data Forest > Apps**メニューをクリックします。 3. アプリを所有するアカウントを選択します。 4. 詳細情報を確認するアプリをクリックし、**[Flex]** ボタンをクリックします。 5. Flexの変更画面が表示されたら、コンテナ数を修正して **[修正]** ボタンをクリックします。 ![df-es_4-1_vpc_updated_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/df-es_4-1_vpc_updated_ja.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A30%3A32Z&se=2026-10-26T14%3A30%3A32Z&sr=c&sp=r&sig=dnInk0v4pzdXWQerhcGpJRUlEjmvJfwTlKjizSx1Ggc%3D) 参考 - es-masterと es-dataコンポーネントは Flex機能をサポートしません。他のコンポーネントは自由に Flexできます。 ## Elasticsearchアプリ使用時の注意事項 ### ノード障害 Elasticsearchアプリは、1つの物理的なノードに1つのデータノードのみ起動します。そのため、replica=1の場合、1つのデータノードに障害が発生してもデータは消失しません(replica=1は、ソース1 + replica 1という意味)。 es-dataは、最低2台必要です。 参考 - Elasticsearch 7.3のデフォルト値は shard 1つ、replica 1つです。Index settings、または Index creation no longer defaults to five shardsをご参照ください。 - Elasticsearch 6.7のデフォルト値は shard 5つ、replica 1つです。 ### Out of Memory Elasticsearchアプリの作成時、必要なリソース(resource/memory)を指定します。指定されたメモリより多くのメモリを使用する場合、OSの Out of Memory(OOM) Killerが Elasticsearchプロセスを終了させます。supervisorで Elasticsearchプロセスを管理しているため、OOMによりプロセスが終了すると、supervisorが Elasticsearchプロセスを再実行することになりますが、OOMが発生した場合、再び OOMが発生する可能性が高いです。 このような状況が発生した場合、Elasticsearchコンテナ数を増やした後、shardを分割して個々のノードの負荷を減少させるか、コンテナのリソースを増加させる必要があります。ただし、既に実行中の Elasticsearchアプリリソースは変更できません。リソースを変更したい場合、メモリを増加させた Elasticsearchアプリを作成し直し、repository-hdfsを参照して HDFSにバックアップしてから復旧するか、Reindex from remote機能を使用してインデックスを新しい Elasticsearchアプリに移行できます。 Elasticsearchプロセスが OOMにより終了した後、再起動されたかを確認する方法は、次の通りです。 - **cerebroで**ノードの uptime情報を確認します。他のノードに比べて uptimeが短い場合、Elasticsearchプロセスが再起動した可能性が高いです。 - このノードの **supervisord.log**をご確認ください。(ログ/設定を確認する)ログに以下のような内容がある場合、OOMにより Elasticsearchプロセスが再起動された可能性が高いです。 ``` # SIGKILLで Elasticsearchプロセスが終了 2020-04-22 14:44:35,390 INFO exited: elasticsearch (terminated by SIGKILL; not expected) # supervisorが Elasticsearchを再実行 2020-04-22 14:44:36,395 INFO spawned: 'elasticsearch' with pid 508 2020-04-22 14:44:37,396 INFO success: elasticsearch entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) ``` supervisorのログは Elasticsearchプロセスが SIGKILLにより終了したことを意味しますが、SIGKILLが発生した理由は不明です。OOM Killerは SIGKILLを使用しているため、OOM Killerにより終了したものと思われます。 - dmesgコマンドで OOMの発生有無を確認できます。 ``` [magnum@ac3m8x2240.bdp ~]$ dmesg ... [13460863.662062] elasticsearch[e invoked oom-killer: gfp_mask=0x50, order=0, oom_score_adj=1000 [13460863.662066] elasticsearch[e cpuset=aceca4b30ed9b4af3b3fab0ada711021f05dfecf68ebfdcfcdaa54a0ab516842 mems_allowed=0-1 [13460863.662069] CPU: 14 PID: 27043 Comm: elasticsearch[e Not tainted 3.10.0-862.14.4.el7.x86_64 #1 [13460863.662071] Hardware name: HPE ProLiant DL380 Gen10/ProLiant DL380 Gen10, BIOS U30 09/12/2019 [13460863.662072] Call Trace: [13460863.662080] [] dump_stack+0x19/0x1b [13460863.662085] [] dump_header+0x90/0x229 [13460863.662091] [] ? find_lock_task_mm+0x56/0xc0 [13460863.662096] [] ? try_get_mem_cgroup_from_mm+0x28/0x60 [13460863.662098] [] oom_kill_process+0x254/0x3d0 [13460863.662101] [] mem_cgroup_oom_synchronize+0x546/0x570 [13460863.662103] [] ? mem_cgroup_charge_common+0xc0/0xc0 [13460863.662105] [] pagefault_out_of_memory+0x14/0x90 [13460863.662108] [] mm_fault_error+0x6a/0x157 [13460863.662112] [] __do_page_fault+0x496/0x4f0 [13460863.662113] [] do_page_fault+0x35/0x90 [13460863.662115] [] page_fault+0x28/0x30 [13460863.662118] Task in /yarn/container_e62_1584425817444_92362_01_000002/aceca4b30ed9b4af3b3fab0ada711021f05dfecf68ebfdcfcdaa54a0ab516842 killed as a result of limit of /yarn/container_e62_1584425817444_92362_01_000002/aceca4b30ed9b4af3b3fab0ada711021f05dfecf68ebfdcfcdaa54a0ab516842 [13460863.662121] memory: usage 2097152kB, limit 2097152kB, failcnt 1448215 [13460863.662122] memory+swap: usage 2097152kB, limit 4194304kB, failcnt 0 [13460863.662123] kmem: usage 0kB, limit 9007199254740988kB, failcnt 0 [13460863.662124] Memory cgroup stats for /yarn/container_e62_1584425817444_92362_01_000002/aceca4b30ed9b4af3b3fab0ada711021f05dfecf68ebfdcfcdaa54a0ab516842: cache:332KB rss:2096820KB rss_huge:0KB mapped_file:320KB swap:0KB inactive_anon:546160KB active_anon:1550660KB inactive_file:8KB active_file:0KB unevictable:0KB [13460863.662138] [ pid ] uid tgid total_vm rss nr_ptes swapents oom_score_adj name [13460863.662272] [25374] 20033 25374 3151 67 12 0 0 bash [13460863.662274] [25813] 20033 25813 29910 2391 62 0 0 supervisord [13460863.662276] [25818] 20033 25818 178152 1221 20 0 0 gotty [13460863.662279] [26644] 20033 26644 3184 108 12 0 0 bash [13460863.662282] [26703] 20033 26703 954936 519887 1130 0 1000 java [13460863.662285] Memory cgroup out of memory: Kill process 27043 (elasticsearch[e) score 1993 or sacrifice child [13460863.663561] Killed process 26703 (java) total-vm:3819744kB, anon-rss:2079548kB, file-rss:0kB, shmem-rss:0kB ``` ### データ保存 Elasticsearchアプリのデータは `/home1/{USER}` の下位に保存され、ユーザーがアプリを停止したり、別の問題によりアプリが終了した場合でもデータは削除されません。 以下のような特定の状況ではデータが消失する可能性があります。 停止したアプリをユーザーが削除(destroy)する場合にはデータが削除されます。停止したアプリを再起動すると、既存データが存在していたノードで起動され、データが復旧されます。ただし、これまで起動していたノードのリソースを他のタスクが占有したり、ノードが障害によって除外されている場合、`yarn.service.placement-history.timeout.ms`(デフォルト値: 1時間)以降には既存のノードで実行されず、別のノードで実行されます。そのため、`yarn.service.placement-history.timeout.ms`で設定された時間以内に実行されなかった Elasticsearchアプリのデータは消失する恐れがあります。重要なデータの場合は、repository-hdfsを参照して HDFSにバックアップしてください。 参考 サービスに直接影響する場合は、できるだけ専用のキューで Elasticsearchアプリを実行してください。共用キューは複数のユーザーが一緒に使用するため、希望する時点に必要なリソースを確保できない場合があります。