weblog of key_amb

主にIT関連の技術メモ

第8回 Elasticsearch 勉強会に行ってきた #elasticsearch #elasticsearchjp

2/13(金)に開催された第8回 Elasticsearch 勉強会に行ってきました。

第8回elasticsearch勉強会 #elasticsearch #elasticsearchjp - elasticsearch勉強会 | Doorkeeper

以下、内容のメモです。

1. Elasticsearch導入チェックリスト / @johtani

Elasticsearch株式会社の Jun Ohtani さんによる Install & 初期セットアップガイド。
ハマリポイントの紹介込み。

JVM / Elasticsearch のセットアップ内容の一部については、Elasticsearch 公式ドキュメントの http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/setup-configuration.html のページに同様の情報があるので、一次情報としてはこちらも参照した方がよさそうです。
また、ブログ記事 ElasticSearchの運用とか (2) - なんかかきたい にもだいたい同じようなことが書いてありました。

特に気をつけたほうがよさそうなことを挙げておきます。

  • Java のバージョン
    • 1.7.0_25〜1.7.0_55 は Lucene が壊れるバグがあるので、使ってはいけない
  • OS 設定
    • max_open_files を 32k - 64k に上げておく
    • swap を無効化するか vm.swappiness=0 にしておく。mlockall を使うやり方もあるようだ
  • JVM
    • ヒープメモリ
      • なるべく大きくする
      • ただし、物理メモリの半分以下
      • 32GB 以上だと GC の効率が悪くなるとか
  • Elasticsearch

2. Elasticsearch クエリとスキーマ定義のすごい細かい話 / @junya_todo

株式会社ドワンゴ 藤堂淳也 さん。

前回勉強会の niconicoの検索を支えるElasticsearch / niconico Elasticsearch - Speaker Deck はがっつり運用目線の内容だったようですが、今回はもう少しユーザ寄りの視点も入った内容と言えそうです。

  • Elasticsearch は検索基盤として運用しやすい
    • 要件に柔軟
      • スキーマ変更が無停止で可能
      • ローリングリスタートでサービス停止せずに変更を反映できる
    • 公式ドキュメントが充実している
  • 要件に対応 - 簡単なケース
    • フィールド追加
    • データ受け入れ
    • クエリ受け入れ
  • 要件に対応 - 複雑なケース
    • フィールド追加以降のフローは同じ
    • 事前に調査・検証が必要

3. ElasticsearchとKibanaで実現する、30億req/dayのリアルタイム分析 / @satully

株式会社サイバーエージェント 山田直行さん。

第6回 Elasticsearch 勉強会 (2014/9/16) の 秒間3万の広告配信ログをElasticSearchでリアルタイム集計してきた戦いの記録 の続きの話。

  • ディスプレイ広告配信DSP「Smalgo」のリアルタイムログ分析用途
  • インフラ構成
    • 半年前から変更した点
      • レポーティングと分析は Redshift で
      • Elasticsearch は数時間以内のリアルタイムな調査・モニタリング用途に
      • 以前は30日分データ保持していたが、現在では最大3日分
      • EBS をやめて InstanceStore にした
      • データノード28台 => 14台に削減
  • まとめ
    • 手がかからず安定して動作している
    • 監視システムだけで捉えられない変化に気づく上でこうしたリアルタイムモニタリングは重要

4. はてなのメディア面を支えるElasticsearch / @yanbe

株式会社はてな 山家雄介さん。

Elasticsearch によってはてなブックマークのメディアとしての側面がどのように強化されいているか。

  • はてなブックマークと同じDBを使って、Elasticsearch を利用して見せ方を変えることでB!KUMAが出来る。
    • 恋愛と結婚カテゴリをいい感じに
    • 男性目線の記事は出さないように調整する
  • 管理画面でコンテンツ抽出設定できる
    • 含む条件
    • 含めない条件
    • その他
  • 非エンジニアでもクエリチューニングできる
  • はてなの4サイトで使われている
  • トピック機能

所感

ふだん、業務で Elasticsearch のサーバインフラの運用はやっているのですが、中身はよくわかっていませんでした。
今回の勉強会参加を通して、他社サービスでの利用事例や、アプリケーションレベルでの運用について知見を深めることができたように思います。

懇親会ではスピーカーの方などに色々と話しを聞くことが出来ました。

元々高機能でスケールアウトしやすい検索エンジンという印象でしたが、今回の勉強会を通じて、要件に柔軟で安定して運用しやすいプロダクトという印象をより強く持ちました。

参考