Глоссарий терминов для работы с ADH

В документе приведено краткое описание базовых терминов, используемых в сопроводительной документации по кластеру Arenadata Hadoop.

Important

Контактная информация службы поддержки – e-mail: info@arenadata.io

ACL
Access Control List – список контроля доступа, который определяет, кто или что может получать доступ к конкретному объекту, и какие именно операции разрешено или запрещено этому субъекту проводить над объектом.
Active Directory

“Активный каталог”, AD – службы каталогов корпорации Microsoft для операционных систем семейства Windows Server. Первоначально создавалась, как LDAP-совместимая реализация службы каталогов, однако, начиная с Windows Server 2008, включает возможности интеграции с другими службами авторизации, выполняя для них интегрирующую и объединяющую роль.

Позволяет администраторам использовать групповые политики для обеспечения единообразия настройки пользовательской рабочей среды, разворачивать ПО на множестве компьютеров через групповые политики или посредством System Center Configuration Manager (ранее – Microsoft Systems Management Server), устанавливать обновления ОС, прикладного и серверного ПО на всех компьютерах в сети, используя Службу обновления Windows Server. Хранит данные и настройки среды в централизованной базе данных. Сети Active Directory могут быть различного размера: от нескольких десятков до нескольких миллионов объектов.

Ambari-агент
Агент Ambari-сервера, предназначенный для запуска инструкций на узлах кластера.
Ambari-сервер
Сервер управления и конфигруации кластера Hadoop, использующийся для хранения конфигураций сервисов, их настройки и отображения метрик кластера.
API
Application programming interface – программный интерфейс приложения: набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) или операционной системой для использования во внешних программных продуктах.
Arenadata Unified Data Platform
Универсальная платформа данных – интегрированный набор компонентов корпоративного уровня на базе решений с открытым исходным кодом.
Cache Directive
Определяет контур для кэширования. Пути могут указывать либо каталоги, либо файлы. Каталоги кэшируются не рекурсивно, то есть кэшируются только файлы в листинге каталога первого уровня. Cache Directives также указывают дополнительные параметры, такие как фактор репликации кэша и время окончания.
Cache Pool
Административный объект, используемый для управления группами Cache Directive. Кэш-пулы имеют UNIX-подобные разрешения, которые ограничивают доступ пользователей и групп к пулу.
CLI
Command Line Interface, Common Language Infrastructure – общеязыковая инфраструктура для платформы Microsoft.NET.
Cluster
Кластер – группа серверов и координирующего программного обеспечения, объединенных логически, способных обрабатывать идентичные запросы и использующихся как единый ресурс.
DataNode

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

Кроме того, узел DataNode отвечает за:

  • периодическую отправку сообщения о состоянии (heartbeat-сообщения);
  • обработку запросов на чтение и запись, поступающие от клиентов файловой системы HDFS, т.к. данные проходят с остальных машин кластера к клиенту мимо узла NameNode.
Distribute
Дистрибутив – форма распространения программного обеспечения. Обычно содержит программы для начальной инициализации системы.
DNS

Domain Name System – компьютерная распределенная система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись).

Распределенная база данных DNS поддерживается с помощью иерархии DNS-серверов, взаимодействующих по определенному протоколу.

DNS-сервер
Domain name server – приложение, предназначенное для ответов на DNS-запросы по соответствующему протоколу. Также DNS-сервером могут называть хост, на котором запущено приложение.
ECC memory
ECC-память (error-correcting code memory, память с коррекцией ошибок) – тип компьютерной памяти, которая автоматически распознает и исправляет спонтанно возникшие изменения (ошибки) битов памяти.
Firewall
Брандмауэр – программный комплекс, который служит для защиты компьютера от взлома хакерами, а также всевозможных вирусов и “троянов”. Благодаря данной системе повышается степень безопасности работы в сети и отражаются многие атаки на компьютер за счет фильтрации информационных пакетов.
FQDN
Fully Qualified Domain Name, полное доменное имя – имя домена, не имеющее неоднозначностей в определении. Включает в себя имена всех родительских доменов иерархии DNS. FQDN завершаются точкой (например, example.com.), то есть включают корневое доменное имя, которое является безымянным.
Gateway
Шлюз – сетевое устройство, предназначенное для объединения двух сетей (передачи между ними пользовательского трафика), которые обладают различными характеристиками, используют различные протоколы или технологии. Одним из самых распространенных способов применения Gateway является обеспечение доступа из локальной сети (LAN) во внешнюю сеть, например Интернет.
HAR
Архивы Hadoop.
HBase

