#garagekidztweetz

id:garage-kid@76whizkidz のライフログ・ブログ!

招待状がきたので #Hortonworks の「Hadoopと次世代・モダンデータアーキテクチャMDA」セミナーに参加してきました(後編)

スポンサーリンク

はい、では 前編 に引き続いて後編。

Hadoop and the Modern Data Architectureの午後のセッションはわたしは技術トラックに参加しました。

Hadoop Security と Ambari の話はそれなりに聴き応えがありました。
図解部分は資料をみたほうがいいので、資料が公開されたようでしたら、こちらにもリンクを貼らせてもらおうと思っています。

では、以降、わたしの取ってきたメモです。

1:00-1:40pm Hadoopセキュリティ

  • Hadoop ってどんなイメージなの?
    • きいろいゾウ
    • 真面目
    • マジック
    • 速い
    • 遅い
  • セキュリティのニーズは変化している
    • 2013 Fall
      • 単一ワークロードクラスタでサイロ配置
    • 2014 Summer
      • YARN の登場でクラスタの 65% が複数のワークロードをホストするように
      • Data lake を YARN がアンロック
  • 5 つのセキュリティ要件
    HDP2.2 ならばすべて補完する
    • 管理
      • 一元管理、一貫性あるセキュリティ
    • 認証
    • 認可
    • 監査
    • データ保護
  • 5 つのセキュリティ要件の基本図解
  • 完全でセキュアなフローの図解
  • それぞれの詳細
    • 認証
      • 基盤となるのは Kerberos
        • クライアント、ホスト、サービス ID を確立
        • なりすまし防止 (password をネットワーク経由で送信しない)
        • LDAP や AD との連携
        • データアクセスやジョブ実行のきめ細かい監査
    • 認可と監査
      • Apache Ranger
        • 一元化されたセキュリティ管理
          • Dashborad
          • セキュリティポリシーの一元化
            • 各プロダクトごとに定義が可能 (HDFS, Hive, Storm, etc...)
              • Hive の場合
          • 監査
            • 5WH のログをすべて記録
        • Ranger の構成 (Plugin でつながる)
          • Ranger Administration Portal
          • Ranger Audit Server
          • Ranger Policy Server (Integration API - connect -> Legacy Tools & Data Governance)
    • データ保護 (暗号化)
      • HDP は Hadoop スタック上の 3 つの異なるレイアーにおいてデータ保護ポリシーの適用をすることができる
        • 保存中のデータの暗号化
          • volume level
          • OS file level
          • Hadoop native
            • HDFS TDE : planning to GA early of this 2015.
            • パートナー企業提供
              • Voltage, Protegrity, DataGuise
            • 自前
        • 転送中のデータ暗号化
          Hadoop はじつは対応済み
          • RPC
            • Java SASL
          • DTP
          • HTTP
            • SSL
          • During Shuffle
            • HTTPS による MR 間のデータ転送
  • Hadoop Security の歴史
    • 2014 初頭の段階では
      • 大部分がパッチワーク状態だった
    • 2014 年 5 月
      • XA Secure を Hortonworks を買収
      • これによってセキュリティの 5 要件を HDP が補完できるようになった
    • 2014 Fall
      • ASF ガバナンス下において Apache Ranger として OSS 化 (元は XA Secure)
  • Knox を使用した REST API セキュリティ - Hadoop Cluster を安全に共有
    • Hadoop は外から閉じられた状態を保ち、 Knox を介して通信が行われるようになる (Proxy 的な役割を果たす)
      • Knox は State を持っていないのでスケールしやすい
    • なぜ Knox
      • 強化されたセキュリティ
        • non-SSL サービス用の SSL
        • Web app 脆弱性フィルター
      • シンプルなアクセス
        • Kerberos ラッピング - 意識しないで済む
      • 一元管理
        • REST API
      • エンタープライズ統合
        • LDAP 統合
        • SSO
    • REST API
      one host one port, SSL config at one host, consistent paths, masters could be on many different hosts
      and for each
      • WebHDFS
      • WebHCat
      • Oozie
      • HBase
      • Hive
      • YARN
    • Hadoop REST API セキュリティドリルダウン (図解)
      • REST API (DMZ の外)
  • まとめ(図解なので、資料が公開されるとうれしい)
    まずは firewall を構築し Hadoop はその中に入っていることは大前提 (外部と遮断)
    • HDP 2.2 における Hadoop Security の現状
      • 認証
        • Kerberos
        • Knox
      • 認可
        • 各エコシステムごとの一元化された認可を実現
      • 監査
        • ポリシーとアクセス履歴
      • データ保護
        • HDFS TDE
        • もしくは パートナーのプロダクトを使用し、実現

