Hadoop2.6の最新機能+

21
1/20 Copyright © 2014 NTT DATA Corporation () NTTデータ 基盤システム事業本部 鯵坂 2014/12/18 Hadoop Source Code Reading Hadoop2.6の最新機能+

Transcript of Hadoop2.6の最新機能+

Page 1: Hadoop2.6の最新機能+

1/20 Copyright © 2014 NTT DATA Corporation

(株) NTTデータ 基盤システム事業本部 鯵坂 明

2014/12/18 Hadoop Source Code Reading

Hadoop2.6の最新機能+

Page 2: Hadoop2.6の最新機能+

2/20 Copyright © 2014 NTT DATA Corporation

2011/06 ~ NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス

2013/06 ~ Apache Hadoopの開発に参加

- ドキュメントの追加 - バグ修正 -運用を便利にするためのツール開発

2014/12 ~ Apache Hadoop Committer

自己紹介:鯵坂 明 (あじさか あきら)

Page 3: Hadoop2.6の最新機能+

3/20 Copyright © 2014 NTT DATA Corporation

Hadoop 2.6の最新機能 HDFS暗号化 レプリカ配置の高機能化 Hadoop 2.7についても少し

Agenda

Page 4: Hadoop2.6の最新機能+

4/20 Copyright © 2014 NTT DATA Corporation

Hadoop 2系のGA(2.2.0)以来、最も大きなリリース 896件のissueが解決された

- 2.3だと606件、2.4や2.5はそれより少ない

JDK6での動作をサポートするのは、これで最後 2.7以降は、JDK6で動作しない

2014/12/1 released

Hadoop 2.6 Hadoop 2.6

Page 5: Hadoop2.6の最新機能+

5/20 Copyright © 2014 NTT DATA Corporation

バージョンごとの機能一覧はwikiで確認できる http://wiki.apache.org/hadoop/Roadmap

Hadoop 2.6の機能 Hadoop 2.6

Page 6: Hadoop2.6の最新機能+

6/20 Copyright © 2014 NTT DATA Corporation

Hadoop 2.6の機能分類

Key Management Server

Transparent Encryption

AES support for faster wire-encryption

HDFS暗号化

Memory as storage tier

SSD storage tier

Archival Storage

APIs for using storage tiers by applications

レプリカ配置の高機能化

NodeManager Restart

Admin-specified labels in YARN

ResourceManager HA Phase 2

Shared cache for YARN application artifacts

運用性の向上 YARN Rolling Upgrades

Long-running services on YARN

YARN reservation-subsystem

Hadoop 2.6

HTraceも!

Hot swap storage volumes in DataNodes

Page 7: Hadoop2.6の最新機能+

7/20 Copyright © 2014 NTT DATA Corporation

背景 HDFSに暗号化の機能は存在しなかった

- ブロックの中身はDataNodeのディスクからそのまま読めてしまう もともと、Hadoopに対するセキュリティは、クラスタへのアクセスを隔離することで担保されていた だが、金融、公共、ヘルスケアなどの業界では隔離するだけでは要求を満たせない

HDFS暗号化 Hadoop 2.6

Page 8: Hadoop2.6の最新機能+

8/20 Copyright © 2014 NTT DATA Corporation

ファイルを暗号化してDataNodeのディスクに書き込む 暗号化方式として、AES-CTRを採用

- ファイルサイズに変化がない - 暗号/復号処理が並列化可能 - seek、appendも可能

暗号/復号鍵は、Key Management Serverで管理

HDFS暗号化 Hadoop 2.6

Page 9: Hadoop2.6の最新機能+

9/20 Copyright © 2014 NTT DATA Corporation

背景 HDFSに入れるデータにも、よく処理されるものとそうでないものがある 頻繁に処理されるデータをSSDに置いて、データの読み込み/書き込みを高速化したい (例: HBaseのWAL) ほとんど処理されないデータは、アーカイブ用の、ディスクを大量に搭載したスレーブに配置したい

レプリカ配置をより細かく管理する仕組みを実装 HDFSを構成する各ディスクに対して、Storage Type(RAM_DISK,

DISK, SSD, ARCHIVE)を指定 - 設定ファイルから指定するが、動作中に設定のreloadも可能

各ディレクトリにStorage Policy(Lasy_Persist, All_SSD, One_SSD, Hot, Warm, Cold...)を指定

レプリカ配置の高機能化

$ hdfs dfsadmin -setStoragePolicy <path> <policyName>

Hadoop 2.6

Page 10: Hadoop2.6の最新機能+

10/20 Copyright © 2014 NTT DATA Corporation

レプリカは以下のように配置される

Storage Typeに関する補足 RAM_DISK: 各DataNodeでtmpfsを設定して、"RAM_DISK"に指定

- tmpfsへの書き込みについても、Hadoop 2.6で新規に実装済 (beta) - 書き込み速度を上げるため、レプリカ数は1を想定

ARCHIVE: ディスク容量に対してCPUやメモリが低スペックな環境を"ARCHIVE"に指定

レプリカ配置の高機能化

Storage Policy Block Placement (n replicas) Lazy_Persist RAM_DISK: 1, DISK: n-1 All_SSD SSD: n One_SSD SSD: 1, DISK: n-1 Hot(default) DISK: n Warm DISK: 1, ARCHIVE: n-1 Cold ARCHIVE: n

Hadoop 2.6

Page 11: Hadoop2.6の最新機能+

11/20 Copyright © 2014 NTT DATA Corporation

