HBase
 sql >> база данни >  >> NoSQL >> HBase

Hadoop – уроци за Apache Hadoop за начинаещи

Основната цел на тозиHadoop Урокът е да опише всеки аспект на Apache Hadoop Framework. По принцип този урок е проектиран по начин, по който би било лесно да научите Hadoop от основите.

В тази статия ще направим всичко възможно, за да отговорим на въпроси като това какво е Big data Hadoop, каква е нуждата от Hadoop, каква е историята на Hadoop и накрая предимствата и недостатъците на рамката Apache Hadoop.

Надяваме се, че след като прочетете тази статия, ще имате ясно разбиране какво представлява Hadoop Framework.

Какво е Hadoop?

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

Освен това прави възможно стартирането на приложения в система с хиляди възли. Нейната разпределена файлова система осигурява бързи скорости на трансфер на данни между възлите. Освен това позволява на системата да продължи да работи в случай на повреда на възел.

Hadoop предоставя-

  • Слоят за съхранение – HDFS
  • Механизъм за пакетна обработка – MapReduce
  • Слой за управление на ресурси – YARN

Hadoop – История

През 2003 г. Google стартира проект Nutch да се справят с милиарди търсения. Също така за индексиране на милиони уеб страници. През октомври 2003 г. Google публикува GFS (Google File System), от тази хартия произлиза Hadoop.

През 2004 г. Google пуска хартия с MapReduce . А през 2005 г. Nutch използва GFS и MapReduce за извършване на операции.

През 2006 г. компютърните учени Дъг Кътинг и Майк Кафарела  създаде Hadoop. През февруари 2006 г. Дъг Кътинг се присъедини към Yahoo . Това осигури ресурси и специален екип, за да превърне Hadoop в система, която работи в уеб мащаб. През 2007 г. Yahoo започна да използва Hadoop в клъстер от 100 възли.

През януари 2008 г. Hadoop направи свой собствен проект от най-високо ниво в Apache, потвърждавайки успеха му. Много други компании използваха Hadoop освен Yahoo!, като New York Times и Facebook.

През април 2008 г. Hadoop счупи световен рекорд, за да стане най-бързата система за сортиране на терабайт данни. Работи на клъстер с 910 възли, сортира един терабайт за 209 секунди.

През декември 2011 г. Apache Hadoop пусна версия 1.0. През август 2013 г. беше налична версия 2.0.6. По-късно през юни 2017 г. е наличен Apache Hadoop 3.0.0-alpha4. ASF (Apache Software Foundation) управлява и поддържа рамката и екосистемата от технологии на Hadoop.

Защо Hadoop?

Тъй като научихме въведението, сега ще научим каква е нуждата от Hadoop?

Той се появи като решение на „Големите данни ” проблеми-

а. Съхранение за големи данни – HDFS Реши този проблем. Той съхранява големи данни по разпределен начин. HDFS също така съхранява всеки файл като блокове. Блокът е най-малката единица данни във файлова система.

Да предположим, че имате 512MB данни. И вие сте конфигурирали HDFS така, че да създава 128Mb блокове от данни. Така HDFS разделя данните на 4блока (512/128=4) и го съхранява в различни DataNodes. Той също така репликира блоковете данни на различни възли за данни.

Следователно съхраняването на големи данни не е предизвикателство.

б. Мащабируемост – Той също така решава проблема с мащабирането. Основно се фокусира върху хоризонтално мащабиране, а не върху вертикално мащабиране. Можете да добавите допълнителни възли за данни към HDFS клъстер, както и когато е необходимо. Вместо да увеличавате ресурсите на вашите възли с данни.

Следователно драстично повишаване на производителността.

в. Съхранение на различни данни  – HDFS реши този проблем. HDFS може да съхранява всички видове данни (структурирани, полуструктурирани или неструктурирани). Следва също напишете веднъж и прочетете много модели .

Благодарение на това можете да напишете всякакъв вид данни веднъж и можете да ги прочетете няколко пъти, за да намерите информация.

г. Скорост на обработка на данни  – Това е основният проблем на големите данни. За да разрешите този проблем, преместете изчислението към данни вместо данни към изчисление. Този принцип е местност на данните .

Основни компоненти на Hadoop

Сега ще научим подробно основния компонент на Apache Hadoop. Той има 3 основни компонента-

  • HDFS
  • MapReduce
  • YARN (Още друг преговарящ за ресурси)

Нека обсъдим тези основни компоненти един по един.

a. HDFS

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

Съхранява надеждно данните дори в случай на повреда на хардуера. Той осигурява високопроизводителен достъп до приложението чрез паралелен достъп.