1:40-2:20pm Hadoop開発者の啓蒙 (Ambari 開発リーダー)

  • Apache Ambari の紹介 Hadoop すべてのユーザーのために
  • Apache Ambari とは?
    • 100% OSS
    • Hadoop Cluster の運用・使用を簡単にするツール
      • Ops だけでなくすべてを簡単にする、をめざす
        • 大スケールでの運用を簡単に
        • Community による拡張を簡単に
        • Hadoop すべての一元アクセス
          • すべての Hadoop のユーザのアクセスポイント、使いやすさの徹底追求
  • 100% OSS == 速いイノベーション
    • 100 人以上のコントリビュータ、 50 人以上のコミッター
    • User Group のメンバ 300 人弱
    • 最新 1.70 , 今月までに 2.0 を出したい
  • Core Feature
    • Install Wizard: GUI base
      • 30 min ほどでクラスタのサイズは関係なくインストールできる
    • Cluster Dashboard
      • Cluster の状態を一目瞭然に
    • Service Dashboard
      • NN, SNN, DN,,,
      • サービス管理
        各サービスの起動停止、再起動。ローリング再起動
        • HDFS
        • YARN
    • ホスト管理
    • 設定変更
      • 常にすべての設定変更をバージョン化している
        • 履歴
        • 過去バージョンとの比較
    • 監視・通知
      • Email
      • SNMP
  • Ambari Extensibility
    • Plugable
      • Ambari のコードを変えることなく、新しい機能の追加拡張、統合を可能にする
      • そうすることでCommunityからの貢献を容易に
        • Ambari Stack
          • 主な目的: まだ Ambari で提供されていないサービスを迅速に追加できるようにする
          • Stack はサービスと repo を定義
            • Stack は何のサービスで構成されているのか、パッケージのダウンロード元はどこか (repo)
          • 設定の推奨・警告
            • ユーザに対して行う
          • Ambari Server
            • Stack
              • サービス定義
              • コマンドスクリプト
                • start, stop, status, install, configure などのコマンドを定義
            • Ambari Agents
          • Stack は Inheritance をサポートする
            • 再利用でのスタック定義のてまを最小限に
        • Ambari View
          • 目的
            • Ambari Web UI ないで様々なビュー (アプリ) を提供
            • View は管理者、開発者、アナリスト用などと多目的
            • 普通の Web App を開発する感覚
          • Ex.
            • HDFS File Browzer
            • Hive Query を Tez で実行した時のトラブルシューティング
            • Hive/Pig Query の作成、編集、実行
              • Syntax Highlighting とか
              • Pig は開発中
  • よくある質問
    • Ambari が管理していない場合でも ok
      • View の使用は可能
      • 複数のクラスタに対しての View も対応
  • 今後の開発と展望
    • Ambari 2.0 - 近日公開予定
      • コア
        • 自動アップグレード (no downtime)
        • Ambari Alerts 新監視/通知システム
        • Ambari Metrics
          • 今回からスクラッチで作りなおした
          • 実装は HBase をストア先
        • Kerberos の統合自動化 (Security)
          • 1.7 までは手動の部分があったがそれが自動化された
    • 2.1
      • 使いやすさに焦点
        • より直感的に簡単に
        • Dashboard のフルカスタマイズ
      • Platform
        • OS, JDK, DB サポートの拡張
          • RH, CentOS, Oracle Linux 7, Debian
          • Windows
          • JDK8
          • Oracle 12c
    • Hadoop の顔としてのビジョン
      • Hadoop のシングルアクセスビジョンとしての Ambari
        • すべてのユーザが Hadoop に身近に触れることができるようにするための IF となることを目指す
        • Community のイノベーションが鍵
  • 試用は Quick Start Guide を参照しよう
    • laptop で 3 台 Cluser がつくれるぞ!
  • 資料は後ほど公開されるので、 Ambari のリンクはそちらで参照しよう
  • おまけ: Ambari BluePrint
    • Cluster Install 自動化
      • ex. MS Azure ポータル内での HDP クラスタインストール
    • Blueprint とはクラスタの設定状態を JSON で表したもの
    • Blueprint API に入力してクラスタインストール
      • ex. 100 台 Cluster をたった 2 つの API call で実現できる
        • blueprints & clusters
    • 実行中のクラスタの復元もできる
      • 実行中のクラスタから blueprint を export 可能
      • 設定がほぼ同じ Cluster を復元することに役立つ

