8-Hadoop_HDFS (1158858)
Текст из файла
HadoopВведение в Hadoop иMapReduce.HDFSДанные2006 год – 0.18 зеттабайт 2011 год – 1.8 зеттабайт (10^21)Нью-Йорская фондовая биржа 1 терабайтданных в деньInternet Archive более 2 петабайт и растетсо скоростью 20 терабайт в месяцБольшой адронный коллайдер до 15петабайт данных в годХранение и анализ данных1990 год – 1370 Мбайт, скоростьпередачи до 4.4 Мбайт/c, 5 минут 2010 год – несколько терабайт,скорость передачи 100 Мбайт/c, 2.5часаИспользуем 100 дисков, на каждом изкоторых хранится 1/100 часть данных=> при параллельной работе дисковданные будут прочитаны за 2 минутыHadoopСистема надежного общего хранения ианализа данныхобеспечивает хранение MapReduce - анализ HDFSHadoop и РСУБДСкорость позиционирования улучшается медленнее скоростипередачи данныхПозиционирование – процесс перемещения считывающейголовки к определенному месту диска для чтения или записиданных.Скорость позиционирования определяет задержку привыполнении дисковых операций, тогда как скорость передачиданных определяют пропускную способность каналавзаимодействия с дискомЕсли в схеме обращения к данным преобладают операциипозиционирования, то чтение и запись больших частей набораданных займут больше времени, чем при потоковых операциях,выполняемых со скоростью передачи данныхHadoop и РСУБДПараметрТрадиционная РСУБДMapReduceРазмер данныхГигабайтыПетабайтыДоступИнтерактивный ипакетныйПакетныйОбновленияМногократное чтение изаписьОднократная запись,многократное чтениеСтруктураСтатическая схемаДинамическая схемаЦелостностьВысокаяНизкаяМасштабированиеНелинейноеЛинейноеЧто такое HadoopИнфраструктура (framework) дляпараллельной обработки большихобъемов данных (терабайты) Особенности: Функциональноепрограммирование Автоматическое распараллеливание Перемещение вычислений к даннымOpen Source, http://hadoop.apache.orgКонцепцииПарадигмы программирования: Императивноепрограммирование (ИП) Функциональное программирование (ФП)Работа с данными: Перемещениеданных к вычислительнымресурсам (ПДкВ) Перемещение вычислений к данным(ПВкД)КонцепцииНаиболее популярная сейчастехнология: императивноепрограммирование +перемещение данных к вычислениямПримеры: MPI GPUGPU nVidiaВысокая производительность: nVidiaTesla M2050/2070 – 0,5 TFlops doubleШаги вычислений: Копированиеданных в память GPU Обработка данных в GPU Копирование данных в память хостаПрограммист полностью управляетпроцессом вычислений и перемещенияданныхНедостатки ИП + ПДкВMPI и GPU эффективны при: Небольшихобъемах данных Высокой сложности вычислений Небольшом количестве узлов (сотни)Терабайты данных перемещать долго Управлять логикой передачи данных натысячи узлов сложноПроблемы разработки длякрупных параллельных системМасштабирование на тысячи узловЭффективное распределение нагрузкиЭффективный обмен данными в процессевычисленийОбработка отказов вычислительных узловИмперативное программирование: Всеэти задачи программист должен решать самФункциональноепрограммированиеПрограммист описывает функцию,которую надо вычислить, но не процессвычисления Входные данные не изменяются,создаются новые Поток данных жестко встроен впрограммуЗадачи Hadoop/MapReduceЭффективная обработка терабайтов данныхАвтоматическое распараллеливание натысячи узловАвтоматическое распределение нагрузкиАвтоматическая обработка отказовоборудованияПростота использованияПримеры приложенийРаспределенный grep Распределенная сортировка Инвертированный индекс Подсчет количества запросов к URL Реверсивный web-link графИсторияGoogle: 2003- The Google File System 2004 - MapReduce: Simplified Data Processing onLarge Clusters2005 - Open Source поисковик Apache Nutchиспользует MapReduce2006 – Open Source реализация MapReduceвыделяется в отдельный проект ApacheHadoopКто использует HadoopСостав HadoopHadoop Common – общиекомпоненты HadoopHadoop HDFS –распределеннаяфайловая системаHadoop MapReduce –реализация MapReduceна JavaHadoop HDFSСпециализированная распределеннаяфайловая система для хранения ТерабайтовданныхЦели разработки: Надежноехранение данных на дешевомненадежном оборудовании Высокая пропускная способность ввода-вывода Потоковый доступ к данным Упрощенная модель согласованности: WORMАрхитектура аналогична Google File SystemАрхитектура Hadoop HDFSАрхитектура HDFSУзлы хранения – серверы стандартнойархитектуры Данные хранятся на внутренних дискахсерверов Единое адресное пространство Параллельное чтение и запись на узлы– высокая пропускная способностьMapReduceПрограммная модель параллельнойобработки больших объемов данныхза путем разделения на независимыезадачи MapReduce разработан в Google дляпоисковой системы Использует функциональноепрограммирование, обработку списковФункции MAP и ReduceНазваниязаимствованы изфункциональныхязыков (LISP, ML)Обработка списковMapReduce в HadoopСписки пар: ключ-значениеAAA-123 65mph, 12:00pmZZZ-789 50mph, 12:02pmAAA-123 40mph, 12:05pmReduce выполняется отдельно для разныхключейПоток данных MapReduceПример WordCountПодсчет количества слов в файлахАрхитектура HadoopПеремещение вычислений кданнымЗадача запускается на том узлехранения, который содержит данныедля обработки (фаза MAP) Перемещаются только входные спискидля Reduce, их объем мал (как правило)Результаты Hadoop в TeraSortБайты УзлыMapsReducesВремя5*1011 1 4068 0002 60059 секунд8 0002 70062 секунды10121 46010143 452 190 00010 000173 минуты10153 658 80 00020 000975 минутИсточник: Owen O’Malley and Arun C.
Murth. Winning a 60 Second Dashwith a Yellow Elephant.ОС и режимы работыJava 6Поддерживаемые ОС: Linux(продуктив) Windows (только тестирование) Любой UNIX (не гарантируется)Режимы работы: Локальный Псевдо-распределенный РаспределенныйПрограммирование HadoopJava API Hadoop Plugin для Eclipse Hadoop Streaming - другие языки: Shell Python Rubyидр.Системы на основе HadoopPig – высокоуровневый язык потоков данныхHBase – распределенная база данныхCassandra – multi-master база данных безединой точки отказаHive – хранилище данных (warehouse)Mahout – машинное обучение и извлечениезнанийРаспределенная файловаясистема HDFSМотивация использованияраспределенных файловых систем Архитектура HDFS Команды работы с HDFS Права доступа в HDFS Работа с HDFS из Java программМотивацияЧто нужно для эффективной обработкитерабайтов данных? Большаяемкость Высокая производительная НадежностьТрадиционное решениеСистемы хранения данных Емкость:сотни и тысячи дисков Производительность: сотни ГБ/с Надежность: RAID, дублированиекомпонентов, репликацияПримеры: EMC Symmetrix VMAX, Hitachi VSP,HP XP20000Недостаток: высокая стоимость (миллионыдолларов)Распределенные файловыесистемыМожно ли получить емкость,производительность и надежность дешево?Да, можно.
Google: “TheGoogle File System”, Sanjay Ghemawat,Howard Gobioff, Shun-Tak Leung. Proceedings of the19th ACM Symposium on Operating SystemsPrinciples, 2003, pp. 20-43. Для хранения данных используются дискинедорогих обычных серверов Независимые диски объединяются враспределенную файловую систему GFSПреимущества распределенныхфайловых системВысокая емкость: Многосерверов с внутренними дискамиВысокая производительность: ПараллельнаяинтерфейсовВысокая надежность: Репликациязапись на диски, много сетевыхданных на разные серверыНизкая стоимость: Серверыстандартной архитектуры с LinuxHDFSHadoop Distributed File System (HDFS) –распределенная файловая система,входящая в состав Hadoop Основывается на архитектуре GoogleFile System HDFS - специализированная файловаясистема для приложений HadoopПотребности приложений HadoopТиповое приложение – поисковый робот Файлыиндексов содержимого Webбольших размеров Файлы индексов записываются один раз, азатем только читаются (без изменений) Потоковые операции ввода-вывода Пакетная обработкаОграничения HDFSОптимизация для потоковых операций с большимифайламиМодель доступа к файлам WORM (Write-Once-ReadMany)Запись в файл производиться только один раз, потом толькочтениеНе поддерживается POSIXСлучайный доступ работает медленноНельзя подмонтировать, не работают стандартные Linuxкоманды ls, cp, mkdir и т.п.Кэширование не используетсяНакладные расходы слишком великиАрхитектура HDFSАрхитектура HDFSNamenode (узел имен): Управляющийузел Обеспечивает единое пространство имен Регулирует доступ клиентов Хранит метаданныеDatanode (узел данных) ХранитданныеУзлы имен и данных – серверы Linux (какправило)Хранение файлов в HDFSБлочная структура: Файлразбивается на блоки одинакового размера(64MБ по умолчанию) Блоки хранятся на одном или нескольких узлаххранения Возможна репликация блоковУзел имен хранит метаданные ораспределении блоков по узлам храненияХранение файлов в HDFSРепликацияВ большом кластере всегда будутнеисправные узлыДля защиты от сбоев HDFS используетрепликацию – хранение нескольких копийблокаФактор репликации – количество копий блока(3 шт.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.