はい、では 前編 に引き続いて後編。
Hadoop and the Modern Data Architectureの午後のセッションはわたしは技術トラックに参加しました。
Hadoop Security と Ambari の話はそれなりに聴き応えがありました。
図解部分は資料をみたほうがいいので、資料が公開されたようでしたら、こちらにもリンクを貼らせてもらおうと思っています。
では、以降、わたしの取ってきたメモです。
1:00-1:40pm Hadoopセキュリティ
- Hadoop ってどんなイメージなの?
- きいろいゾウ
- 真面目
- マジック
- 速い
- 遅い
- セキュリティのニーズは変化している
- 2013 Fall
- 単一ワークロードクラスタでサイロ配置
- 2014 Summer
- YARN の登場でクラスタの 65% が複数のワークロードをホストするように
- Data lake を YARN がアンロック
- 2013 Fall
- 5 つのセキュリティ要件
HDP2.2 ならばすべて補完する- 管理
- 一元管理、一貫性あるセキュリティ
- 認証
- 認可
- 監査
- データ保護
- 管理
- 5 つのセキュリティ要件の基本図解
- 完全でセキュアなフローの図解
- それぞれの詳細
- 認証
- 基盤となるのは Kerberos
- クライアント、ホスト、サービス ID を確立
- なりすまし防止 (password をネットワーク経由で送信しない)
- LDAP や AD との連携
- データアクセスやジョブ実行のきめ細かい監査
- 基盤となるのは Kerberos
- 認可と監査
- Apache Ranger
- 一元化されたセキュリティ管理
- Dashborad
- セキュリティポリシーの一元化
- 各プロダクトごとに定義が可能 (HDFS, Hive, Storm, etc...)
- Hive の場合
- 各プロダクトごとに定義が可能 (HDFS, Hive, Storm, etc...)
- 監査
- 5WH のログをすべて記録
- Ranger の構成 (Plugin でつながる)
- Ranger Administration Portal
- Ranger Audit Server
- Ranger Policy Server (Integration API - connect -> Legacy Tools & Data Governance)
- 一元化されたセキュリティ管理
- Apache Ranger
- データ保護 (暗号化)
- 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 間のデータ転送
- RPC
- 保存中のデータの暗号化
- HDP は Hadoop スタック上の 3 つの異なるレイアーにおいてデータ保護ポリシーの適用をすることができる
- 認証
- Hadoop Security の歴史
- 2014 初頭の段階では
- 大部分がパッチワーク状態だった
- 2014 年 5 月
- XA Secure を Hortonworks を買収
- これによってセキュリティの 5 要件を HDP が補完できるようになった
- 2014 Fall
- ASF ガバナンス下において Apache Ranger として OSS 化 (元は XA Secure)
- 2014 初頭の段階では
- 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 の外)
- Hadoop は外から閉じられた状態を保ち、 Knox を介して通信が行われるようになる (Proxy 的な役割を果たす)
- まとめ(図解なので、資料が公開されるとうれしい)
まずは firewall を構築し Hadoop はその中に入っていることは大前提 (外部と遮断)- HDP 2.2 における Hadoop Security の現状
- 認証
- Kerberos
- Knox
- 認可
- 各エコシステムごとの一元化された認可を実現
- 監査
- ポリシーとアクセス履歴
- データ保護
- HDFS TDE
- もしくは パートナーのプロダクトを使用し、実現
- 認証
- HDP 2.2 における Hadoop Security の現状
1:40-2:20pm Hadoop開発者の啓蒙 (Ambari 開発リーダー)
- Apache Ambari の紹介 Hadoop すべてのユーザーのために
- Apache Ambari とは?
- 100% OSS
- Hadoop Cluster の運用・使用を簡単にするツール
- Ops だけでなくすべてを簡単にする、をめざす
- 大スケールでの運用を簡単に
- Community による拡張を簡単に
- Hadoop すべての一元アクセス
- すべての Hadoop のユーザのアクセスポイント、使いやすさの徹底追求
- Ops だけでなくすべてを簡単にする、をめざす
- 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
- ホスト管理
- 設定変更
- 常にすべての設定変更をバージョン化している
- 履歴
- 過去バージョンとの比較
- 常にすべての設定変更をバージョン化している
- 監視・通知
- SNMP
- Install Wizard: GUI base
- Ambari Extensibility
- Plugable
- Ambari のコードを変えることなく、新しい機能の追加拡張、統合を可能にする
- そうすることでCommunityからの貢献を容易に
- Ambari Stack
- 主な目的: まだ Ambari で提供されていないサービスを迅速に追加できるようにする
- Stack はサービスと repo を定義
- Stack は何のサービスで構成されているのか、パッケージのダウンロード元はどこか (repo)
- 設定の推奨・警告
- ユーザに対して行う
- Ambari Server
- Stack
- サービス定義
- コマンドスクリプト
- start, stop, status, install, configure などのコマンドを定義
- Ambari Agents
- Stack
- Stack は Inheritance をサポートする
- 再利用でのスタック定義のてまを最小限に
- Ambari View
- 目的
- Ambari Web UI ないで様々なビュー (アプリ) を提供
- View は管理者、開発者、アナリスト用などと多目的
- 普通の Web App を開発する感覚
- Ex.
- HDFS File Browzer
- Hive Query を Tez で実行した時のトラブルシューティング
- Hive/Pig Query の作成、編集、実行
- Syntax Highlighting とか
- Pig は開発中
- 目的
- Ambari Stack
- Plugable
- よくある質問
- Ambari が管理していない場合でも ok
- View の使用は可能
- 複数のクラスタに対しての View も対応
- Ambari が管理していない場合でも ok
- 今後の開発と展望
- 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
- OS, JDK, DB サポートの拡張
- 使いやすさに焦点
- Hadoop の顔としてのビジョン
- Hadoop のシングルアクセスビジョンとしての Ambari
- すべてのユーザが Hadoop に身近に触れることができるようにするための IF となることを目指す
- Community のイノベーションが鍵
- Hadoop のシングルアクセスビジョンとしての Ambari
- Ambari 2.0 - 近日公開予定
- 試用は 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
- ex. 100 台 Cluster をたった 2 つの API call で実現できる
- 実行中のクラスタの復元もできる
- 実行中のクラスタから blueprint を export 可能
- 設定がほぼ同じ Cluster を復元することに役立つ
- Cluster Install 自動化
2:20-3:00pm Hadoopにおけるデータサイエンス
- データサイエンスとは?
- データの科学的な探索から意味や知見を抽出することであり、 SW system を構築し そのような知見をビジネスを関連して活用すること
- 分類
- 洞察を得る
記述的分析- クラスタリング
- 異常値検出
- バスケット解析
- 予測をする
予測分析- 分類
- 回帰
- レコメンデーション
- 洞察を得る
- BI との比較
- データサイエンスは BI の次のステップ。洞察、発見そして予測。
- なぜデータサイエンスが必要か?
- 資料が詳しい
- Web の巨人たちはビッグデータのデータサイエンスを適用し、データ製品の ROI を証明した
- Netflix
- レコメンデーション
- データサイエンスは様々な知識を組み合わせたもの
- 生データ
- フィーチャーエンジニアリング
- データモデリング
- データサイエンスにおける専門分野
全部を兼ね揃えたユニコーンのような人は稀(というか皆無)- データエンジニア
- 前処理部分
- ETL
- Programming
- Computer Science
- 前処理部分
- ビジネス・アナリスト
- 応用科学者
- ビッグデータエンジニア
- Hadoop, Pig, Hive, Solr
- データエンジニア
- データサイエンティストのスキル連続体
- データサイエンティストを雇いたいならデータエンジニアと応用科学者を一組雇うのが現実的
- 機械学習の概要
- データから自動的に学習
- 教師あり学習モデルの詳細
- 教師あり学習
- あらかじめトレーニング用のデータセットが用意されている
- そこからモデルを作成する
- クラスタリング, 異常値検出 etc...
- 教師あり学習ワークフロー (図解)
- フィーチャーの抽出
- フィーチャーマトリックスの構築
- どれくらい大きいのか?
10M 行、 100 フィーチャーだったとしたら、各フィーチャー =8bytes
メモリの合計 = -7.5GB
- どれくらい大きいのか?
- モデルのトレーニング
- レコメンデーションのハイレベルフロー
- 生データ->フィーチャー抽出ー>ユーザ/商品マトリックス->ALS (ここまでは Hadoop Clusterで完結できる)
レコメンデーション -> MySQL/HBase -> Web Server
- 生データ->フィーチャー抽出ー>ユーザ/商品マトリックス->ALS (ここまでは Hadoop Clusterで完結できる)
- 教師なし学習
- そもそもアルゴリズムに対してトレーニングのデータを与えることはしない
- 教師あり学習
- Hadoopにおけるデータサイエンス
- なんで Hadoop でないとダメなのか?
- YARN の進化によって Data lake が実現できるようになり、データサイエンティストに進化をもたらした
- Hadoop によって今すぐ Data にも処理能力にもアクセスできるようになった
- Hadoop により Schema on Read が実現できるようになったことも大きい
- Hadoop は前処理にも最適
- サンプル、変換、集計、ノーマライズ、結合、 OCR 、 NLP -> フィーチャーマトリックス
- YARN の進化によって Data lake が実現できるようになり、データサイエンティストに進化をもたらした
- データサイエンスツールと 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 ジョブとして直接実行
- ユーザは Edge node から直接 Spark (or ML-Lib) ジョブを実行
- なんで Hadoop でないとダメなのか?
- まとめ
- データサイエンスは Hadoop Cluster を利用する重要機能のひとつ
- データサイエンティストの採用は難しい。正しいスキルセットをもったチームを構築することが現実的
- Hadoop や YARN がデータサイエンスの最適な環境をつくりあげた
- Hadoop にはデータサイエンスを行うためのツールがたくさんある (eco system)
- 図解が多いので、実際の資料を参照するのがいい内容。メモをとるのは難しかった。
- 概要のみメモしている。
はい、これで今回参加してきたセミナーのメモは以上です。
また、何か参加してきたら書きます、ってことで、今回はこんなところで。
資料
公開されたものはこちらに貼らせてもらおうと思います。
2015-03-12 時点で公開されていた資料を埋め込ませていただきました。