2:20-3:00pm Hadoopにおけるデータサイエンス

  • データサイエンスとは?
    • データの科学的な探索から意味や知見を抽出することであり、 SW system を構築し そのような知見をビジネスを関連して活用すること
    • 分類
      • 洞察を得る
        記述的分析
        • クラスタリング
        • 異常値検出
        • バスケット解析
      • 予測をする
        予測分析
        • 分類
        • 回帰
        • レコメンデーション
    • BI との比較
      • データサイエンスは BI の次のステップ。洞察、発見そして予測。
    • なぜデータサイエンスが必要か?
      • 資料が詳しい
      • Web の巨人たちはビッグデータのデータサイエンスを適用し、データ製品の ROI を証明した
        • Google
        • Netflix
          • レコメンデーション
    • データサイエンスは様々な知識を組み合わせたもの
      • 生データ
      • フィーチャーエンジニアリング
      • データモデリング
    • データサイエンスにおける専門分野
      全部を兼ね揃えたユニコーンのような人は稀(というか皆無)
      • データエンジニア
        • 前処理部分
          • ETL
          • Programming
          • Computer Science
      • ビジネス・アナリスト
      • 応用科学者
      • ビッグデータエンジニア
        • Hadoop, Pig, Hive, Solr
    • データサイエンティストのスキル連続体
      • データサイエンティストを雇いたいならデータエンジニアと応用科学者を一組雇うのが現実的
  • 機械学習の概要
    • データから自動的に学習
  • 教師あり学習モデルの詳細
    • 教師あり学習
      • あらかじめトレーニング用のデータセットが用意されている
      • そこからモデルを作成する
      • クラスタリング, 異常値検出 etc...
      • 教師あり学習ワークフロー (図解)
        • フィーチャーの抽出
        • フィーチャーマトリックスの構築
          • どれくらい大きいのか?
            10M 行、 100 フィーチャーだったとしたら、各フィーチャー =8bytes
            メモリの合計 = -7.5GB
        • モデルのトレーニング
        • レコメンデーションのハイレベルフロー
          • 生データ->フィーチャー抽出ー>ユーザ/商品マトリックス->ALS (ここまでは Hadoop Clusterで完結できる)
            レコメンデーション -> MySQL/HBase -> Web Server
    • 教師なし学習
      • そもそもアルゴリズムに対してトレーニングのデータを与えることはしない
  • Hadoopにおけるデータサイエンス
    • なんで Hadoop でないとダメなのか?
      • YARN の進化によって Data lake が実現できるようになり、データサイエンティストに進化をもたらした
        • Hadoop によって今すぐ Data にも処理能力にもアクセスできるようになった
        • Hadoop により Schema on Read が実現できるようになったことも大きい
        • Hadoop は前処理にも最適
          • サンプル、変換、集計、ノーマライズ、結合、 OCR 、 NLP -> フィーチャーマトリックス
    • データサイエンスツールと Hadoop
      • 既存のツール : R, Python, Scikit-learn or SAS
      • Mahout : 将来は、、、
      • Spark ML-Lib : 推奨
    • Deploy の考え方 : Hadoop と R
      • R と関連したパッケージをそれぞれのノードにインストール
      • ユーザはハイメモリーノードで R を実行
      • Hadoop IF
        • RMR
        • RHDFS
        • RHIVE
        • RHBase
        • RODBC
    • Deploy の考え方 : Hadoop と Python
      • それぞれのノードおよびハイメモリーノードに Python およびパッケージインストール
      • ユーザはハイメモリーノードで Python を実行
      • Hadoop IF
        • PyDoop
        • Hadoop Streaming による MR Job
        • Pig
    • Deploy の考え方 : Hadoop と Spark
      • ユーザは Edge node から直接 Spark (or ML-Lib) ジョブを実行
        • Scala API または Java API
        • Python API もよし
      • YARN ジョブとして直接実行
  • まとめ
    • データサイエンスは Hadoop Cluster を利用する重要機能のひとつ
    • データサイエンティストの採用は難しい。正しいスキルセットをもったチームを構築することが現実的
    • Hadoop や YARN がデータサイエンスの最適な環境をつくりあげた
    • Hadoop にはデータサイエンスを行うためのツールがたくさんある (eco system)
  • 図解が多いので、実際の資料を参照するのがいい内容。メモをとるのは難しかった。
    • 概要のみメモしている。

はい、これで今回参加してきたセミナーのメモは以上です。

また、何か参加してきたら書きます、ってことで、今回はこんなところで。

資料

公開されたものはこちらに貼らせてもらおうと思います。
2015-03-12 時点で公開されていた資料を埋め込ませていただきました。

あわせて読まれたい