Apache Hadoop - Apache Hadoop

Apache Hadoop
Hadoop логотипі new.svg
Түпнұсқа автор (лар)Даг кесу, Майк Кафарелла
ӘзірлеушілерApache Software Foundation
Бастапқы шығарылым1 сәуір, 2006 ж; 14 жыл бұрын (2006-04-01)[1]
Тұрақты шығарылым
2.7.х2.7.7 / 31 мамыр 2018 ж; 2 жыл бұрын (2018-05-31)[2]
2.8.х2.8.5 / 15 қыркүйек 2018 ж; 2 жыл бұрын (2018-09-15)[2]
2.9.х2.9.2 / 9 қараша 2018 ж; 2 жыл бұрын (2018-11-09)[2]
2.10.х2.10.1 / 21 қыркүйек 2020 ж; 2 ай бұрын (2020-09-21)[2]
3.1.х3.1.4 / 3 тамыз 2020; 3 ай бұрын (2020-08-03)[2]
3.2.х3.2.1 / 22 қыркүйек 2019 ж; 14 ай бұрын (2019-09-22)[2]
3.3.х3.3.0 / 14 шілде 2020 ж; 4 ай бұрын (2020-07-14)[2]
РепозиторийHadoop репозиторийі
ЖазылғанJava
Операциялық жүйеКросс-платформа
ТүріТаратылған файлдық жүйе
ЛицензияApache лицензиясы 2.0
Веб-сайтhadoop.apache.org Мұны Wikidata-да өңдеңіз

Apache Hadoop (/сағəˈг.б/) жиынтығы ашық көзі көптеген компьютерлер желісін пайдаланудың жеңілдететін бағдарламалық жасақтама, мәліметтер мен есептеулердің үлкен көлеміне байланысты мәселелерді шешуге мүмкіндік береді. Бұл а бағдарламалық жасақтама үшін үлестірілген сақтау және өңдеу үлкен деректер пайдаланып MapReduce бағдарламалау моделі. Hadoop бастапқыда арналған компьютерлік кластерлер бастап салынған тауарлық жабдық, бұл әлі күнге дейін кең таралған.[3] Содан бері ол жоғары деңгейлі жабдықтың кластерлерінде қолдануды тапты.[4][5] Hadoop-тегі барлық модульдер аппараттық ақаулар жиі кездесетін құбылыстар болып табылады және оларды автоматты түрде фрейммен өңдеу керек деген негізгі болжаммен жасалған.[6]

Apache Hadoop ядросы Hadoop Distributed File System (HDFS) деп аталатын сақтау бөлігінен және MapReduce бағдарламалау моделі болып табылатын өңдеуден тұрады. Hadoop файлдарды үлкен блоктарға бөліп, оларды кластердегі түйіндер бойынша таратады. Содан кейін ол ауысады пакеттік код деректерді параллель өңдеуге арналған түйіндерге. Бұл тәсіл артықшылықты пайдаланады деректер орны,[7] мұнда түйіндер қол жетімді деректерді басқарады. Бұл деректер жиынтығының болуына мүмкіндік береді өңделген әдеттегіден гөрі жылдам және тиімді суперкомпьютер архитектурасы бұл а параллель файлдық жүйе мұнда есептеу және деректер жоғары жылдамдықты желі арқылы таратылады.[8][9]

Apache Hadoop базалық базасы келесі модульдерден тұрады:

  • Hadoop жалпы - басқа Hadoop модульдеріне қажет кітапханалар мен утилиталардан тұрады;
  • Hadoop таратылған файлдық жүйесі (HDFS) - кластер бойынша өте жоғары жиынтық өткізу қабілеттілігін қамтамасыз ететін, тауарлық машиналарда деректерді сақтайтын таратылған файлдық жүйе;
  • Hadoop YARN - (2012 жылы енгізілген) кластерлердегі есептеу ресурстарын басқаруға және оларды қолданушылардың қосымшаларын жоспарлау үшін пайдалануға жауапты платформа;[10][11]
  • Hadoop MapReduce - деректерді ауқымды өңдеуге арналған MapReduce бағдарламалау моделін енгізу.
  • Hadoop озоны - (2020 жылы енгізілген) Hadoop үшін объектілер дүкені

Термин Hadoop көбінесе негізгі модульдер үшін де, қосалқы модульдер үшін де қолданылады экожүйе,[12] немесе Hadoop-тің үстінде немесе жанында орнатылатын қосымша бағдарламалық жасақтама жиынтығы Apache Pig, Apache Hive, Apache HBase, Apache Phoenix, Apache Spark, Apache ZooKeeper, Cloudera Impala, Apache Flume, Apache Sqoop, Apache Oozie, және Apache дауылы.[13]

Apache Hadoop-тың MapReduce және HDFS компоненттері шабыттандырды Google қағаздар қосулы MapReduce және Google File System.[14]

Hadoop фреймворкінің өзі негізінен Java бағдарламалау тілі, кейбір жергілікті коды бар C және пәрмен жолы ретінде жазылған утилиталар сценарийлер. MapReduce Java коды кең таралғанымен, кез-келген бағдарламалау тілін Hadoop Streaming көмегімен картаны жүзеге асыру және қолданушы бағдарламасының бөліктерін азайту үшін пайдалануға болады.[15] Hadoop экожүйесіндегі басқа жобалар бай қолданушы интерфейстерін көрсетеді.

Тарих

