全般
Hadoop 2.7.0のリリースにおいて、合計で923件のissueが解決されました
- Common: 259
- HDFS: 350
- YARN: 253
- MapReduce: 61
注意事項
-
本リリースより、JDK6はサポートされなくなりました
-
本リリースを商用で利用するのは推奨されません。2.7.1以降のリリースを待つことを推奨します。
- MLによると、2015/5末あたりに2.7.1-RC0が出る予定。
新機能
Common
HADOOP-9629 Windows Azure Storageのサポート
- スキーマに
wasb://
, もしくはwasbs://
を指定することで、Windows Azure FileSystemに対してアクセス可能です。
HADOOP-7984 hadoopコマンドに --loglevel
オプションが追加されました。
- 従来は、loglevelを変更するために
export HADOOP_ROOT_LOGGER=DEBUG,console
というようなコマンドを実行して、後で環境変数を元に戻す必要がありましたが、2.7.0以降では--loglevel=DEBUG
だけで可能です。
HADOOP-8989 hadoop fs -findコマンドが実装されました
- POSIX findコマンドとほぼ同等ですが、現時点では
-name
,-iname
,-print
,-print0
オプションしかサポートしていません。
HDFS
HDFS-3107 truncate APIのサポート
HDFS-7584 Storage typeごとにquotaを設定可能になりました
- setQuotaByStorageType APIと、
hdfs dfsadmin -setSpaceQuota/-clrSpaceQuota
コマンドの-storagetype
オプションによって、quotaを設定可能です。
HDFS-3689 ブロックサイズはファイルごとに一律固定ではなく、各ブロックごとで変えることができます
- HDFS append APIに
CreateFlag.APPEND
とCreateFlag.NEW_BLOCK
を渡すことで、従来通り最後のブロックの途中から追記するのではなく、新しいblockを作成してそこに追記することが可能です - HDFS hsync APIに
SyncFlag.END_BLOCK
を渡すことで、現在書き込み中のblockへの書き込みを終了し、新しいblockにデータを書き込むことが可能です
HDFS-6982 nntopという、NameNodeにおけるtopのような仕組みが実装され、各ユーザがNameNodeに対してどんな命令をどの程度実行したのかについて、統計情報が取得可能になりました
HDFS-7424 NFS gatewayのWeb UIが実装されました
HDFS-6663 fsckコマンドに、-blockId
オプションが実装されました
- ユーザが指定したblockIdに対応するファイルパスおよび、当該ブロックを保持するノード・ラック情報、そして、当該ブロックの統計情報(under-replicated, corruptedなど)を取得することができます。
HDFS-6634 HDFS inotifyが実装されました
- inotify自体はHadoop 2.6で実装されていましたが、HDFS-7446で大きな修正が入ったので、2.7に入れています
- ApacheCon NA 2015の資料
HDFS-6252 (新機能ではないですが)旧形式のWeb UIが削除されました
YARN
YARN-2574 Reservation SystemのFairScheduler対応
- YARN-1051でCapacitySchedulerに導入された、時間単位であらかじめコンテナを確保しておく仕組みが、FairSchedulerにも対応しました
YARN-2360 FairSchedulerのWeb UIに、dynamic fair shareが表示されるようになりました
MapReduce
MAPREDUCE-5583 各ジョブで同時に実行されるMap/Reduceタスク数を制限できるようになりました
-
mapreduce.job.running.map.limit
およびmapreduce.job.running.reduce.limit
を各MapReduceジョブごとに指定することで、同時に実行されるタスク数を制限できます。
バグフィックス
Common
HADOOP-11343 暗号化において、ivの計算中にオーバーフローした場合の処理が適切でないため、オーバーフローが発生した場合に復号できない
HDFS
HDFS-7960 zombie storageが残り続ける
- あるDataNodeで古いstorageを外して新しいstorageを組み込むような場合に、古いstorageにブロックが残っているとそれがゾンビとしてNameNodeのNamespaceに残り続ける
HDFS-7611 quotaを有効にした状態でdeleteSnapshotやdeleteを実行した場合に、blockMapに情報が残ることがある。そこでNameNodeを再起動すると削除したblockはmissing blockとして判断され、セーフモードから抜け出せない。
YARN
YARN-3369 AppSchedulingInfoにおいてNullPointerExceptionが発生し、ResourceManagerが停止することがある。
YARN-2992 ZooKeeperとのセッション切れによって、ResourceManagerが停止する
YARN-2874 DelegationTokenRenewerがデッドロックする
- DelegationTokenRenewerによるTokenの更新に失敗した場合、デッドロックすることがある。この場合、新規にApplicationを実行することができない。