αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžœαŸαž‘αž·αž€αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž…αŸ‚αž€αž…αžΆαž™ Apache Hadoop 3.3

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž˜αž½αž™αž†αŸ’αž“αžΆαŸ†αž€αž“αŸ’αž›αŸ‡αž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž˜αžΌαž›αž“αž·αž’αž·αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Apache αž”αžΆαž“αž•αŸ’αžŸαž–αŸ’αžœαž•αŸ’αžŸαžΆαž™ αž€αžΆαžšαžŠαŸ„αŸ‡αž›αŸ‚αž„ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Apache Hadoop 3.3.0αžŠαŸ‚αž›αž‡αžΆαžœαŸαž‘αž·αž€αžΆαž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαŸ€αž”αž…αŸ†αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αžšαž·αž˜αžΆαžŽαž’αŸ†αžŠαŸ„αž™αž”αŸ’αžšαžΎαž‚αŸ†αžšαžΌ αž•αŸ‚αž“αž‘αžΈ/αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αžŠαŸ‚αž›αž€αŸ’αž“αž»αž„αž“αŸ„αŸ‡αž—αžΆαžšαž€αž·αž…αŸ’αž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ‚αž„αž…αŸ‚αž€αž‘αŸ…αž‡αžΆαž”αŸ†αžŽαŸ‚αž€αžαžΌαž…αŸ—αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž‡αžΆαž…αŸ’αžšαžΎαž“ αžŠαŸ‚αž›αž“αžΈαž˜αž½αž™αŸ—αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αž…αž„αŸ’αž€αŸ„αž˜αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αŸ” αž€αžΆαžšαž•αŸ’αž‘αž»αž€αžŠαŸ‚αž›αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž›αžΎ Hadoop αž’αžΆαž…αž›αžΆαžαžŸαž“αŸ’αž’αžΉαž„αžšαžΆαž”αŸ‹αž–αžΆαž“αŸ‹αžαŸ’αž“αžΆαŸ†αž„ αž“αž·αž„αž˜αžΆαž“αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™ exabytes αŸ”

Hadoop αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαž…αŸ‚αž€αž…αžΆαž™ Hadoop (HDFS) αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ MapReduce αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαžŸαž˜αŸ’αžšαž½αž›αžŠαž›αŸ‹αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αž‘αž»αž€ Hadoop αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ HBase αž“αž·αž„αž—αžΆαžŸαžΆ SQL-like Pig αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„ αžŠαŸ‚αž›αž‡αžΆαž”αŸ’αžšαž—αŸαž‘ SQL αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ MapReduce αžŸαŸ†αžŽαž½αžšαžŠαŸ‚αž›αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαŸ€αž”αž’αŸ€αž” αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αžœαŸαž‘αž·αž€αžΆ Hadoop αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ” αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžœαžΆαž™αžαž˜αŸ’αž›αŸƒαžαžΆαž˜αžΆαž“αžŸαŸ’αžαŸαžšαž—αžΆαž–αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„ αž“αž·αž„αžšαž½αž…αžšαžΆαž›αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž§αžŸαŸ’αžŸαžΆαž αž€αž˜αŸ’αž˜αŸ” Hadoop αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž™αŸ‰αžΆαž„αžŸαž€αž˜αŸ’αž˜αž“αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αž§αžŸαŸ’αžŸαžΆαž αž€αž˜αŸ’αž˜αž’αŸ†αŸ— αžŠαŸ„αž™αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžŸαž˜αžαŸ’αžαž—αžΆαž–αžŸαŸ’αžšαžŠαŸ€αž„αž‘αŸ…αž“αžΉαž„ Google Bigtable/GFS/MapReduce platform αžαžŽαŸˆαžŠαŸ‚αž› Google αž”αžΆαž“αž…αŸαž‰αž‡αžΆαž•αŸ’αž›αžΌαžœαž€αžΆαžšαŸ” αž•αŸ’αž‘αŸαžšαžŸαž·αž‘αŸ’αž’αž· Hadoop αž“αž·αž„αž‚αž˜αŸ’αžšαŸ„αž„ Apache αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž˜αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαžŠαŸ‚αž›αž‚αŸ’αžšαž”αžŠαžŽαŸ’αžαž”αŸ‹αžŠαŸ„αž™αž”αŸ‰αžΆαžαž„αŸ‹αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžš MapReduce αŸ”