Оның құрылтайшыларының айтуынша, Даг кесу және Майк Кафарелла, Hadoop генезисі - 2003 жылдың қазан айында жарияланған Google File System құжаты.[16][17] Бұл қағаз Google-дан тағы біреуін тудырды - «MapReduce: Ірі кластерлерде деректерді өңдеудің оңайлатылған түрі».[18] Даму басталды Apache Nutch жоба, бірақ 2006 жылдың қаңтарында жаңа Hadoop кіші жобасына көшірілді.[19] Жұмыс істеген Даг Катинг Yahoo! сол кезде оны ұлының ойыншық пілінің атымен атаған.[20] Нотчтан шыққан бастапқы код HDFS үшін шамамен 5000 жолдан және MapReduce үшін шамамен 6000 жолдан тұрды.

2006 жылдың наурыз айында Оуэн О'Мэлли Hadoop жобасына бірінші болып қосылды;[21] Hadoop 0.1.0 2006 жылдың сәуірінде шығарылды.[22] Ол жобаға енгізілген жарналар арқылы дами береді.[23] Hadoop таратылған файлдық жүйесінің алғашқы жобалық құжатын Дхруба Бортакур 2007 жылы жазған.[24]

Сәулет

Hadoop мыналардан тұрады Hadoop жалпы пакет, файлдық жүйені және операциялық жүйенің абстракциясын, MapReduce қозғалтқышын ұсынады (MapReduce / MR1 немесе YARN / MR2)[25] және Hadoop таратылған файлдық жүйесі (HDFS). Hadoop жалпы пакеті құрамында Java архиві (JAR) Hadoop іске қосу үшін қажетті файлдар мен сценарийлер.

Жұмысты тиімді жоспарлау үшін Hadoop-мен үйлесімді әрбір файлдық жүйе орналасу туралы хабардарлықты қамтамасыз етуі керек, бұл тіректің аты, дәлірек айтсақ, жұмысшы түйіні орналасқан желілік қосқыш. Hadoop қосымшалары бұл ақпаратты деректер орналасқан түйінде кодты орындау үшін қолдана алады, ал олай болмаған жағдайда магистральдық трафикті азайту үшін сол тіректе / қосқышта болады. HDFS бұл әдісті бірнеше тіректерде деректердің артықтығына көшірмелеу кезінде қолданады. Бұл тәсіл тіректің электр қуатының өшуі немесе ажыратқыштың істен шығуын азайтады; егер осы кез-келген аппараттық ақаулар орын алса, деректер қол жетімді болып қалады.[26]

Hadoop кластері
Көп түйінді Hadoop кластері

Шағын Hadoop кластері бір мастер мен бірнеше жұмысшы түйіндерін қамтиды. Негізгі түйін Job Tracker, Task Tracker, NameNode және DataNode тұрады. Құл немесе жұмысшы түйіні тек DataNode және TaskTracker ретінде жұмыс істейді, бірақ тек жұмысшы түйіндерінде және тек есептеулерде болуы мүмкін. Олар әдетте стандартты емес қосымшаларда ғана қолданылады.[27]

Hadoop талап етеді Java Runtime Environment (JRE) 1,6 немесе одан жоғары. Стандартты іске қосу және тоқтату сценарийлері мұны қажет етеді Қауіпсіз қабық (SSH) кластердегі түйіндер арасында орнатылады.[28]

Үлкен кластерде HDFS түйіндері файлдық жүйенің индексін орналастыру үшін арнайы NameNode сервері арқылы басқарылады және аты-жөнінің жад құрылымдарының суреттерін жасай алатын екінші NameNode, осылайша файлдық жүйенің бүлінуіне және деректердің жоғалуына жол бермейді. Сол сияқты, дербес JobTracker сервері түйіндер бойынша жұмыс жоспарлауды басқара алады. Hadoop MapReduce баламалы файлдық жүйемен қолданылған кезде, NameNode, екінші NameNode және HDFS-тің DataNode архитектурасы файлдық жүйеге тән эквиваленттермен ауыстырылады.

Файлдық жүйелер

Hadoop таратылған файлдық жүйе

The Hadoop таратылған файлдық жүйе (HDFS) - бұл үлестірілетін, масштабталатын және портативті файлдық жүйе Java-да Hadoop жақтауы үшін жазылған. Кейбіреулер мұны а деп санайды деректер дүкені болмауына байланысты POSIX сәйкестік,[29] бірақ ол қабықша командаларын және Java бағдарламалық интерфейсін (API) ұсынады әдістер басқа файлдық жүйелерге ұқсас.[30] Hadoop HDFS және MapReduce болып бөлінеді. HDFS деректерді сақтау үшін, ал MapReduce деректерді өңдеу үшін қолданылады, HDFS-те келесі бес қызмет бар:

  1. Түйін атауы
  2. Қосымша атау түйіні
  3. Жұмыс трекері
  4. Деректер торабы
  5. Тапсырманы қадағалау

Үздік үштік - мастер-қызметтер / демондар / түйіндер, ал төменгі екіншісі - құлдарға қызмет көрсету. Master Services бір-бірімен байланыс жасай алады және сол сияқты құл қызметтері де бір-бірімен байланыс жасай алады. Name Node - негізгі түйін, ал Data түйіні - оған сәйкес Slave түйіні және бір-бірімен сөйлесе алады.

Түйін атауы: HDFS негізгі түйін деп аталатын бір ғана Түйіннен тұрады. Негізгі түйін файлдарды бақылай алады, файлдық жүйені басқара алады және барлық сақталған деректердің метадеректерін қамтиды. Атап айтқанда, атау түйінінде блоктар саны, мәліметтер сақталатын деректер түйінінің орналасуы, көшірмелер сақталатын жерлер және басқа да мәліметтер бар. Атау түйіні клиентпен тікелей байланыста болады.

