LoginSignup
70
78

More than 5 years have passed since last update.

Elasticsearch本番環境構築のメモ

Last updated at Posted at 2015-08-20

Elasticsearch: The Definitive Guideでは、本番環境の構築についていろいろ詳しく書かれています。忙しい方のために、簡単に纏めました。

基本的な考え方

まずメモリ容量について考えるでしょう。数百GBのサーバとAWSのt2.microのような1GBのサーバの両極があります。弱いサーバだと台数を増やさなければいけないが、クラスタ管理の手間、ノード間通信の負荷が増えます。あまりにも強いサーバだとCPUとメモリのバランスが取りにくいです。下記の図で示したように、真ん中の数十GBのサーバで組んだ数十台~数百台規模の構成がスイートスポットとなります。

mem_server_sweetspot.png

サーバスペック

Elasticsearchはメモリバウンドなので、メモリが重要です。そうはいっても64GB以上はいりません。CPUは普通のマルチコアでよいので、Hzが重要ではありません。LuceneはI/Oバウンドなので、ディスクが早いほうがよいです。RAID0は有効ですが、RAID10がいりません。

項目 ベリーグッド グッド バッド
メモリ 64GB 32GB、16GB 8GB以下
CPU 2-8コア なし なし
ディスク SDD、15k HDD なし NAS
ネットワーク 1Gb、10Gb なし DC間

設定の変更

以下いろいろ設定の変更を纏めましたが、詳しくはElasticsearch: The Definitive Guideをご参照ください。

設定ファイルの変更点

項目 推奨 ディフォルト
クラスタ名 独自名前 elasticsearch
ノード名 独自名前 マーベルキャラ名
データパース 複数フォルダ(ソフトウエアRaid0) インストールフォルダ
ログパース インストールフォルダ以外 インストールフォルダ
プラグインパース インストールフォルダ以外 インストールフォルダ
最少マスターノード数 マスターノード数/2+1 1
リカバリ制限 ノード数によって調整 recover_after_nodes=1, expected_nodes=2, recover_after_time=5m
ディスカバリー通信方式 Unicast Multicast

環境設定の変更点

項目 グッド バッド
Java Java 7(Oracle、OpenJDK) Java 6
ヒープサイズ メモリの半分 AND 32GB以下 1GB
スワップ 禁止 有効
ファイル記述子数上限 64,000 1024
メモリマップ数上限 262144 65530

触ってはいけない設定

項目 デフォルト
GC CMS
スレッドプール CPUコア数
70
78
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
70
78