Нереляционная распределенная база данных с открытым исходным кодом, написана на Java; является аналогом Google BigTable.

Разрабатывается в рамках проекта Hadoop фонда Apache Software Foundation. Работает поверх распределенной файловой системы HDFS и обеспечивает BigTable-подобные возможности для Hadoop, то есть обеспечивает отказоустойчивый способ хранения больших объемов разреженных данных.

HDFS

Hadoop Distributed File System – файловая система, предназначенная для хранения файлов больших размеров, поблочно распределенных между узлами вычислительного кластера. Все блоки в HDFS (кроме последнего блока файла) имеют одинаковый размер, и каждый блок может быть размещен на нескольких узлах, размер блока и коэффициент репликации (количество узлов, на которых должен быть размещен каждый блок) определяются в настройках на уровне файла.

Благодаря репликации обеспечивается устойчивость распределенной системы к отказам отдельных узлов. Файлы в HDFS могут быть записаны лишь однажды (модификация не поддерживается), а запись в файл в одно время может вести только один процесс.

Host
Хост – любое устройство, предоставляющее сервисы формата “клиент-сервер” в режиме сервера по каким-либо интерфейсам и уникально определенное на этих интерфейсах. В частных случаях под хостом понимается любой компьютер, сервер, подключенный к локальной или глобальной сети.
Instance
Инстанс – экземпляр класса в объектно-ориентированном программировании.
IOPS
Input/output operations per second – количество операций ввода-вывода, выполняемых системой хранения данных, за одну секунду.
IP address
Internet Protocol Address, IP-адрес – уникальный сетевой адрес узла в компьютерной сети, построенной на основе стека протоколов TCP/IP. IP-адрес состоит из двух частей: номера сети и номера узла.
Java Heap
Куча – динамически распредляемая область памяти, создаваемая при старте JVM.
JCE
Java Cryptography Extension, криптографическое расширение Java – официально выпущенное стандартное расширение для платформы Java и часть Java Cryptography Architecture (JCA). Представляет собой набор пакетов, который обеспечивает фреймворк и реализацию таких криптографических задач, как шифрование и дешифрование данных, генерация и проверка на подлинность ключей управления, а так же реализацию для Message Authentication Code (MAC) алгоритмов.
JMX
Java Management Extensions, управленческие расширения Java – технология Java, предназначенная для контроля и управления приложениями, системными объектами, устройствами (например, принтерами) и компьютерными сетями.
JNI
Java Native Interface – стандартный механизм для запуска кода под управлением виртуальной машины Java (JVM), который написан на языках С/С++ или Ассемблере и скомпонован в виде динамических библиотек; позволяет не использовать статическое связывание.
Kerberos

KDC, Key Distribution Center – центр распределения ключей – является сторонним механизмом аутентификации, на который полагаются пользователи и сервисы для удостоверения подлинности друг друга. Состоит из трех частей:

  • База данных пользователей и сервисов (известных как принципалы), о которых он знает, и соответствующие пароли Kerberos;
  • Сервер аутентификации (AS), который выполняет первоначальную проверку подлинности и выдает Ticket Granting Ticket (TGT);
  • Ticket Granting Server (TGS) – сервер, который оформляет последующие билеты на основе начального TGT.

KDC – это служба, работающая на физически защищенном сервере. KDC хранит базу данных с информацией об учетных записях всех клиентов сети. Вместе с информацией о каждом абоненте в базе KDC хранится криптографический ключ, известный только этому абоненту и службе KDC. Служит для связи клиента с центром.