Q. SSDに配置したいけど、SSDの残容量がない場合は? A. DISKに配置する。各Storage Policyについて、 fallback可能なStorage Typeが決められている。 Q. Storage Policyを後から変更した場合に、どうやってレプリカを 再配置するのか? A. Moverという、balancerのようなツールを利用する。 Q. レプリカ配置について、Storage Typeとラックアウェアネスの どちらを優先するのか? A. 可能な限り両立させる。両立できない場合はStorage Type優先。 Moverで再配置する場合も、同様。

レプリカ配置の高機能化 (FAQ) Hadoop 2.6

Page 12: Hadoop2.6の最新機能+

12/20 Copyright © 2014 NTT DATA Corporation

JDK6サポートを打ち切るためのリリース

他にも、いくつか機能が追加される 2.6よりは、控えめ

2.6のあとすぐにリリース予定 という話だったが、MLを見る限りでは2015年1月下旬になりそう

Hadoop 2.7 Hadoop 2.7

Page 13: Hadoop2.6の最新機能+

13/20 Copyright © 2014 NTT DATA Corporation

バージョンごとの機能一覧はwikiで確認できる http://wiki.apache.org/hadoop/Roadmap

Hadoop 2.7の最新機能 Hadoop 2.7

今回紹介

Page 14: Hadoop2.6の最新機能+

14/20 Copyright © 2014 NTT DATA Corporation

JDK7に移行するのは簡単 (HADOOP-10530) Hadoop 2.7

pom.xmlを更新するだけ https://github.com/apache/hadoop/commit/275561d8488fda9a2735b29f5396d8b6140ffa19

JDK6以下だと エラーを返す指定

Page 15: Hadoop2.6の最新機能+

15/20 Copyright © 2014 NTT DATA Corporation

Findbugsのアップデート 過去に使っていたFindbugs 1.3.9は、JDK8で動作しない アップデートすると、見つかるバグも増える 見つかったバグは、修正が必要

Javadoc tagの書き方が違っていると、JDK8ではコンパイルエラー この機会に、全て修正する 他にも様々な修正が必要

JDK8 supportのほうが大変(HADOOP-11090) Hadoop 2.7

Page 16: Hadoop2.6の最新機能+

16/20 Copyright © 2014 NTT DATA Corporation

branch-2 (Hadoop 2.x系)のコミットログ https://github.com/apache/hadoop/commits/branch-2

JDK8 supportのほうが大変(HADOOP-11090) Hadoop 2.7

Findbugs

Javadoc

Findbugs

Findbugs

Page 17: Hadoop2.6の最新機能+

17/20 Copyright © 2014 NTT DATA Corporation

背景 HDFSに格納するデータが増え続けており、必要なHDDも増え続ける あまり処理しないデータについてレプリカを3つ持つのは高コスト

- データ量に換算して、200%のoverhead Erasure Codingを使えば50%以下のoverheadですむため、容量を節約できる

事例 Facebookでは、既に実装して使っている様子

- XORing Elephants: Novel Erasure Codes for Big Data, VLDB 2013 Windows Azure FileSystemにも、使われている

問題点 Microsoftの知財が含まれるのではないか !? (LEGAL-211) Intel/Clouderaが開発中だが、ここ1ヶ月ほど停滞している

- リリースに間に合うかは、非常に怪しい

Erasure Coding Support inside HDFS Hadoop 2.7

Page 18: Hadoop2.6の最新機能+

18/20 Copyright © 2014 NTT DATA Corporation

HDFS dfs -find コマンド (HADOOP-8989) 今までは、Solrが必要だった (org.apache.solr.hadoop.HdfsFindTool) Hadoop 2.7以降は、標準で使える 今は -name, -inameのみ 他オプション(-type, -atime, -mtime, ...)も追加するつもり

hadoop --loglevel option (HADOOP-7984) ログレベルを変えるために、環境変数を変更する(もしくは、スクリプトを書き換える)必要があった

2.7以降はオプションを指定するだけ

その他便利ツール Hadoop 2.7

$ hdfs --loglevel DEBUG dfs -ls /user/ajisakaa

$ export HADOOP_ROOT_LOGGER=DEBUG,console $ hdfs dfs -ls /user/ajisakaa $ unset HADOOP_ROOT_LOGGER

Page 19: Hadoop2.6の最新機能+

19/20 Copyright © 2014 NTT DATA Corporation

nntop: top-like tool for NameNode users (HDFS-6982) HDFSに対する処理ごとに、最も実行回数の多いユーザをリストアップする デフォルトで有効 (プロパティdfs.namenode.top.enabledで指定可能) Low overhead

- 4000ノードのクラスタでもNameNodeのCPU負荷は2%以下 @ Twitter - メモリ消費も数MB

JMXで表示 - デフォルトで、過去1分, 5分, 25分について集計

Viewerも(要望があれば)開発予定 (HDFS-7465)

その他便利ツール Hadoop 2.7

Page 20: Hadoop2.6の最新機能+

20/20 Copyright © 2014 NTT DATA Corporation

Hadoop 2.6がリリースされました HDFS暗号化 レプリカ配置の高機能化 運用性の向上 ただし、production readyでない機能もあることに注意

Hadoop 2.7は2015年1月下旬にリリース予定 JDK6は使えなくなる いくつか便利なツールが使えるようになる

まとめ

Page 21: Hadoop2.6の最新機能+

Copyright © 2011 NTT DATA Corporation

Copyright © 2014 NTT DATA Corporation

お問い合わせ先: 株式会社NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス URL: http://oss.nttdata.co.jp/hadoop メール: [email protected] TEL: 050-5546-2496