Деректер торабы: Деректер түйіні ондағы деректерді блок ретінде сақтайды. Бұл құл түйіні деп те аталады және ол нақты деректерді клиенттің оқуы мен жазуы үшін жауап беретін HDFS жүйесінде сақтайды. Бұл құлдар демоны. Кез-келген деректер түйіні 3 секунд сайын Name түйініне Heartbeat хабарламасын жібереді және оның тірі екенін білдіреді. Осылайша, Node түйіні 2 минут ішінде деректер түйінінен жүрек соғуын қабылдамаған кезде, бұл деректер түйінін өлі ретінде қабылдайды және басқа деректер түйінінде блоктың қайталану процесін бастайды.

Қосымша атау түйіні: Бұл тек файлдық жүйенің метамәліметтерінің бақылау нүктелерінде қамқорлық жасау керек, олар Атау түйінінде орналасқан. Бұл сондай-ақ бақылау нүктесі деп аталады. Бұл Name түйініне арналған көмекші түйін.

Жұмыс трекері: Job Tracker клиенттен Map Reduce орындалуын сұрайды. Жұмыс трекері Name түйінімен сөйлесіп, өңдеу кезінде қолданылатын деректердің орналасуы туралы біледі. Name түйіні қажетті өңдеу деректерінің метадеректерімен жауап береді.

Тапсырманы қадағалау: Бұл Job Tracker-ге арналған құл түйіні және ол тапсырманы Job Tracker-ден алады. Ол Job Tracker-ден код алады. Task Tracker кодты алады және файлға қолданылады. Бұл кодты файлға қолдану процесі Mapper деп аталады.[31]

Hadoop кластерінде номиналды түрде жалғыз аталым плюс деректер кодтарының кластері бар қысқарту атауына арналған опциялар оның сыншылдығына байланысты қол жетімді. Әрбір деректер торабы HDFS үшін арнайы блоктық хаттаманы қолдана отырып, желідегі мәліметтер блогын қамтамасыз етеді. Файлдық жүйе қолданады TCP / IP розеткалар байланыс үшін. Клиенттер пайдаланады қашықтағы процедуралар (RPC) бір-бірімен сөйлесу.

HDFS үлкен файлдарды сақтайды (әдетте гигабайттан терабайт аралығында)[32]) бірнеше машиналар арқылы. Ол сенімділікке қол жеткізеді қайталау бірнеше хосттар бойынша деректер, демек теориялық тұрғыдан қажет емес тәуелсіз дискілер массиві (RAID) хосттарда сақтау (бірақ енгізу-шығару (енгізу-шығару) өнімділігін арттыру үшін кейбір RAID конфигурациясы әлі де пайдалы). Әдепкі репликация мәні бойынша 3, деректер үш түйінде сақталады: екеуі бір тіректе, ал екіншісі басқа тіректе. Деректер түйіндері бір-бірімен деректерді теңгерімдеу, көшірмелерді айналдыру және деректердің репликациясын жоғары деңгейде ұстау үшін сөйлесе алады. HDFS POSIX-пен толықтай сәйкес келмейді, өйткені POSIX файлдық жүйесіне қойылатын талаптар Hadoop қосымшасының мақсаттық мақсаттарынан ерекшеленеді. Толық POSIX талаптарына сәйкес келетін файлдық жүйенің жоқтығы деректер үшін өнімділікті жоғарылатады өткізу қабілеті және Append сияқты POSIX емес операцияларды қолдау.[33]

2012 жылдың мамырында HDFS-ке қол жетімділіктің жоғары мүмкіндіктері қосылды,[34] NameNode деп аталатын негізгі метадеректер серверінің сақтық көшірмеге қолмен жіберілуіне мүмкіндік беру. Жоба автоматты түрде дами бастады сәтсіздіктер.

HDFS файлдық жүйесі деп аталатынды қамтиды екінші есім, негізгі атауы желіден тыс болғанда, кейбіреулер резервтік атау коды деп қате түсіндіруі мүмкін жалған термин. Шын мәнінде, қайталама атау негізгі атау торабымен жүйелі түрде байланысып, негізгі атаудың каталог ақпараттарының суреттерін жасайды, содан кейін жүйе жергілікті немесе қашықтағы каталогтарға сақтайды. Бұл тексерілген кескіндер файл-жүйелік әрекеттер журналын толығымен қайта ойнатпастан сәтсіз негізгі атауды қайта қосу үшін, содан кейін заманауи каталог құрылымын құру үшін журналды редакциялау үшін қолданыла алады. Атау коды метамәліметтерді сақтау мен басқарудың жалғыз нүктесі болғандықтан, ол көптеген файлдарды, әсіресе көптеген кішігірім файлдарды қолдауға арналған жолға айналуы мүмкін. HDFS Федерациясы, жаңа қосымша, бұл проблеманы белгілі бір дәрежеде жекелеген атаулармен қызмет ететін бірнеше аттар кеңістігіне мүмкіндік беру арқылы шешуге бағытталған. Сондай-ақ, HDFS-те кейбір мәселелер бар, мысалы, кішігірім файлдық ақаулар, масштабталу проблемалары, бір рет істен шығу нүктесі (SPoF) және үлкен метамәліметтер сұраныстарындағы кедергілер. HDFS-ті пайдаланудың бір артықшылығы - бұл жұмыс трекері мен тапсырманы бақылаушы арасындағы деректерді білу. Тапсырманы қадағалаушы кестенің кестесін жасайды немесе деректердің орналасуы туралы хабардар бола отырып, тапсырмаларды бақылаушыларға қысқартады. Мысалы: егер А түйінінде мәліметтер бар болса (а, b, c), ал X түйінде мәліметтер (х, у, z) болса, тапсырманы қадағалаушы А түйінін картаны орындау немесе (a, b, c) және түйін бойынша тапсырмаларды азайтуды жоспарлайды X-ге картаны орындау немесе (x, y, z) бойынша тапсырмаларды азайту жоспарланған. Бұл желі арқылы өтетін трафиктің мөлшерін азайтады және деректердің қажетсіз берілуіне жол бермейді. Hadoop басқа файлдық жүйелерде қолданылған кезде, бұл артықшылық әрқашан бола бермейді. Бұл деректерді көп қажет ететін жұмыстарда көрсетілгендей, жұмысты аяқтау уақытына айтарлықтай әсер етуі мүмкін.[35]