Keytab
Файл, содержащий один или несколько принципалов и их ключи. Применяется для аутентификации в инфраструктуре Kerberos (при этом не нужно вручную вводить логин и пароль).
LDAP
Lightweight Directory Access Protocol – относительно простой протокол, использующий TCP/IP и позволяющий производить операции аутентификации (bind), поиска (search) и сравнения (compare), а также операции добавления, изменения или удаления записей.
MapReduce
Программный каркас для программирования распределенных вычислений в рамках парадигмы MapReduce. Разработчику приложения для Hadoop MapReduce необходимо реализовать базовый обработчик, который на каждом вычислительном узле кластера обеспечит преобразование исходных пар “ключ-значение” в промежуточный набор пар “ключ-значение” (класс, реализующий интерфейс Mapper, назван по функции высшего порядка Map), и обработчик, сводящий промежуточный набор пар в окончательный сокращенный набор (свертку, класс, реализующий интерфейс Reducer).
Master
Мастер – точка входа в систему базы данных ADH. Принимает клиентские соединения и обрабатывает команды SQL. Мастер содержит системный каталог (набор системных таблиц, содержащих метаданные о ADH), однако мастер не содержит никаких пользовательских данных.
Metadata
Метаданные – субканальная информация об используемых данных. Структурированные данные, представляющие собой характеристики описываемых сущностей для целей их идентификации, поиска, оценки, управления ими.
Mover
Инструмент переноса данных HDFS.
MTBF
Mean time between failures, средняя наработка на отказ – наработка объекта от окончания восстановления его работоспособного состояния после отказа до возникновения следующего отказа.
MySQL
Свободная реляционная система управления базами данных.
NameNode

Ведущий сервер, управляющий метаданными файловой системы. Представляет собой программный код, выполняющийся, в общем случае, на выделенной машине экземпляра HDFS и отвечающий за файловые операции, такие как открытие и закрытие файлов, создание и удаление каталогов.

Кроме того, NameNode отвечает за:

  • управление пространством имен файловой системы;
  • управление доступом со стороны внешних клиентов;
  • соответствие между файлами и реплицированными на узлах данных блоками.
Node
Узел – устройство, соединенное с другими устройствами через сеть. По сути, узел – это устройство, имеющее свой IP-адрес, и способное совершать обмен данными. Узлами могут быть компьютеры, мобильные телефоны, карманные компьютеры, а также специальные сетевые устройства, такие как маршрутизатор, коммутатор или концентратор.
NSCD
Name Service Caching Daemon – демон (сервис), который предоставляет кэш для наиболее общих запросов службы имен.
NTP
Network Time Protocol, протокол сетевого времени – сетевой протокол для синхронизации внутренних часов компьютера с использованием сетей с переменной латентностью.
OpenJDK
Проект по созданию полностью совместимого Java Development Kit, состоящего исключительно из свободного и открытого исходного кода.
Over-Provisioning
Технология, использующаяся в твердотельных накопителях для резервирования свободного места под специфическую деятельность контроллера.
Postgres

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

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

PostgreSQL
Свободная объектно-реляционная система управления базами данных.
Principal
Принципал – уникальное имя пользователя или сервиса.
PSU
Power supply unit – блок питания.
RAID
Redundant Array of Independent Disks, избыточный массив независимых дисков – технология виртуализации данных, которая объединяет несколько дисков в логический элемент для избыточности и повышения производительности.
Realm
Сфера – сеть Kerberos, включающая KDC и ряд клиентов.
Replication
Репликация – механизм синхронизации содержимого нескольких копий объекта (например, содержимого базы данных).
REST
Representational State Transfer – архитектурный стиль взаимодействия компонентов распределенного приложения в сети посредством протокола HTTP. Представляет собой согласованный набор ограничений, учитываемых при проектировании распределенной гипермедиа-системы.
Root
Суперпользователь – специальный аккаунт в UNIX-подобных системах с идентификатором 0, владелец которого имеет право на выполнение всех без исключения операций.
RPM-пакет
RPM Package Manager – обозначает две сущности: формат пакетов программного обеспечения и программа, созданная для управления этими пакетами. Программа позволяет устанавливать, удалять и обновлять программное обеспечение.
Script

Скрипт – краткое описание действий, выполняемых системой. Разница между программами и сценариями довольно размыта. Сценарий – это программа, имеющая дело с готовыми программными компонентами.

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

Secondary NameNode

Вторичный NameNode, периодически сохраняющий пространство имен (namespace) и поддерживающий размер файла журнала модификаций HDFS в определенных пределах на NameNode.

Выполняет следующие функции:

  • копирует образ HDFS (расположенный в файле FsImage) и лог транзакций операций с файловыми блоками (EditLog) во временную папку;
  • применяет изменения, накопленные в логе транзакций к образу HDFS;
  • записывает новый образ FsImage на узел NameNode, после чего происходит очистка EditLog.