Hadoop αž‡αžΆαž”αŸ‹αž…αŸ†αžŽαžΆαžαŸ‹αžαŸ’αž“αžΆαž€αŸ‹αž‘αžΈ 4 αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αžƒαŸ’αž›αžΆαŸ†αž„ Apache αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž…αŸ†αž“αž½αž“αž“αŸƒαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ‚αž›αž”αžΆαž“αž’αŸ’αžœαžΎ αž“αž·αž„αž‘αžΈαž”αŸ’αžšαžΆαŸ†αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž‘αŸ†αž αŸ† codebase (αž”αŸ’αžšαž αŸ‚αž› 500 αž›αžΆαž“αž”αž“αŸ’αž‘αžΆαžαŸ‹αž“αŸƒαž€αžΌαžŠ) αŸ” αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž Hadoop αžŸαŸ†αžαžΆαž“αŸ‹αŸ—αžšαž½αž˜αž˜αžΆαž“ Netflix (αž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαž…αŸ’αžšαžΎαž“αž‡αžΆαž„ 10 αž–αžΆαž“αŸ‹αž›αžΆαž“αž€αŸ’αž“αž»αž„αž˜αž½αž™αžαŸ’αž„αŸƒαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€), Twitter (αž…αž„αŸ’αž€αŸ„αž˜αž“αŸƒ 5 αž–αžΆαž“αŸ‹ nodes αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž…αŸ’αžšαžΎαž“αž‡αžΆαž„ zettabyte αž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ’αž“αž»αž„αž–αŸαž›αžœαŸαž›αžΆαž–αž·αž αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž…αŸ’αžšαžΎαž“αž‡αžΆαž„ 4 αž–αžΆαž“αŸ‹αž›αžΆαž“αžœαž‚αŸ’αž‚αž€αŸ’αž“αž»αž„αž˜αž½αž™αžαŸ’αž„αŸƒ), Facebook (αž…αž„αŸ’αž€αŸ„αž˜αž˜αž½αž™αŸ” αž“αŸƒ 300 αž–αžΆαž“αŸ‹ nodes αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž…αŸ’αžšαžΎαž“αž‡αžΆαž„ 4 petabytes αž“αž·αž„αž€αŸ†αž–αž»αž„αž€αžΎαž“αž‘αžΎαž„αž‡αžΆαžšαŸ€αž„αžšαžΆαž›αŸ‹αžαŸ’αž„αŸƒαžŠαŸ„αž™ XNUMX PB αž€αŸ’αž“αž»αž„αž˜αž½αž™αžαŸ’αž„αŸƒ) αŸ”

αžŸαŸ†αžαžΆαž“αŸ‹ αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αž“αŸ…αž€αŸ’αž“αž»αž„ Apache Hadoop 3.3:

  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαŸαž‘αž·αž€αžΆαž•αŸ’αž’αŸ‚αž€αž›αžΎαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ ARM αŸ”
  • αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž‘αž˜αŸ’αžšαž„αŸ‹ αž”αŸ’αžšαžΌαžαžΌαž”αŸŠαžΌαž αŸ’αžœ (αž”αŸ’αžšαžΌαžαžΌαž€αžΌαž›αžŸαžαž·αž”αžŽαŸ’αžŠαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“) αžŠαŸ‚αž›αž”αŸ’αžšαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ€αžšαŸ€αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžŠαžΎαž˜αŸ’αž”αžΈαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ 3.7.1 αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹αž“αŸƒαžœαžŠαŸ’αžαž‡αžΈαžœαž·αžαž“αŸƒαžŸαžΆαžαžΆ protobuf-2.5.0 αŸ”
  • αžŸαž˜αžαŸ’αžαž—αžΆαž–αžšαž”αžŸαŸ‹αž§αž”αž€αžšαžŽαŸαž—αŸ’αž‡αžΆαž”αŸ‹ S3A αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž„αŸ’αžšαžΈαž€αŸ– αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αžŠαŸ„αž™αž”αŸ’αžšαžΎαžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜ (αž“αž·αž˜αž·αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαž”αŸ’αžšαžαž·αž—αžΌ) αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž”αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž›αŸαžαž€αžΌαžŠ 404 αž”αž„αŸ’αž€αžΎαž“αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž S3guard αž“αž·αž„αž”αž„αŸ’αž€αžΎαž“αž—αžΆαž–αž‡αžΏαž‡αžΆαž€αŸ‹αž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ”
  • αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž›αŸƒαžαž˜αŸ’αžšαžΌαžœαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžš ABFS αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŠαžΎαž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžš Tencent Cloud COS αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αžœαžαŸ’αžαž» COS αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž–αŸαž‰αž›αŸαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Java 11 αŸ”
  • αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž HDFS RBF (αžŸαž αž–αŸαž“αŸ’αž’αž•αŸ’αž’αŸ‚αž€αž›αžΎαžšαŸ‰αŸ„αžαž‘αŸαžš) αž˜αžΆαž“αžŸαŸ’αžαŸαžšαž—αžΆαž–αŸ” αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ… HDFS RouterαŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ DNS Resolution αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αžαž·αžαž·αž‡αž“αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαžΆαž˜αžšαž™αŸˆ DNS αžŠαŸ„αž™αžˆαŸ’αž˜αŸ„αŸ‡αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž’αŸ’αžœαžΎαžŠαŸ„αž™αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžšαžΆαž™αž”αž‰αŸ’αž‡αžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαž›αžœαž·αž—αžΆαž‚αž“αŸƒαž€αžΆαžšαž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž’αž»αž„αž±αž€αžΆαžŸαž“αž·αž™αž˜ αžαžΆαž˜αžšαž™αŸˆαž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž€αžŽαŸ’αžαžΆαž› (ResourceManager) αžšαž½αž˜αž‘αžΆαŸ†αž„αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ„αž™αž‚αž·αžαž‚αžΌαžšαž–αžΈαž”αž“αŸ’αž‘αž»αž€αžšαž”αžŸαŸ‹αžαŸ’αž“αžΆαŸ†αž„αž“αžΈαž˜αž½αž™αŸ—αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž”αž‰αŸ’αž‡αžΈαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ YARN (Yet Another Resource Negotiator) αžŠαŸ‚αž›αž’αžΆαž…αžŸαŸ’αžœαŸ‚αž„αžšαž€αž”αžΆαž“αŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