Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

Elastic{ON} 2017 1日目 | データを収集するシステムをStorageの種類を工夫して構築した話 #elasticon

Elastic{ON}2017 レポートのまとめはこちら!!

日本のみなさんこんにちは、@です。
実は私、初アメリカです。Elastic{ON}たのしー

先程Keynoteを聞いて、すごくテンションがあがりました。
個人的には、特に「Time Series Visualize Builder」や「Machine Learning」が魅力的だと感じています。

さて、早速本題です。本日いくつかのセッションに参加し、そのなかの1つを取り上げて紹介します。
それは、「The Hotel NERSC Data Collect: Where Data Checks In, But Never Checks Out」です。

因みに、私は以下のセッションに参加しました。

  1. Opening Keynote
  2. Retail Fraud Detection and Real-Time Inventory Reporting @ Walmart
  3. Advancing Earth Science with Elasticsearch at Terradue
  4. The Hotel NERSC Data Collect: Where Data Checks In, But Never Checks Out

The Hotel NERSC Data Collect: Where Data Checks In, But Never Checks Out

概要

NERSCはNational Energy Research Scientific Computing Centerの略となる組織で、
HPCやデータ分析の研究をしています。

NERSCは大規模なコンピューティングシステムを保持しています。
大規模なコンピューティングシステムにあるマシンルームに
冷却するための機能が存在せず、自然の気温を活用しています。

それら自然のデータに加え、システムに関するデータを保存しています。
そのデータをElasticsearchを使ってどうデータを集め、活用したといったセッションです。

f:id:acro-engineer:20170308142822j:plain:w700

収集対象データの説明

まずは、データをどう取得するかといった話です。
システムのメトリクスを複数のデータソースにまたがって、取得しています。
そのデータサイズとしては1日で160GBもの量を保存しています。

f:id:acro-engineer:20170308150715j:plain:w700

このデータはシステムの診断データとして利用したり、
マシンルームを有効利用するために使います。

収集データはKibanaで可視化を行っています。次の画像はその一例です。

f:id:acro-engineer:20170308150735j:plain:w700

データ収集システムの説明

NERSCはデータ収集を長期的に行い、システムやマシンルームの設備データを収集しています。
このデータ収集システムのゴールの1つはNERSC内にあるStorageを使うことです。
そのため、システムには複数の種類のStorageを組み合わせて使っています。
それぞれのStorageの特性に合わせて利用用途を変更しています。

  1. Hot StorageはSSD/NVMEのことを指し、アクセスが非常に高速です。取得の間隔の短いデータを保存します。
  2. Warm StorageはRAID5のことを指しており、安くて大容量のStorageです。
    取得間隔が週、月、年ごとのデータを保存します。
  3. Cold Storageはデータのアクセスに1秒や1分かかるようなStorageです。
    その1つはHPSS(High Performance Storage System)です。スナップショットの保存に利用されています。

Cold Storageには複数の技術が使われていて、Elasticsearch、HPSSと呼ばれるStorage
そして、shell scriptなどを組み合わせて実現しています。

利用するStorageの違いが、個人的に最も参考になった部分です。
データの周期やアクセス速度の違いにより、どのようなデータをどう保存するかの1つの方法かと思います。

データ収集システムはCentOS 7のOSベースに構築されています。
Elasticsearchは3 master nodes、3 client nodesの構成です。

Snapshot/Restoreの仕組み

最後にデータ収集システムのSnapshotやRestoreの仕組みを紹介していました。
SnapshotやRestoreをするshell scriptを独自で書いているようでした。
Snapshotはshell scriptを使って日付ごとにSnapshotをHPSSに保存されています。

こちらの画像がsnapshotの仕組みです。一定期間のデータをsnapshotで順次保存しています。

f:id:acro-engineer:20170308150836j:plain:w700

Restoreはこちらの画像です。一定期間のデータをHPSSから取得し、順次リストアを行っています。

f:id:acro-engineer:20170308150848j:plain:w700

最後に

Elastic{ON} 2日目も待ち遠しいです。
Machine Learningのセッションもあるので、はりきって聞きに行ってきます!

Elastic{ON}2017 レポートのまとめはこちら!!

Acroquest Technologyでは、キャリア採用を行っています。

  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

Elasticsearchを仕事で使いこみたいデータ分析エンジニア募集中! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com