Smoke Test
Минимальный набор тестов на явные ошибки. Обычно выполняется самим программистом. Не проходившую этот тест программу не имеет смысла отдавать на более глубокое тестирование.
Snapshot
Снапшот – моментальный снимок, копия файлов и директорий файловой системы на определенный момент времени.
Source code
Исходный код – текст компьютерной программы на каком-либо языке программирования или языке разметки, который может быть прочтен человеком. В обобщенном смысле – любые входные данные для транслятора.
SSH
Secure Shell – сетевой протокол прикладного уровня, позволяющий производить удаленное управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.
SSL
Secure Sockets Layer – уровень защищенных cокетов – криптографический протокол, который подразумевает более безопасную связь. Он использует асимметричную криптографию для аутентификации ключей обмена, симметричное шифрование для сохранения конфиденциальности, коды аутентификации сообщений для целостности сообщений.
Stack
Стек – абстрактный тип данных, представляющий собой список элементов, организованных по принципу LIFO (англ. last in — first out, “последним пришел — первым вышел”).
Sticky bit
Дополнительный атрибут файлов или каталогов в операционных системах семейства UNIX.
Su
Substitute User, Set UID, Switch User, Super User – замена пользователя, переключение пользователя, суперпользователь – команда Unix-подобных операционных систем, позволяющая пользователю войти в систему под другим именем, не завершая текущий сеанс. Обычно используется для временного входа суперпользователем для выполнения административных работ.
Sudo
Substitute user and do – программа для системного администрирования UNIX-систем, позволяющая делегировать те или иные привилегированные ресурсы пользователям с ведением протокола работы. Основная идея – дать пользователям как можно меньше прав, при этом достаточных для решения поставленных задач.
TCO
Total Cost of Ownership, совокупная стоимость владения или стоимость жизненного цикла – общая величина целевых затрат, которые вынужден нести владелец с момента начала реализации вступления в состояние владения до момента выхода из состояния владения и исполнения владельцем полного объёма обязательств, связанных с владением.
Ticket Granting Server
Сервер выдачи мандатов или разрешений.
Ticket Granting Ticket
Билет на получение билета, TGT – включает: вторую копию ключа сессии, имя пользователя, время окончания жизни билета. Билет на получение билета шифруется с использованием собственного мастер-ключа службы KDC, который известен только KDC, т.е. TGT может быть расшифрован только самой службой KDC.
URI
Uniform Resource Identifier – унифицированный (единообразный) идентификатор ресурса. URI – последовательность символов, идентифицирующая абстрактный или физический ресурс.
URL
Uniform Resource Locator – единообразный локатор (определитель местонахождения) ресурса.
View

Представление – виртуальная (логическая) таблица, представляющая собой поименованный запрос (синоним к запросу), который будет подставлен как подзапрос при использовании представления.

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

YARN

Yet Another Resource Negotiator – модуль, появившийся с версией 2.0 (2013), отвечающий за управление ресурсами кластеров и планирование заданий. Если в предыдущих выпусках эта функция была интегрирована в модуль MapReduce, где была реализована единым компонентом (JobTracker), то в YARN функционирует логически самостоятельный демон (daemon) – планировщик ресурсов (ResourceManager), абстрагирующий все вычислительные ресурсы кластера и управляющий их предоставлением приложениям распределенной обработки.

Работать под управлением YARN могут как MapReduce-программы, так и любые другие распределенные приложения, поддерживающие соответствующие программные интерфейсы; YARN обеспечивает возможность параллельного выполнения нескольких различных задач в рамках кластера и их изоляцию (по принципам мультиарендности).

