Тимур Машнин - Введение в облачные и распределенные информационные системы

Здесь есть возможность читать онлайн «Тимур Машнин - Введение в облачные и распределенные информационные системы» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. ISBN: , Жанр: Прочая околокомпьтерная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Введение в облачные и распределенные информационные системы: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Введение в облачные и распределенные информационные системы»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Облачные и распределенные вычислительные системы – это быстро развивающаяся IT-область хранения и обработки данных.Современные облачные и распределенные вычислительные системы строятся на основе общих концепций и алгоритмов, таких как облако, MapReduce, NoSQL базы данных, распределенные алгоритмы, масштабируемость и многое другое.Познакомьтесь с этими фундаментальными понятиями облачных и распределенных информационных систем и узнайте, как эти системы работают изнутри.

Введение в облачные и распределенные информационные системы — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Введение в облачные и распределенные информационные системы», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Решая такую простую задачу на одной машине, для больших объемов данных, вы можете потратить очень много времени.

Преимущество распределенного grep здесь в скорости обработки.

С помощью MapReduce вы можете запускать ваше приложение, даже если ваши данные распределены на нескольких серверах.

Итак, как программировать с MapReduce?

С точки зрения пользователя, пользователь записывает программу map, ее метод map, а также записывает программу reduce, и ее метод reduce.

Затем запускает работу определяя количество задач map и reduce и затем - фото 24

Затем запускает работу, определяя количество задач map и reduce, и затем ожидает результата.

По сути, работа пользователя очень простая, потому что пользователю не нужно много знать о Hadoop или распределенном программировании.

Это внутри, реализация парадигмы MapReduce, и собственно планировщик должен обеспечить распараллеливание map, он должен разделить данные между различными задачами map.

И он должен передать данные из map в reduce, при этом разделяя ключи по reduce задачам.

А также необходимо распараллелить reduce.

Другими словами, необходимо запланировать сами задачи reduce.

И, наконец, необходимо реализовать хранилище для ввода map, для вывода map, которое совпадает с вводом reduce, а также реализовать вывод reduce.

Кроме того, нужно обеспечить, чтобы фаза reduce стартовала только после окончания фазы map.

Итак, как решить все эти проблемы?

В облаке распараллелить map легко, потому что каждая задача map является независимой от другой задачи map, и поэтому эти задачи map могут быть определены для выполнения любому серверу.

Обычно задачи map назначаются серверу, к которому эти данные наиболее близко находятся, чтобы уменьшить сетевые издержки.

Далее необходимо гарантировать, чтобы все исходящие записи map с одним и тем же ключом были присвоены одному и тому же reduce.

И это поможет перевести данные с map на reduce.

В этом случае вы используете функцию partitioning.

Например, как мы обсуждали ранее, может использоваться функция хэш-разбиения, когда каждому ключу присваивается номер задачи, который получается путем вычисления остатка от деления хеша ключа на количество reduce задач.

Завершить фазу reduce также легко, потому что каждая задача reduce не зависит от другой.

Каждой задаче reduce присваивается набор ключей, и эти наборы ключей не пересекаются друг с другом.

И поэтому их можно запустить независимо друг от друга.

Наконец, вам нужно реализовать хранилище.

Ввод map в начале идет из распределенной файловой системы, вывод map идет в локальную файловую систему map узла.

Ввод reduce идет из множества удаленных дисков, используя локальные файловые системы.

Вывод reduce идет в распределенную файловую систему.

Эта распределенная файловая система запускается обычно на тех же серверах, где выполняются задачи map и reduce.

Например, Apache Hadoop использует HDFS, известную как распределенная файловая система Hadoop.

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

Она копирует файловые блоки как минимум три раза и эти три файловые копии размещаются на трех разных серверах.

И поэтому, когда запускается задача map, необходимо извлечь блок данных, который является его блоком входных данных с одного из серверов, который хранит его в настоящее время.

Задача запрашивает онлайн-файловую систему HDFS, чтобы сделать это, и эта передача выполняется быстрее, если сервер, на котором расположен этот конкретный блок, фактически является тем же сервером, на котором выполняется задача map.

Вывод map не хранится в распределенной файловой системе.

Вместо этого вывод map сохраняется на локальном диске на сервере, на котором выполняется задача map.

И ввод данных reduce производится с этих удаленных дисков.

Причина, по которой этот промежуточный траффик между map и reduce использует локальную файловую систему – это скорость передачи данных и потому что эти данные не нужны внешнему пользователю.

Наконец, когда результат reduce получен, он записывается в распределенную файловую систему обратно, где он становится доступен.

Давайте немного посмотрим, как работает планировщик.

Планировщик YARN – это планировщик, который используется в Apache Hadoop.

YARN означает Yet Another Resource Negotiator.

Он обрабатывает каждый сервер как коллекцию контейнеров.

Контейнер – это процессор с некоторой памятью.

Таким образом, каждый сервер состоит из коллекции контейнеров.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Введение в облачные и распределенные информационные системы»

Представляем Вашему вниманию похожие книги на «Введение в облачные и распределенные информационные системы» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Введение в облачные и распределенные информационные системы»

Обсуждение, отзывы о книге «Введение в облачные и распределенные информационные системы» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x