what is hadoop apache hadoop tutorial
Този урок за начинаещи Apache Hadoop обяснява подробно всичко за Hadoop за големи данни, неговите характеристики, рамка и архитектура в детайли:
как да напиша ефективни тестови случаи
В предишния урок обсъдихме подробно големите данни. Сега въпросът е как можем да обработим и обработим толкова голям обем данни с надеждни и точни резултати.
Наистина има страхотно решение, предоставено от Apache и задвижвано от Java, т.е. Hadoop Framework .
=> Прочетете Лесната серия за обучение на BigData.
Какво ще научите:
Какво е Hadoop?
Apache Hadoop е рамка с отворен код за управление на всички видове данни (структурирани, неструктурирани и полуструктурирани).
Както всички знаем, ако искаме да обработваме, съхраняваме и управляваме данните си, RDBMS е най-доброто решение. Но данните трябва да са в структуриран формат, за да се справят с RDBMS. Освен това, ако размерът на данните се увеличи, RDBMS не е в състояние да се справи с тях и трябва да извършваме редовно почистване на базата данни.
Това може да доведе до загуба на данни в миналото и не може да генерира точни и надеждни резултати в някои отрасли като прогноза за времето, банкиране, застраховане, продажби и др. Друг проблем с RDBMS е, че ако основният сървър падне, може да загубим важните си данни и страдат много.
В този урок ще видим как можем да преодолеем тези проблеми с Apache Hadoop.
Hadoop е разпределена файлова система и може да съхранява големи обеми данни (данни в петабайт и терабайт). Скоростта на обработка на данни също е много бърза и осигурява надеждни резултати, тъй като има много висока система за толерантност към грешки.
Hadoop е базирана на Java рамка за програмиране с отворен код, която поддържа съхранението и обработката на големи набори от данни в разпределена изчислителна среда.
Hadoop се основава на клъстерна концепция, използваща стоков хардуер. Не изисква сложна конфигурация и можем да установим средата на Hadoop с по-евтин, опростен и лек хардуер за конфигуриране.
Концепцията на клъстера с прости думи е Данните, които се съхраняват във формат на репликация на множество машини, така че когато възникне някакъв проблем или бедствие на едно от местата, където се намират данните, трябва да има дубликат на тези данни, който да е на разположение безопасно на друго място .
Hadoop срещу RDMBS
По-долу са изброени някои точки, които описват предимствата на Hadoop пред RDBMS.
Характеристика | Hadoop | RDBMS |
---|---|---|
Съхранение | Много голям капацитет за съхранение. | Не можете да съхранявате Bigdata. |
Архитектура | Hadoop се основава на HDFS, MapReduce и YARN. | RDBMS се основава на ACID свойства. |
Сила на звука | Може да обработва голям обем данни. | RDBMS не може да обработва голям обем данни. |
Разнообразие / Видове данни | Може да обработва структурирани, полуструктурирани и неструктурирани данни като видео, изображения, CSV файлове, xml и др. | Обработвайте само структурирани данни. |
Скорост | Бърза обработка на голям обем данни. | Много бавно, докато обработвате голямо количество данни. |
Пропускателна способност | Висока производителност. | Ниска производителност. |
Толерантност към повреди | Много добре | Не е в състояние да възстанови загубени данни, ако основният сървър падне. |
Надежден | Много надеждни и генерират точни исторически и текущи отчети. | Не е надежден по отношение на Bigdata. |
Хадооп функции
Сега знаем точната дефиниция на Hadoop. Нека вървим една крачка напред и да се запознаем с терминологиите, които използваме в Hadoop, да научим неговата архитектура и да видим как точно работи на Bigdata.
Hadoop рамката се основава на следните концепции или модули:
- HADOOP ПРЕЖДА
- Hadoop Common
- Hadoop HDFS ( З. adoop д разпределен F с С ystem)
- Hadoop MapReduce
# 1) Hadoop ПРЕЖДА: YARN означава „ Y. и ДА СЕ Nother R източник н егозатор ”, който се използва за управление на клъстерната технология на облака. Използва се за планиране на работа.
# 2) Чести Hadoop: Това са подробните библиотеки или помощни програми, използвани за комуникация с другите функции на Hadoop като YARN, MapReduce и HDFS.
# 3) Hadoop HDFS: Разпределената файлова система се използва в Hadoop за съхраняване и обработка на голям обем данни. Също така се използва за достъп до данните от клъстера.
# 4) Намаляване на Hadoop Map: MapReduce е основната характеристика на Hadoop, която отговаря за обработката на данни в клъстера. Използва се за планиране на работа и мониторинг на обработката на данни.
Тук току-що включихме дефиницията на тези функции, но ще видим подробно описание на всички тези функции в предстоящите ни уроци.
Архитектура на Hadoop
Нека научим архитектурата на рамката и да видим какви компоненти се използват в нея. Тази рамка следва архитектура master-slave в клъстера.
Следват компонентите на Hadoop:
- HDFS
- MapReduce
- ПРЕЖДА
Това са трите важни компонента на архитектурата на Hadoop. Трябва също да разберем някои от терминологиите или концепциите на Архитектурата и да видим как работят.
- Име възел
- Възел за данни
- Възел с вторично име
- Блокове
# 1) Име на възел
Name Node е главният възел в HDFS. Той съдържа метаданни на HDFS като информация за файл, структура на директория, информация за блокове и цялата информация за възел за данни и т.н. Името възел е отговорен само за достъп до данни или файл от клиента. Той проследява всички транзакции или промени, направени във файлове.
Работи основно върху два файла, т.е. FsImage и EditLogs . Name Node има JobTracker, който съдържа всички подробности за Data Node, като кой Data Node има каква задача, колко блока има с всеки Data Node, сърдечния ритъм на всеки Data Node, подробности за планиране на работа в клъстера и т.н.
Накратко, можем да кажем, че JobTracker съдържа TaskTracker на всеки възел за данни.
# 2) Възел за данни
Data Node е Slave Node в HDFS. Data Node е отговорен за действителното съхранение и обработка на данни. Основната му задача е да раздели работата на три блока и да я съхрани в различни възли за данни. След това започва обработката на данните.
Освен това той има TaskTracker, който има пълна информация за всеки блок и кой блок отговаря за коя задача, кои блокове са изпълнили задачата и т.н. и след обработка на данните изпраща информацията към Name Node. Всеки път, когато възелът за данни стартира, той изпраща цялата информация отново до възела за име.
# 3) Възел за вторично име
Възел с вторично име се използва в случай на толерантност към грешки. Има два сценария, при които Името на възела не работи и пълната структура на Hadoop ще се провали, тъй като Името на възела е единичната точка на отказ.
(i) Ако Name Node се рестартира поради някакъв проблем, отколкото е необходимо, за да се появи отново, тъй като има огромно количество данни, тогава за възстановяване е необходимо време.
(ii) В случай на срив на Name Node, всички HDFS данни ще загубят и не могат да ги възстановят отново, тъй като Name Node е единствената точка на отказ. По този начин, за да се преодолеят тези проблеми, вторичният възел на име е там. Той също така съдържа изображение на пространство от имена и дневници за редактиране, същото като възела на име.
След определен период той ще копира изображението на пространството от имена и ще актуализира регистрационните файлове от възела за име. По този начин, в случай на повреда на Име на възел, Вторичният възел на име влиза в картината и се държи като първичния възел на име. Поради този процес той предотвратява тотален отказ.
# 4) Блокове
Блоковете са най-малката единица в HDFS. Hadoop може да обработва огромно количество файл, тъй като го разделя на малки блокове. Можем да кажем, че блоковете не са нищо друго освен данните на огромен файл. Размерът на всеки блок е 128MB. Тези блокове се записват в Data Nodes и обработват данните.
Сега, нека научим архитектурата на Hadoop, за да разберем как работи.
Разпределената файлова система Hadoop (HDFS) е файловата система, която се използва в клъстера Hadoop. Предимно HDFS се използва за съхраняване на данни Hadoop в клъстера. HDFS обикновено работи по последователна обработка на данни. Както вече знаем, той се основава на Master-Slave архитектура.
Всички метаданни на клъстера се записват в Name Node в JobTracker и действителните данни се съхраняват в Data Node на HDFS в TaskTracker.
MapReduce отговаря за обработката на данни. Когато всеки файл влезе в клъстера за обработка, тогава първият възел за данни го разделя на блокове и всеки блок съдържа 64 MB данни и може да съхранява 128 MB. След това всеки блок ще се репликира два пъти и ще съхранява в различни възли за данни навсякъде в клъстера.
Цялата тази информация ще бъде изпратена до възела за име, а възелът за име ще съхранява тази информация под формата на метаданни. Тогава реалната обработка на данните ще стартира възела за данни и ще изпраща сърдечен ритъм към възела за имена на всеки три секунди, така че възелът за име да разполага с информацията, по която работи този възел за данни.
Ако някой от Data Node не успее да изпрати сърдечен ритъм, тогава Node Node отново създава репликата на този блок на друг Data Node и започва да обработва.
Всички тази информация или моментни снимки ще се съхраняват във FsImage и ако се извърши някаква транзакция, тогава редактирайте дневника, обединете новата информация и винаги запазва ново копие на регистрационните файлове.
Блокът, който завършва задачата първо, ще бъде предприет и възелът за данни изпраща информация до възела за име и възелът за име ще предприеме съответното действие.
В целия този процес YARN ще поддържа и предоставя необходимите ресурси на системата, така че да не влияе на обработката на данни и скоростта. След обработка на данните резултатите ще бъдат записани в HDFS за по-нататъшен анализ.
Заключение
В този урок научихме какво е Hadoop, разликите между RDBMS срещу Hadoop, предимства, компоненти и архитектура на Hadoop.
Тази рамка е отговорна за обработката на големи данни и тяхното анализиране. Видяхме MapReduce, YARN и HDFS да работят в клъстера.
Забележка: Следват подробности за конфигурацията на възел за име и възел за данни. Вторичният възел с име ще има същата конфигурация като възела с име.
Конфигурация на име на възел:
Процесори: 2 четириядрени процесора, работещи при 2 GHz
RAM: 128 GB
Disk: 6 x 1TB SATA
Мрежа: 10 Gigabit Ethernet
Конфигурация на възел за данни:
Процесори: 2 четириядрени процесора, работещи при 2 GHz
RAM: 64 GB
Disk: 12-24 x 1TB SATA
Мрежа: 10 Gigabit Ethernet
=> Погледнете тук Ръководството за начинаещи с големи данни.
Препоръчително четене
- Урок за големи данни за начинаещи | Какво представляват големите данни?
- 20+ MongoDB урок за начинаещи: Безплатен курс на MongoDB
- Как да настроите рамката за тестване на Node.js: Урок за Node.js
- Data Mart Урок - Видове, примери и изпълнение на Data Mart
- Уроци за задълбочено затъмнение за начинаещи
- Урок за Python за начинаещи (практически БЕЗПЛАТНО обучение за Python)
- Управлявана от данни рамка в Selenium WebDriver, използваща Apache POI
- LoadRunner урок за начинаещи (безплатен 8-дневен задълбочен курс)