Брандмауэр
Firewall – программный комплекс, который служит для защиты компьютера от взлома хакерами, а также всевозможных вирусов и “троянов”. Благодаря данной системе повышается степень безопасности работы в сети и отражаются многие атаки на компьютер за счет фильтрации информационных пакетов.
Дистрибутив
Distribute – форма распространения программного обеспечения. Обычно содержит программы для начальной инициализации системы.
Индексный дескриптор
Структура данных в традиционных для ОС UNIX-файловых системах, таких как UFS, ext4. В этой структуре хранится метаинформация о стандартных файлах, каталогах или других объектах файловой системы, кроме непосредственно данных и имени.
Инстанс
Instance – экземпляр класса в объектно-ориентированном программировании.
Исходный код
Source code – текст компьютерной программы на каком-либо языке программирования или языке разметки, который может быть прочтен человеком. В обобщенном смысле – любые входные данные для транслятора.
Кластер
Cluster – группа серверов и координирующего программного обеспечения, объединенных логически, способных обрабатывать идентичные запросы и использующихся как единый ресурс.
Куча
Java Heap – динамически распредляемая область памяти, создаваемая при старте JVM.
Мастер
Master – точка входа в систему базы данных ADH. Принимает клиентские соединения и обрабатывает команды SQL. Мастер содержит системный каталог (набор системных таблиц, содержащих метаданные о ADH), однако мастер не содержит никаких пользовательских данных.
Метаданные
Metadata – субканальная информация об используемых данных. Структурированные данные, представляющие собой характеристики описываемых сущностей для целей их идентификации, поиска, оценки, управления ими.
Представление

View – виртуальная (логическая) таблица, представляющая собой поименованный запрос (синоним к запросу), который будет подставлен как подзапрос при использовании представления.

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

Принципал
Principal – уникальное имя пользователя или сервиса.
Репликация
Replication – механизм синхронизации содержимого нескольких копий объекта (например, содержимого базы данных).
Самоподписанный (самозаверенный) сертификат
Специальный тип сертификата, подписанный самим его субъектом. Технически данный тип ничем не отличается от сертификата, заверенного подписью удостоверяющего центра (УЦ), только вместо передачи на подпись в УЦ пользователь создает свою собственную сигнатуру. Создатель сертификата сам является в данном случае УЦ. Все корневые сертификаты доверенных УЦ являются самоподписанными (самозаверенными).
Сервер аутентификации
Authentication Server, AS – сервер аутентификации выполняет одну функцию: получает запрос, содержащий имя клиента, запрашивающего аутентификацию, и возвращает ему зашифрованный TGT. Затем пользователь может использовать этот TGT для запроса дальнейших мандатов на другие сервисы. В большинстве реализаций Kerberos время жизни TGT 8-10 часов. После этого клиент снова должен запросить его у СА.
Скрипт

Script – краткое описание действий, выполняемых системой. Разница между программами и сценариями довольно размыта. Сценарий – это программа, имеющая дело с готовыми программными компонентами.

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

Снапшот
Snapshot – моментальный снимок, копия файлов и директорий файловой системы на определенный момент времени.
Стек
Stack – абстрактный тип данных, представляющий собой список элементов, организованных по принципу LIFO (англ. last in — first out, “последним пришел — первым вышел”).
Суперпользователь
Root – специальный аккаунт в UNIX-подобных системах с идентификатором 0, владелец которого имеет право на выполнение всех без исключения операций.
Сфера
Realm – сеть Kerberos, включающая KDC и ряд клиентов.
Узел
Node – устройство, соединенное с другими устройствами через сеть. По сути, узел – это устройство, имеющее свой IP-адрес, и способное совершать обмен данными. Узлами могут быть компьютеры, мобильные телефоны, карманные компьютеры, а также специальные сетевые устройства, такие как маршрутизатор, коммутатор или концентратор.
Файловый дескриптор

Ко всем потокам ввода-вывода (которые могут быть связаны как с файлами, так и с каталогами, сокетами и FIFO) можно получить доступ через так называемые файловые дескрипторы. Файловый дескриптор – это неотрицательное целое число. Когда создается новый поток ввода-вывода, ядро возвращает процессу, создавшему поток, его файловый дескриптор.

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

Хост
Host – любое устройство, предоставляющее сервисы формата “клиент-сервер” в режиме сервера по каким-либо интерфейсам и уникально определенное на этих интерфейсах. В частных случаях под хостом понимается любой компьютер, сервер, подключенный к локальной или глобальной сети.
Шлюз
Gateway – сетевое устройство, предназначенное для объединения двух сетей (передачи между ними пользовательского трафика), которые обладают различными характеристиками, используют различные протоколы или технологии. Одним из самых распространенных способов применения Gateway является обеспечение доступа из локальной сети (LAN) во внешнюю сеть, например Интернет.