Компоненти на HDFS:

  • NameNode – Работи като главен в клъстера. Namenode съхранява мета-данни . Редица блокове, реплики и други детайли. Мета-данните присъстват в паметта в главния. NameNode поддържа и също така управлява подчинените възли и им възлага задачи. Трябва да се внедри на надежден хардуер, тъй като е в центъра на HDFS.
  • DataNode –  Работи като Slave в клъстера. В HDFS DataNode е отговорен за съхраняването на действителни данни в HDFS. DataNode извършва операция за четене и запис според заявка за клиентите. DataNodes могат да се разгръщат и на стандартен хардуер.

б. MapReduce

MapReduce е слой за обработка на данни на Hadoop. Той обработва големи структурирани и неструктурирани данни, съхранявани в HDFS. MapReduce също обработва огромно количество данни паралелно.

Той прави това чрез разделяне на заданието (подадено задание) на набор от независими задачи (подзадача). MapReduce работи, като разделя обработката на фази:Карта и Намаляване.

  • Карта –  Това е първата фаза на обработка, където ние определяме целия сложен логически код.
  • Намаляване – Това е втората фаза на обработка. Тук указваме лека обработка като агрегиране/сумиране.

в. ПРЕЖДА

YARN осигурява управлението на ресурсите. Това е операционната система на Hadoop. Той отговаря за управлението и наблюдението на работните натоварвания, както и за прилагане на контроли за сигурност. Apache YARN също е централна платформа за предоставяне на инструменти за управление на данни в клъстерите.

YARN позволява множество машини за обработка на данни, като стрийминг в реално време, пакетна обработка и др.

Компоненти на ПРЕЖДА:

  • Мениджър на ресурси –  Това е компонент на ниво клъстер и работи на главната машина. Той управлява ресурси и планира приложения, работещи в горната част на YARN. Той има два компонента:Scheduler &Application Manager.
  • Диспечер на възли – Това е компонент на ниво възел. Работи на всяка подчинена машина. Той непрекъснато комуникира с Resource Manager, за да остане актуален

Предимства на Hadoop

Нека сега да обсъдим различни предимства на Hadoop за решаване на проблемите с големите данни.

  • Мащабируемост – Чрез добавяне на възли можем лесно да развием нашата система, за да обработва повече данни.
  • Гъвкавост –   В тази рамка не е нужно да обработвате предварително данните, преди да ги съхранявате. Можете да съхранявате толкова данни, колкото искате, и да решите как да ги използвате по-късно.
  • Ниска цена –  Рамката с отворен код е безплатна и работи на евтин хардуер.
  • Толерантност на грешки –  Ако възлите паднат, тогава заданията се пренасочват автоматично към други възли.
  • Изчислителна мощност – Това е Моделът на разпределени изчисления бързо обработва големи данни. Колкото повече изчислителни възли използвате, повече процесорна мощност имате.

Недостатъци на Hadoop

Някои недостатъци на Apache Hadoop Framework са дадени по-долу-

  • Притеснения за сигурността – Това може да бъде предизвикателство при управлението на сложното приложение. Ако потребителят не знае как да активира платформата, която управлява платформата, тогава вашите данни могат да представляват огромен риск. Тъй като на нивата за съхранение и мрежа на Hadoop липсва криптиране, което е основен проблем.
  • Уязвими по природа –  Рамката е написана почти на Java, най-широко използвания език. Java е силно експлоатирана от киберпрестъпници. В резултат на това е замесен в множество нарушения на сигурността.
  • Не е подходящ за малки данни – Тъй като не е подходящ за малки данни. Следователно му липсва способност да поддържа ефективно произволното четене на малки файлове.
  • Потенциални проблеми със стабилността –  Тъй като това е рамка с отворен код. Това означава, че той е създаден от много разработчици, които продължават да работят по проекта. Въпреки че се правят непрекъснати подобрения, той има проблеми със стабилността. За да се избегнат тези проблеми, организациите трябва да работят с най-новата стабилна версия.

Заключение

В заключение можем да кажем, че това е най-популярният и мощен инструмент за големи данни. Той съхранява огромно количество данни по разпределен начин.

И след това обработва данните паралелно в клъстер от възли. Той също така осигурява най-надеждния слой за съхранение в света - HDFS. Машина за пакетна обработка MapReduce и слой за управление на ресурсите - YARN.

Следователно тези демони осигуряват функционалност на Hadoop.


No
  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Въведение в разпределения кеш в Hadoop

  2. Hadoop Partitioner – Научете основите на MapReduce Partitioner

  3. Оперативна база данни в CDP

  4. Изграждане на мащабируем процес с помощта на NiFi, Kafka и HBase на CDP

  5. Как да:Управление на HBase данни чрез Hue