Apache Hadoop

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    Apache Hadoop - Presentation Transcript

    1. Apache Hadoop Презентацию подготовил Иван Блинков
    2. История развития проектов Apache Software Foundation Tomcat
    3. Hadoop - это...
      • платформа для построения распределенных приложений, реализованная на Java.
      • Основные ее положительные стороны:
        • масштабируемость;
        • экономичность;
        • эффективность;
        • надежность;
        • кроссплатформенность.
    4. Компоненты Hadoop
      • MapReduce Framework
      • HBase
      • HDFS
    5. HDFS = Hadoop Distributed File System
      • Она разрабатывалась с учетом:
        • потенциальных сбоев в оборудовании;
        • работоспособности на обычном оборудовании;
        • предоставления высокоскоростного потокового доступа к данным;
        • предстоящей работы с большими файлами;
        • простой модели работы с данными: write once, read many;
        • того, что переместить вычисления проще, чем переместить данные.
    6. Архитектура HDFS Блоки данных Datanodes (узлы данных ) Datanodes (узлы данных ) Rack 1 (группа узлов) Rack 2 (группа узлов) Репликация Чтение Операции с метаданными Операции с блоками Запись Namenode (узел имен) Клиент Метаданные (имя, копии, ...): /home/foo/bar, 3, ... Клиент
    7. HBase представляет собой...
      • систему структурированного хранения данных на базе HDFS. Основные ее особенности:
        • данные хранятся в виде обычных таблиц;
        • физически данные расположены по столбцам;
        • несколько записей могут одновременно находиться в одной ячейке таблицы;
        • незаполненные ячейки таблиц отсутствуют;
        • специальный язык запросов HQL.
        • предоставляются API: Java, Jython, REST, Thrift.
    8. HBase не является...
      • традиционной SQL базой данных:
        • никаких операций JOIN;
        • никаких транзакций;
        • никаких типов данных;
        • никакого интерпретирования данных;
        • о SQL/ODBC/JDBC можно смело забыть.
      • Она даже не позиционируется как полноценная замена реляционным СУБД.
    9. Традиционные СУБД столбцы строки
    10. HBase столбцы строки
    11. HBase строки столбцы время
    12. Традиционные СУБД значения не указаны NULL NULL
    13. HBase значения не указаны
    14. Логически Физически HRegion (Tablet)
    15. HRegion HRegion ограничение по объему
    16. HRegion HRegion ограничение по объему
    17. HRegion HRegion
    18. Архитектура HBase HRegion Server HRegion Server HRegion HRegion HRegion Server HRegion Server HRegion HRegion Операции с данными: чтение и запись Определение местанахождения данных - перераспределение данных - восстановление в случае сбоев - работа с метаданными HMaster Server HStore HMemcache HStore HMemcache HStore HMemcache Клиент HLog HStore HMemcache HLog
    19. MapReduce Framework
      • MapReduce представляет собой модель проведения распределенных вычислений.
      • Hadoop предоставляет набор средств для выполнения вычислений в соответствии с данной моделью.
      • Она состоит из двух основных этапов:
        • map(k,v) -> <k',v'>
        • reduce(k',<v'>) -> <k',v''>
      • Помимо этого возможны и дополнительные этапы: compare(), partition() и так далее.
    20. Входные данные Часть 1 Часть 2 . . . . . . . . . . . . Часть N map() map() map() map() reduce() reduce() reduce() reduce() reduce() map() Часть 1 Результат 1 Результат 2 . . . . . . . . . . . . Результат N Результат вычисления
    21. При необходимости: перераспределение и сортировка Входные данные Часть 1 Часть 2 . . . . . . . . . . . . Часть N map() map() map() map() reduce() reduce() reduce() reduce() reduce() map() Часть 1 Результат 1 Результат 2 . . . . . . . . . . . . Результат N Результат вычисления Произвольные системы хранения данных, чаще всего: HDFS или HBase Алгоритмы распределения данных можно задать вручную. По-умолчанию используется просто разбиение на части фиксированного объема.
    22. С точки зрения разработчика
      • Для построения MapReduce приложения достаточно лишь разработать несколько функций:
        • Input reader — чтение входных данных;
        • Map — реализация преобразования данных в пары ключ/значение;
        • Partition — распределение промежуточных значений по reduce заданиям;
        • Compare — используется для сравнения и сортировки промежуточных значений;
        • Reduce — аггрегация промежуточных пар ключ/значение;
        • Output writer — запись результата.
    23. Подведем черту
      • Использование данной платформы позволяет:
        • избежать изобретения массы «велосипедов»;
        • сосредоточиться на реализации самого приложения, а не низлежащей системы;
        • распределить вычисления и данные на большом количестве машин при минимуме затрат;
        • сэкономить на дорогостоящем оборудовании;
        • не привязываться к провайдеру аналогичных сервисов: Google App Engine, Amazon EC2+S3+SimpleDB или Sun Grid Engine.
    24. Ложка дегтя
      • Но ситуация на самом деле не настолько радужна:
        • в системе присутствует несколько уязвимых мест - «single points of failure», но это исправимо сторонними средствами, в частности HeartBeat+DRBD ;
        • последняя версия проекта — 0.17.0, проект еще далек от полноценного стабильного релиза, но разработка ведется очень активно и система уже успела успешно показать себя на практике;
        • полноценно реализован только Java интерфейс, все остальные ограничены в функциональности и/или производительности.
    25. Спасибо за внимание! Остались вопросы?

    + m11m11, 2 years ago

    custom

    2253 views, 2 favs, 1 embeds more stats

    Автор: Иван Блинков
    http://www.ins more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2253
      • 1886 on SlideShare
      • 367 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 0
    Most viewed embeds
    • 367 views on http://www.insight-it.ru

    more

    All embeds
    • 367 views on http://www.insight-it.ru

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories