Какво е Hadoop? Въведение, архитектура, екосистема, компоненти

Съдържание:

Anonim

Какво е Hadoop?

Apache Hadoop е софтуерна рамка с отворен код, използвана за разработване на приложения за обработка на данни, които се изпълняват в разпределена изчислителна среда.

Приложенията, изградени с помощта на HADOOP, се изпълняват на големи масиви от данни, разпределени в клъстери на стокови компютри. Стоковите компютри са евтини и широко достъпни. Те са полезни главно за постигане на по-голяма изчислителна мощност при ниска цена.

Подобно на данните, намиращи се в локална файлова система на персонален компютър, в Hadoop данните се намират в разпределена файлова система, която се нарича Hadoop Distributed File system . Моделът за обработка се основава на концепцията „Локалност на данните“, при която изчислителната логика се изпраща към клъстерни възли (сървър), съдържащи данни. Тази изчислителна логика не е нищо друго, а компилирана версия на програма, написана на език от високо ниво като Java. Такава програма обработва данни, съхранявани в Hadoop HDFS.

Знаеш ли? Компютърният клъстер се състои от набор от множество процесори (диск за съхранение + процесор), които са свързани помежду си и действат като единна система.

В този урок ще научите,

  • Hadoop EcoSystem и компоненти
  • Архитектура на Hadoop
  • Характеристики на "Hadoop"
  • Мрежова топология в Hadoop

Hadoop EcoSystem и компоненти

По-долу диаграмата показва различни компоненти в екосистемата на Hadoop-

Apache Hadoop се състои от два подпроекта -

  1. Hadoop MapReduce: MapReduce е изчислителен модел и софтуерна рамка за писане на приложения, които се изпълняват на Hadoop. Тези програми MapReduce са способни да обработват огромни данни паралелно на големи клъстери изчислителни възли.
  2. HDFS ( Hadoop Distributed File System ): HDFS се грижи за частта за съхранение на приложенията на Hadoop. Приложенията MapReduce консумират данни от HDFS. HDFS създава множество реплики на блокове с данни и ги разпространява в изчислителни възли в клъстер. Това разпределение позволява надеждни и изключително бързи изчисления.

Въпреки че Hadoop е най-известен с MapReduce и неговата разпределена файлова система - HDFS, терминът се използва и за семейство свързани проекти, които попадат под шапката на разпределените изчисления и мащабната обработка на данни. Други проекти, свързани с Hadoop в Apache, са Hive, HBase, Mahout, Sqoop, Flume и ZooKeeper.

Архитектура на Hadoop

Архитектура на Hadoop на високо ниво

Hadoop има архитектура Master-Slave за съхранение на данни и разпределена обработка на данни, използвайки методите MapReduce и HDFS.

NameNode:

NameNode представя всички файлове и директории, които се използват в пространството от имена

DataNode:

DataNode ви помага да управлявате състоянието на HDFS възел и ви позволява да взаимодействате с блоковете

MasterNode:

Главният възел ви позволява да провеждате паралелна обработка на данни с помощта на Hadoop MapReduce.

Подчинен възел:

Подчинените възли са допълнителните машини в клъстера Hadoop, което ви позволява да съхранявате данни за извършване на сложни изчисления. Освен това, всички подчинени възел се доставя с Task Tracker и DataNode. Това ви позволява да синхронизирате процесите съответно с NameNode и Job Tracker.

В Hadoop главната или подчинената система могат да бъдат настроени в облака или локално

Характеристики на "Hadoop"

• Подходящ за анализ на големи данни

Тъй като големите данни са склонни да бъдат разпределени и неструктурирани в природата, клъстерите HADOOP са най-подходящи за анализ на големи данни. Тъй като обработващата логика (а не действителните данни) тече към изчислителните възли, се консумира по-малко честотна лента на мрежата. Тази концепция се нарича концепция за местоположение на данни, която помага да се увеличи ефективността на приложенията, базирани на Hadoop.

• Мащабируемост

HADOOP клъстерите могат лесно да се мащабират до всяка степен чрез добавяне на допълнителни клъстерни възли и по този начин позволява растежа на големите данни. Също така, мащабирането не изисква промени в логиката на приложението.

• Поносимост към повреди

Екосистемата на HADOOP има възможност да репликира входните данни към други клъстерни възли. По този начин, в случай на отказ на клъстерен възел, обработката на данни все още може да продължи, като се използват данни, съхранени в друг клъстерен възел.

Мрежова топология в Hadoop

Топологията (подреждането) на мрежата влияе върху производителността на клъстера Hadoop, когато размерът на клъстера Hadoop нараства. В допълнение към производителността, човек трябва да се грижи и за високата наличност и справяне с отказите. За да се постигне този Hadoop, формирането на клъстери използва мрежова топология.

Обикновено честотната лента на мрежата е важен фактор, който трябва да се има предвид при формирането на всяка мрежа. Тъй като обаче измерването на честотната лента може да бъде трудно, в Hadoop мрежата е представена като дърво и разстоянието между възлите на това дърво (брой скокове) се счита за важен фактор при формирането на клъстера Hadoop. Тук разстоянието между два възела е равно на сума от тяхното разстояние до най-близкия им общ предшественик.

Клъстерът Hadoop се състои от център за данни, стелаж и възел, който всъщност изпълнява задания. Тук центърът за данни се състои от стелажи, а багажникът се състои от възли. Мрежовата честотна лента, достъпна за процесите, варира в зависимост от местоположението на процесите. Тоест, наличната честотна лента става по-малка, когато се отдалечаваме от-

  • Процеси на същия възел
  • Различни възли на един и същ багажник
  • Възли на различни стелажи на един и същ център за данни
  • Възли в различни центрове за данни