HDFS негізінен өзгермейтін файлдарға арналған және бір уақытта жазу операцияларын қажет ететін жүйелер үшін сәйкес келмеуі мүмкін.[33]

HDFS болуы мүмкін орнатылған тікелей а Пайдаланушылар кеңістігіндегі файлдар жүйесі (ФИЗЕС) виртуалды файлдық жүйе қосулы Linux және басқалары Unix жүйелер.

Файлға жергілікті Java API арқылы қол жеткізуге болады Үнемдеу API (клиентті бірқатар тілдерде жасайды, мысалы C ++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C #, Какао, Smalltalk және OCaml ), командалық интерфейс, HDFS-UI веб-қосымша аяқталды HTTP немесе үшінші тараптың желілік клиенттік кітапханалары арқылы.[36]

HDFS әр түрлі аппараттық платформаларда тасымалдануға және әртүрлі операциялық жүйелермен үйлесімділікке арналған. HDFS дизайны портативтіліктің шектеулерін ұсынады, соның салдарынан кейбір өнімділікке тосқауылдар туындайды, өйткені Java бағдарламасында HDFS жұмыс істейтін платформаға ғана тән мүмкіндіктер қолданыла алмайды.[37] Кәсіпорын деңгейіндегі инфрақұрылымға кеңінен интеграциялануының арқасында, HDFS өнімділігін масштабта бақылау барған сайын маңызды мәселеге айналды. Түпкілікті өнімділікті бақылау үшін деректер кодтары, атау кодтары және негізгі амалдық жүйеден көрсеткіштерді бақылау қажет.[38] Қазіргі уақытта HDFS өнімділігін бақылау үшін бірнеше бақылау платформалары бар, соның ішінде Hortonworks, Cloudera, және Datadog.

Басқа файлдық жүйелер

Hadoop негізгі операциялық жүйеге орнатылатын кез келген таратылған файлдық жүйемен тікелей жұмыс істейді файл: // URL; дегенмен, бұл өзіндік құны бар - елді мекенді жоғалту. Желілік трафикті азайту үшін Hadoop қандай серверлердің мәліметтерге жақын екенін, Hadoop-қа тән файлдық жүйенің көпірлері бере алатын ақпаратты білуі керек.

2011 жылдың мамырында Apache Hadoop жиынтығымен біріктірілген қолдау көрсетілетін файлдық жүйелердің тізімі:

  • HDFS: Hadoop-тің өзіндік тіректерді білетін файлдық жүйесі.[39] Бұл ондаған петабайт көлемін ұлғайтуға арналған және негізгі файлдық жүйелердің жоғарғы жағында жұмыс істейді операциялық жүйелер.
  • Apache Hadoop озоны: HDFS-пен үйлесімді объектілер қоймасы, миллиардтаған кішкентай файлдарға арналған.
  • FTP файлдық жүйе: Бұл барлық деректерді қашықтан қол жетімді FTP серверлерінде сақтайды.
  • Amazon S3 (қарапайым сақтау қызметі) нысанды сақтау: бұл орналастырылған кластерлерге арналған Amazon Elastic Compute Cloud сұраныс бойынша сервер инфрақұрылымы. Бұл файлдық жүйеде ешқандай ескертпе жоқ, өйткені барлығы қашықтан.
  • Windows Azure Storage Blobs (WASB) файлдық жүйесі: бұл Hadoop таралуына Azure блогтарындағы деректерге кластерге тұрақты түрде жылжытпай қол жеткізуге мүмкіндік беретін HDFS кеңейтімі.

Үшінші тарап файлдық жүйелерінің көпірлері де жазылған, олардың ешқайсысы қазір Hadoop таратылымында жоқ. Алайда, Hadoop-тің кейбір коммерциялық таратылымдары баламалы файлдық жүйемен әдепкі ретінде жіберіледі - нақты IBM және MapR.

  • 2009 жылы, IBM Hadoop-тың үстінен жүгіруді талқылады IBM жалпы параллель файлдық жүйесі.[40] Бастапқы код 2009 жылдың қазан айында жарияланған.[41]
  • 2010 жылдың сәуірінде Parascale Hadoop-ты Parascale файлдық жүйесіне қарсы іске қосу үшін бастапқы кодты жариялады.[42]
  • 2010 жылдың сәуірінде Appistry өзінің CloudIQ Storage өнімімен пайдалану үшін Hadoop файлдық жүйесінің драйверін шығарды.[43]
  • 2010 жылдың маусымында, HP орналасқан жер туралы хабардар болды IBRIX Fusion файлдық жүйенің драйвері.[44]
  • 2011 жылдың мамырында, MapR Technologies Inc. Hadoop үшін балама файлдық жүйенің бар екендігін жариялады, MapR FS, бұл HDFS файлдық жүйесін толық кездейсоқ қол жетімді оқу / жазу файлдық жүйесімен алмастырды.

JobTracker және TaskTracker: MapReduce қозғалтқышы

Файлдық жүйелерде MapReduce Engine орналасқан, ол бір жүйеден тұрады JobTrackerклиенттік қосымшалар MapReduce тапсырыстарын жіберетін. JobTracker жұмысты қол жетімді етуге мәжбүр етеді TaskTracker жұмысты деректерге мүмкіндігінше жақындатуға тырысатын кластердегі түйіндер. Тіректі ескертетін файлдық жүйенің көмегімен JobTracker қай түйінде мәліметтер барын және басқа қай машиналар жақын тұрғанын біледі. Егер жұмысты деректер орналасқан нақты түйінде орналастыру мүмкін болмаса, басымдық сол тіректегі түйіндерге беріледі. Бұл магистральдық негізгі желідегі желілік трафикті азайтады. Егер TaskTracker сәтсіз аяқталса немесе уақыт аяқталса, жұмыстың сол бөлігі қайта жоспарланады. Әр түйіндегі TaskTracker бөлек шығады Java виртуалды машинасы (JVM) процесі, егер жұмыс істеп тұрған жұмыс оның JVM-ін бұзса, TaskTracker-дің өзі істен шығады. Оның күйін тексеру үшін TaskTracker-ден JobTracker-ге бірнеше минут сайын жүрек соғысы жіберіледі. Job Tracker және TaskTracker мәртебесі мен ақпаратына байланысты Джетти және веб-шолғыштан көруге болады.

Бұл тәсілдің белгілі шектеулері:

  1. TaskTrackers-ке жұмысты бөлу өте қарапайым. Әрбір TaskTracker-де бірнеше қол жетімді слоттар (мысалы, «4 слот»). Әрбір белсенді карта немесе қысқарту тапсырмасы бір слотты алады. Job Tracker қол жетімді слотпен деректерге жақын трекерге жұмысты бөледі. Ағымды қарастыру жоқ жүйенің жүктемесі бөлінген машинаның, демек оның нақты қол жетімділігі.
  2. Егер бір TaskTracker өте баяу болса, онда MapReduce тапсырмасын толығымен кешіктіруі мүмкін - әсіресе ең баяу тапсырманы күтуге болатын аяғына дейін. Алыпсатарлық орындалу мүмкіндігі қосылған кезде, бір тапсырманы бірнеше құл түйіндерінде орындауға болады.

Жоспарлау

Әдепкі бойынша Hadoop қолданады ФИФО жоспарлау және жұмыс кезегінен жұмыс кестесін жоспарлау үшін қосымша 5 жоспарлау басымдылығы.[45] 0.19 нұсқасында жұмыс жоспарлағышы JobTracker-ден қайта өңделді, сонымен қатар балама жоспарлағышты пайдалану мүмкіндігі қосылды (мысалы, Әділ жоспарлаушы немесе Сыйымдылықты жоспарлаушы, келесі сипатталған).[46]

Әділ жоспарлаушы

Жәрмеңке жоспарлағышын әзірледі Facebook.[47] Жәрмеңке жоспарлаушының мақсаты - шағын жұмыс орындары мен жұмыс орындарына жылдам жауап беру уақытын қамтамасыз ету Қызмет сапасы (QoS) өндірістік жұмыс орындарына. Жәрмеңке жоспарлаушының үш негізгі тұжырымдамасы бар.[48]

  1. Жұмыс орындары топтастырылған бассейндер.
  2. Әр бассейнге кепілдендірілген минималды үлес беріледі.
  3. Артық қуат жұмыс орындары арасында бөлінеді.

Әдепкі бойынша, санаттарға жатпайтын жұмыс стандартты пулға түседі. Бассейндер карта слоттарының минималды санын көрсетуге, слоттарды азайтуға, сондай-ақ жұмыс істеп тұрған жұмыс орындарының санына шек қоюға міндетті.

Сыйымдылықты жоспарлаушы

Қуаттылықты жоспарлауды Yahoo компаниясы жасаған. Сыйымдылықты жоспарлаушы әділ жоспарлаушыға ұқсас бірнеше функцияларды қолдайды.[49]

  1. Кезектерге жалпы ресурстар сыйымдылығының бір бөлігі бөлінеді.
  2. Тегін ресурстар кезекке олардың жалпы сыйымдылығынан тыс бөлінеді.
  3. Кезекте жоғары басымдылыққа ие жұмыс кезектің ресурстарына қол жеткізе алады.

Жоқ алдын-ала ескерту бір рет жұмыс жүріп жатыр.

Hadoop 1 мен Hadoop 2 арасындағы айырмашылық (YARN)

Hadoop 1 мен Hadoop 2 арасындағы ең үлкен айырмашылық - Hadoop-тың бірінші нұсқасында MapReduce қозғалтқышын ауыстырған YARN (Yet Another Resource Negotiator) қосылуы.YARN ресурстарды әртүрлі қосымшаларға тиімді бөлуге тырысады. Ол екі түрлі міндеттерді шешетін екі димонды іске қосады: ресурстар менеджері, қосымшаларға жұмысты қадағалауды және ресурстарды бөлуді жүзеге асыратын қолдану шебері, орындалу барысын бақылайды.

Hadoop 2 мен Hadoop 3 арасындағы айырмашылық

Hadoop 3. ұсынған маңызды мүмкіндіктер бар. Мысалы, жалғыз атауы Hadoop 2-де Hadoop 3 бірнеше атау түйіндеріне ие болады, бұл ақаулықтың жалғыз нүктесін шешеді.

Hadoop 3-те жұмыс істейтін контейнерлер бар Докер, бұл қосымшаны әзірлеуге кететін уақытты азайтады.

Ең үлкен өзгертулердің бірі - Hadoop 3 сақтаудың үстіңгі қабатын азайтады кодты өшіру.

Сондай-ақ, Hadoop 3 кластерде GPU аппаратурасын пайдалануға рұқсат береді, бұл Hadoop кластері бойынша терең білім алгоритмдерін орындау үшін өте пайдалы.[50]

Басқа қосымшалар

HDFS MapReduce жұмысымен шектелмейді. Оны басқа қосымшалар үшін қолдануға болады, олардың көпшілігі Apache-де әзірленуде. Тізімге HBase мәліметтер базасы, Apache Mahout машиналық оқыту жүйесі және Apache Hive Деректер қоймасы жүйе. Hadoop теориялық тұрғыдан нақты уақыттан гөрі топтамаға бағытталған, деректерді көп қажет ететін және деректерді параллель өңдеуден пайда алатын кез-келген жұмыс үшін пайдаланылуы мүмкін. Сондай-ақ, оны нақты уақыттағы жүйені толықтыру үшін пайдалануға болады, мысалы лямбда сәулеті, Apache Storm, Flink және Spark Streaming.[51]

2009 жылдың қазан айындағы жағдай бойынша, Hadoop коммерциялық қосымшалары[52] кіреді: -

  • журналға және / немесе әр түрлі түрдегі кликстимдік талдау
  • маркетингтік талдау
  • машиналық оқыту және / немесе күрделі деректерді өндіру
  • кескінді өңдеу
  • XML хабарламаларын өңдеу
  • веб-іздеу және / немесе мәтінді өңдеу
  • реляциялық / кестелік деректерді қосқанда жалпы мұрағаттау, мысалы. сәйкестік үшін

Көрнекті пайдалану жағдайлары

2008 жылы 19 ақпанда Yahoo! Inc. олар әлемдегі ең үлкен Hadoop өндірістік қосымшасы деп мәлімдеді. Yahoo! Іздеу Веб-карта - бұл Hadoop қосымшасы, ол Linux кластерінде 10000-нан асады ядролар және әрбір Yahoo-да қолданылған деректерді шығарды! веб-іздеу сұрауы.[53] Yahoo! сайтында бірнеше Hadoop кластері бар. және ешқандай HDFS файлдық жүйелері немесе MapReduce тапсырмалары бірнеше деректер орталықтарында бөлінбейді. Кез-келген Hadoop кластері түйіні Linux кескінін, соның ішінде Hadoop таралуын жүктейді. Кластерлер жұмысына Yahoo! үшін индекстік есептеулер кіретіні белгілі. іздеу жүйесі. 2009 жылдың маусымында Yahoo! өзінің Hadoop нұсқасының бастапқы кодын ашық бастапқы коғамға қол жетімді етті.[54]

2010 жылы Facebook әлемдегі ең үлкен Hadoop кластерін 21-ге ие деп мәлімдеді PB сақтау.[55] 2012 жылдың маусымында олар деректер 100 ПБ-ға дейін артқанын жариялады[56] және сол жылдың соңында олар деректер тәулігіне шамамен жарты ПБ-ға өсетіндігін мәлімдеді.[57]

2013 жылғы жағдай бойынша, Hadoop асырап алу кең таралды: Fortune 50 компанияларының жартысынан көбі Hadoop қолданды.[58]

Бұлтта хостинг

Hadoop дәстүрлі жергілікті орталықта, сондай-ақ орналастырылуы мүмкін бұлт.[59] Бұлт ұйымдарға Hadoop-ті қондырғыға немесе арнайы орнату тәжірибесіне ие болмай-ақ орналастыруға мүмкіндік береді.[60]

Коммерциялық қолдау

Бірқатар компаниялар Hadoop-ты коммерциялық жүзеге асыруды немесе қолдауды ұсынады.[61]

Брендинг

Apache Software Foundation тек Apache Hadoop Project ресми шығарған бағдарламалық жасақтаманы шақыруға болатындығын мәлімдеді Apache Hadoop немесе Apache Hadoop таралуы.[62] Hadoop әзірлеушілер қауымдастығы ішінде басқа сатушылардың өнімдері мен туындыларының атауы және «үйлесімді» термині біршама қайшылықты.[63]

Қағаздар

Кейбір құжаттар Hadoop-тың тууы мен өсуіне және үлкен деректерді өңдеуге әсер етті. Олардың кейбіреулері:

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ «Hadoop шығарылымдары». apache.org. Apache Software Foundation. Алынған 28 сәуір 2019.
  2. ^ а б c г. e f ж «Apache Hadoop». Алынған 7 қыркүйек 2019.
  3. ^ Судья, Петр (22 қазан 2012). «Даг кесу: үлкен деректер көпіршік емес». кремний.ком.. Алынған 11 наурыз 2018.
  4. ^ Вуди, Алекс (12 мамыр 2014). «Неліктен Hadoop IBM Power-де». datanami.com. Датанами. Алынған 11 наурыз 2018.
  5. ^ Хемсот, Николь (15 қазан 2014). «Cray Hadoop-ты HPC әуе кеңістігіне ұшырды». hpcwire.com. Алынған 11 наурыз 2018.
  6. ^ «Apache Hadoop-қа қош келдіңіз!». hadoop.apache.org. Алынған 25 тамыз 2016.
  7. ^ «Hadoop таратылған файлдық жүйесі (HDFS) дегеніміз не?». ibm.com. IBM. Алынған 30 қазан 2014.
  8. ^ Малак, Майкл (19 қыркүйек 2014). «Мәліметтердің орналасуы: HPC қарсы Hadoop және Spark». datascienceassn.org. Деректер ғылымы қауымдастығы. Алынған 30 қазан 2014.
  9. ^ Ванг, Яндун; Голдстоун, Робин; Ю, Вэйкуан; Ванг, Тенг (қазан 2014). «HPC жүйелеріндегі жады-резидент MapReduce сипаттамалары және оңтайландыру». 2014 IEEE 28-ші Халықаралық параллельді және үлестірілген өңдеу симпозиумы. IEEE. 799–808 бб. дои:10.1109 / IPDPS.2014.87. ISBN  978-1-4799-3800-1.
  10. ^ «Ресурс (Apache Hadoop Main 2.5.1 API)». apache.org. Apache Software Foundation. 12 қыркүйек 2014. мұрағатталған түпнұсқа 6 қазан 2014 ж. Алынған 30 қыркүйек 2014.
  11. ^ Мэрти, Арун (15 тамыз 2012). «Apache Hadoop YARN - ұғымдар мен қолданбалар». hortonworks.com. Hortonworks. Алынған 30 қыркүйек 2014.
  12. ^ «Hadoop экожүйесінде үлкен деректерді қолдануды дамыту үшін үздіксіздік $ 10 миллион серия жинайды». Finance.yahoo.com. Маркетинг. 14 қараша 2012. Алынған 30 қазан 2014.
  13. ^ «Hadoop-қа қатысты жобалар». Hadoop.apache.org. Алынған 17 қазан 2013.
  14. ^ Деректер туралы ғылым және үлкен деректерді талдау: деректерді табу, талдау, визуалдау және ұсыну. Джон Вили және ұлдары. 19 желтоқсан 2014 ж. 300. ISBN  9781118876220. Алынған 29 қаңтар 2015.
  15. ^ «[nlpatumd] Хадуп пен Перлмен болған оқиғалар». Mail-archive.com. 2 мамыр 2010 ж. Алынған 5 сәуір 2013.
  16. ^ Кесу, Майк; Кафарелла, Бен; Лорика, Даг (31 наурыз 2016). «Apache Hadoop келесі 10 жылы». O'Reilly Media. Алынған 12 қазан 2017.
  17. ^ Гемават, Санджай; Гобиофф, Ховард; Люн, Шун-Так. «Google файлдық жүйесі».
  18. ^ Дин, Джеффри; Гемават, Санджай (2004). «MapReduce: қарапайым кластерлерде деректерді өңдеу».
  19. ^ Кесу, Даг (28 қаңтар 2006). «жаңа пошта тізімінің сұрауы: hadoop». issues.apache.org. Lucene PMC Nutch-тің бір бөлігін Hadoop деп аталатын жаңа кіші жобаға бөлуге дауыс берді
  20. ^ Вэнс, Эшли (17 наурыз 2009). «Hadoop, ақысыз бағдарламалық жасақтама іздеудің сыртында пайдалануды табады». The New York Times. Мұрағатталды түпнұсқадан 2011 жылғы 30 тамызда. Алынған 20 қаңтар 2010.
  21. ^ Кесу, Даг (30 наурыз 2006). «[НӘТИЖЕ] ДАУЫС: Оуэн О'Маллиді Hadoop командирі етіп қосыңыз». hadoop-common-dev (Тарату тізімі).
  22. ^ «/ Dist / hadoop / core индексі». archive.apache.org. Алынған 11 желтоқсан 2017.
  23. ^ «Біз кімбіз». hadoop.apache.org. Алынған 11 желтоқсан 2017.
  24. ^ Бортакур, Дхруба (2006). «Hadoop таратылған файлдық жүйесі: сәулет және дизайн» (PDF). Apache Hadoop код қоймасы.
  25. ^ Чурария, Харш (21 қазан 2012). «MR2 және YARN қысқаша түсіндірілді». Cloudera.com. Архивтелген түпнұсқа 2013 жылғы 22 қазанда. Алынған 23 қазан 2013.
  26. ^ «HDFS пайдаланушы нұсқаулығы». Hadoop.apache.org. Алынған 4 қыркүйек 2014.
  27. ^ «Hadoop-ты Ubuntu Linux жүйесінде іске қосу (көп түйінді кластер)».
  28. ^ «Hadoop-ты Ubuntu Linux-те іске қосу (бір түйінді кластер)». Алынған 6 маусым 2013.
  29. ^ Эванс, Крис (қазан 2013). «Үлкен деректерді сақтау: Hadoop сақтау негіздері». computerweekly.com. Компьютерлік апталық. Алынған 21 маусым 2016. HDFS дәстүрлі мағынада файлдық жүйе болып табылмайды және оны пайдаланушы көру үшін тікелей орнатылмайды
  30. ^ деРоос, Дирк. «Hadoop файл жүйесінің командаларымен файлдарды басқару». dummies.com. Думиндерге арналған. Алынған 21 маусым 2016.
  31. ^ «Мұрағатталған көшірме». Архивтелген түпнұсқа 23 қазан 2019 ж. Алынған 19 маусым 2020.CS1 maint: тақырып ретінде мұрағатталған көшірме (сілтеме)
  32. ^ «HDFS сәулеті». Алынған 1 қыркүйек 2013.
  33. ^ а б Пессах, Янив (2013). «Таратылған сақтау» (Таратылған сақтау: тұжырымдамалар, алгоритмдер және іске асырулар ред.) OL  25423189М. Журналға сілтеме жасау қажет | журнал = (Көмектесіңдер)
  34. ^ «2.0 нұсқасы қолмен жұмыс істемей қалуды қарастырады және олар автоматты түрде қателіктермен жұмыс істейді». Hadoop.apache.org. Алынған 30 шілде 2013.
  35. ^ «Гетерогенді Hadoop кластерлерінде деректерді орналастыру арқылы MapReduce өнімділігін арттыру» (PDF). Ағылшын. Сәуір 2010 ж.
  36. ^ «HDFS монтаждау». Алынған 5 тамыз 2016.
  37. ^ Шафер, Джеффри; Рикснер, Скотт; Кокс, Алан. «Hadoop таралған файлдық жүйесі: портативтілік пен өнімділікті теңестіру» (PDF). Райс университеті. Алынған 19 қыркүйек 2016.
  38. ^ Музакит, Эван (21 шілде 2016). «Hadoop өнімділік көрсеткіштерін қалай жинауға болады». Алынған 24 қазан 2016.
  39. ^ «HDFS пайдаланушыларға арналған нұсқаулық - тірек туралы ақпарат». Hadoop.apache.org. Алынған 17 қазан 2013.
  40. ^ «Бұлтты аналитика: Шынында да сақтау стегін қайта жасау керек пе?» (PDF). IBM. Маусым 2009.
  41. ^ «HADOOP-6330: IBM жалпы параллель файлдық жүйені Hadoop файлдық жүйесінің интерфейсін енгізу». IBM. 23 қазан 2009 ж.
  42. ^ «HADOOP-6704: Parascale файлдық жүйесіне қолдау қосу». Параскаль. 14 сәуір 2010 ж.
  43. ^ «CloudIQ сақтауы бар HDFS». Appistry, Inc. 6 шілде 2010. мұрағатталған түпнұсқа 2014 жылғы 5 сәуірде. Алынған 10 желтоқсан 2013.
  44. ^ «Жоғары қол жетімді Hadoop». HP. 9 маусым 2010 ж.
  45. ^ «Командалар жөніндегі нұсқаулық». 17 тамыз 2011. Түпнұсқадан мұрағатталған 17 тамыз 2011 ж. Алынған 11 желтоқсан 2017.CS1 maint: BOT: түпнұсқа-url күйі белгісіз (сілтеме)
  46. ^ «Жоспарлаушыны JobTracker бағдарламасынан шығарыңыз». Hadoop жалпы. Apache Software Foundation. Алынған 9 маусым 2012.
  47. ^ Джонс, М.Тим (6 желтоқсан 2011). «Hadoop-та жоспарлау». ibm.com. IBM. Алынған 20 қараша 2013.
  48. ^ «Hadoop жәрмеңкесін жоспарлаушының дизайн құжаты» (PDF). apache.org. Алынған 12 қазан 2017.
  49. ^ «CapacityScheduler нұсқаулығы». Hadoop.apache.org. Алынған 31 желтоқсан 2015.
  50. ^ «Қалай Apache Hadoop 3 Apache Hadoop 2-ден артық мәнге ие». hortonworks.com. 7 ақпан 2018. Алынған 11 маусым 2018.
  51. ^ Чинтапалли, Санкет; Дагит, Дерек; Эванс, Бобби; Фаривар, Реза; Graves, Thomas; Холдербау, Марк; Лю, Чжуо; Нусбаум, Кайл; Патил, Кишоркумар; Пенг, Боянг Джерри; Пулоский, Павел (мамыр 2016). «Ағынды есептеу қозғалтқыштарын салыстыру: дауыл, флинг және ұшқын ағыны». 2016 IEEE Халықаралық параллельді және үлестірілген өңдеу бойынша симпозиумдар семинарлары (IPDPSW). IEEE. 1789–1792 бб. дои:10.1109 / IPDPSW.2016.138. ISBN  978-1-5090-3682-0.
  52. ^ ""30-дан астам кәсіпорын Hadoop «, DBMS2-де қалай қолданады». Dbms2.com. 10 қазан 2009 ж. Алынған 17 қазан 2013.
  53. ^ «Yahoo! Hadoop өндірісінің әлемдегі ең ірі қосымшасын іске қосты». Yahoo. 19 ақпан 2008. мұрағатталған түпнұсқа 2016 жылғы 7 наурызда. Алынған 31 желтоқсан 2015.
  54. ^ «Hadoop және Yahoo-да таратылған есептеулер!». Yahoo !. 20 сәуір 2011 ж. Алынған 17 қазан 2013.
  55. ^ «HDFS: Facebook әлемдегі ең үлкен Hadoop кластеріне ие!». Hadoopblog.blogspot.com. 9 мамыр 2010 ж. Алынған 23 мамыр 2012.
  56. ^ «Капоте астында: Hadoop таратылған файлдық жүйенің Namenode және Avatarnode көмегімен сенімділігі». Facebook. Алынған 13 қыркүйек 2012.
  57. ^ «Капот астында: MapReduce-ті Corona-да жұмыс орындарын тиімді жоспарлау». Facebook. Алынған 9 қараша 2012.
  58. ^ «Altior's AltraSTAR - CDH4-те сертификатталған Hadoop сақтау үдеткіші және оптимизаторы (Cloudera-дің Apache Hadoop 4 нұсқасын қоса тарату)» (Ұйықтауға бару). Eatontown, NJ: Altior Inc. 18 желтоқсан 2012 ж. Алынған 30 қазан 2013.
  59. ^ «Hadoop - Microsoft Azure». azure.microsoft.com. Алынған 11 желтоқсан 2017.
  60. ^ «Hadoop». Azure.microsoft.com. Алынған 22 шілде 2014.
  61. ^ «Hadoop инновациясының қарқыны неге өсуі керек». Gigaom.com. 25 сәуір 2011 ж. Алынған 17 қазан 2013.
  62. ^ «Hadoop анықтау». Wiki.apache.org. 30 наурыз 2013 жыл. Алынған 17 қазан 2013.
  63. ^ «Hadoop сыйысымдылығын анықтау: қайта қарау». Mail-archives.apache.org. 10 мамыр 2011 ж. Алынған 17 қазан 2013.
  64. ^ «Apache Accumulo пайдаланушы нұсқаулығы: қауіпсіздік». apache.org. Apache Software Foundation. Алынған 3 желтоқсан 2014.

Библиография

Сыртқы сілтемелер