Глоссарий терминов для работы с 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-интерфейс

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
DataNode

Рабочий сервер, отвечающий за хранение и обработку данных, а также за запуск рабочих процессов других компонентов;

– представляет собой программный код, как правило, выполняющийся на выделенной машине экземпляра HDFS и отвечающий за операции уровня файла (работа с блоками данных);

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

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

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

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

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

DNS-сервер
Domain name server — приложение, предназначенное для ответов на DNS-запросы по соответствующему протоколу. Также DNS-сервером могут называть хост, на котором запущено приложение.
FQDN

Полное доменное имя (Fully Qualified Domain Name) — имя домена, не имеющее неоднозначностей в определении. Включает в себя имена всех родительских доменов иерархии DNS.

В DNS и, что особенно существенно, в файлах зоны, FQDN завершаются точкой (например, example.com.), то есть включают корневое доменное имя, которое является безымянным

HAR
Архивы Hadoop
HBase

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

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

HDFS

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

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

IP-адрес
IP address, Internet Protocol Address — уникальный сетевой адрес узла в компьютерной сети, построенной на основе стека протоколов TCP/IP. IP-адрес состоит из двух частей: номера сети и номера узла
Java Heap
Динамически распредляемая область памяти, создаваемая при старте JVM
JCE
Криптографическое расширение Java (англ. Java Cryptography Extension) — официально выпущенное стандартное расширение для платформы Java и часть Java Cryptography Architecture (JCA). Представляет собой набор пакетов, который обеспечивает фреймворк и реализацию таких криптографических задач, как шифрование и дешифрование данных, генерация и проверка на подлинность ключей управления, а так же реализацию для и Message Authentication Code (MAC) алгоритмов
JMX
Управленческие расширения Java (Java Management Extensions) — технология 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 Principal (хост, пользователь и домен) и ключи шифрования (определяются из пароля Kerberos). Это файл применяется для аутентификации в инфраструктуре Kerberos (при этом не нужно вручную вводить логин и пароль)

LDAP

Lightweight Directory Access Protocol — протокол прикладного уровня для доступа к службе каталогов X.500, разработанный IETF как облегчённый вариант разработанного ITU-T протокола DAP.

LDAP — относительно простой протокол, использующий TCP/IP и позволяющий производить операции аутентификации (bind), поиска (search) и сравнения (compare), а также операции добавления, изменения или удаления записей

MapReduce

Программный каркас для программирования распределённых вычислений в рамках парадигмы MapReduce. Разработчику приложения для Hadoop MapReduce необходимо реализовать базовый обработчик, который на каждом вычислительном узле кластера обеспечит преобразование исходных пар «ключ – значение» в промежуточный набор пар «ключ – значение» (класс, реализующий интерфейс Mapper, назван по функции высшего порядка Map), и обработчик, сводящий промежуточный набор пар в окончательный, сокращённый набор (свёртку, класс, реализующий интерфейс Reducer).

Каркас передаёт на вход свёртки отсортированные выводы от базовых обработчиков, сведение состоит из трёх фаз – shuffle (тасовка, выделение нужной секции вывода), sort (сортировка, группировка по ключам выводов от распределителей – досортировка, требующаяся в случае, когда разные атомарные обработчики возвращают наборы с одинаковыми ключами, при этом, правила сортировки на этой фазе могут быть заданы программно и использовать какие-либо особенности внутренней структуры ключей) и собственно reduce (свёртка списка) – получения результирующего набора. Для некоторых видов обработки свёртка не требуется, и каркас возвращает в этом случае набор отсортированных пар, полученных базовыми обработчиками

Mover
Инструмент переноса данных HDFS
MySQL
Свободная реляционная система управления базами данных
NameNode

Ведущий сервер, управляющий метаданными файловой системы;

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

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

  • управление пространством имен файловой системы;
  • управление доступом со стороны внешних клиентов;
  • соответствие между файлами и реплицированными на узлах данных блоками
NTP
Network Time Protocol, протокол сетевого времени — сетевой протокол для синхронизации внутренних часов компьютера с использованием сетей с переменной латентностью
OpenJDK
Проект по созданию полностью совместимого Java Development Kit, состоящего исключительно из свободного и открытого исходного кода
Postgres

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

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

PostgreSQL
Свободная объектно-реляционная система управления базами данных
REST

Representational State Transfer — архитектурный стиль взаимодействия компонентов распределённого приложения в сети. REST представляет собой согласованный набор ограничений, учитываемых при проектировании распределённой гипермедиа-системы;

— общие принципы организации взаимодействия приложения/сайта с сервером посредством протокола HTTP

Root
Суперпользователь — специальный аккаунт в UNIX-подобных системах с идентификатором 0, владелец которого имеет право на выполнение всех без исключения операций
RPM-пакет
RPM Package Manager — обозначает две сущности: формат пакетов программного обеспечения и программа, созданная для управления этими пакетами. Программа позволяет устанавливать, удалять и обновлять программное обеспечение
Secondary NameNode

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

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

  • копирует образ HDFS (расположенный в файле FsImage) и лог транзакций операций с файловыми блоками (EditLog) во временную папку;
  • применяет изменения, накопленные в логе транзакций к образу HDFS;
  • записывает новый образ FsImage на узел NameNode, после чего происходит очистка EditLog
Smoke Test
Минимальный набор тестов на явные ошибки. Обычно выполняется самим программистом; не проходившую этот тест программу не имеет смысла отдавать на более глубокое тестирование
SSH

Secure Shell — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.

SSH позволяет безопасно передавать в незащищённой среде практически любой другой сетевой протокол.

— протокол терминального доступа к *nix-системам, позволяющий производить удалённое управление данными пользователя, запускать различные служебные команды, работать в консольном режиме с базами данных. При передаче данных по протоколу SSH производится их шифрование, что обеспечивает безопасную работу с ними

SSL
Secure Sockets Layer — уровень защищённых cокетов — криптографический протокол, который подразумевает более безопасную связь. Он использует асимметричную криптографию для аутентификации ключей обмена, симметричное шифрование для сохранения конфиденциальности, коды аутентификации сообщений для целостности сообщений
Sticky bit
Дополнительный атрибут файлов или каталогов в операционных системах семейства UNIX
Su
Substitute User, Set UID, Switch User, Super User — замена пользователя, переключение пользователя, суперпользователь — команда Unix-подобных операционных систем, позволяющая пользователю войти в систему под другим именем, не завершая текущий сеанс. Обычно используется для временного входа суперпользователем для выполнения административных работ
Sudo
Substitute user and do — программа для системного администрирования UNIX-систем, позволяющая делегировать те или иные привилегированные ресурсы пользователям с ведением протокола работы. Основная идея — дать пользователям как можно меньше прав, при этом достаточных для решения поставленных задач. Программа поставляется для большинства UNIX и UNIX-подобных операционных систем
Ticket Granting Server
Сервер выдачи мандатов или разрешений
Ticket Granting Ticket
Билет на получение билета, TGT. TGT включает: вторую копию ключа сессии, имя пользователя, время окончания жизни билета. Билет на получение билета шифруется с использованием собственного мастер ключа службы KDC, который известен только KDC, т. е. TGT может быть расшифрован только самой службой KDC
URI
Uniform Resource Identifier — унифицированный (единообразный) идентификатор ресурса. URI — последовательность символов, идентифицирующая абстрактный или физический ресурс
URL
Uniform Resource Locator — единообразный локатор (определитель местонахождения) ресурса
YARN

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

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

Аутентификация
Authentication — процедура проверки подлинности
Брандмауэр
Firewall — программный комплекс, который служит для защиты компьютера от взлома хакерами, а также всевозможных вирусов и «троянов». Благодаря данной системе повышается степень безопасности работы в сети, и отражаются многие атаки на компьютер за счет фильтрации некоторых информационных пакетов
Дистрибутив
Distribute — форма распространения программного обеспечения. Дистрибутив обычно содержит программы для начальной инициализации системы
Индексный дескриптор

Структура данных в традиционных для ОС UNIX файловых системах, таких как UFS, ext4. В этой структуре хранится метаинформация о стандартных файлах, каталогах или других объектах файловой системы, кроме непосредственно данных и имени.

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

Индексные дескрипторы хранят информацию о файлах такую, как принадлежность владельцу (пользователю и группе), режим доступа (чтение, запись, запуск на выполнение) и тип файла

Инстанс
Instance — экземпляр класса в объектно-ориентированном программировании
Исходный код
Source code — текст компьютерной программы на каком-либо языке программирования или языке разметки, который может быть прочтён человеком. В обобщённом смысле — любые входные данные для транслятора
Кластер

Cluster — группа серверов и координирующего программного обеспечения, объединённых логически, способных обрабатывать идентичные запросы и использующихся как единый ресурс;

— объединение нескольких однородных элементов, которое может рассматриваться как самостоятельная единица, обладающая определёнными свойствами;

— единица хранения данных на гибких и жёстких дисках компьютеров;

— группа компьютеров, объединённых высокоскоростными каналами связи и представляющая с точки зрения пользователя единый аппаратный ресурс;

— группа серверов, объединённых логически, способных обрабатывать идентичные запросы и использующихся как единый ресурс

Мастер
Master — точка входа в систему базы данных ADH. Мастер принимает клиентские соединения и обрабатывает команды SQL. Мастер содержит системный каталог (набор системных таблиц, содержащих метаданные о ADH), однако мастер не содержит никаких пользовательских данных
Метаданные
Metadata — субканальная информация об используемых данных. Структурированные данные, представляющие собой характеристики описываемых сущностей для целей их идентификации, поиска, оценки, управления ими
Полное доменное имя

FQDN (Fully Qualified Domain Name) — имя домена, не имеющее неоднозначностей в определении. Включает в себя имена всех родительских доменов иерархии DNS.

В DNS и, что особенно существенно, в файлах зоны, FQDN завершаются точкой (например, example.com.), то есть включают корневое доменное имя, которое является безымянным

Представление

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

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

— пользовательский интерфейс построения MySQL-запросов

Принципал
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-адрес, и способное совершать обмен данными. Узлами могут быть компьютеры, мобильные телефоны, карманные компьютеры, а также специальные сетевые устройства, такие как маршрутизатор, коммутатор или концентратор
Файловый дескриптор

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

Файловые дескрипторы могут принимать значения от 0 до OPEN_MAX. Согласно POSIX.1, значение OPEN_MAX равно 19. В реальных ОС это значение может быть больше.

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

Хост

Host — любое устройство, предоставляющее сервисы формата «клиент-сервер» в режиме сервера по каким-либо интерфейсам и уникально определённое на этих интерфейсах. В более частном случае под хостом могут понимать любой компьютер, сервер, подключённый к локальной или глобальной сети;

— хост протокола TCP/IP, то есть сетевой интерфейс устройства, подключённого к IP-сети. Как и всякий другой хост, этот имеет уникальное определение в среде сервисов TCP/IP (IP-адрес). С хостом протокола TCP/IP может быть также связана необязательная текстовая характеристика — доменное имя

Шлюз
Gateway — сетевое устройство, предназначенное для объединения двух сетей (передачи между ними пользовательского трафика), которые обладают различными характеристиками, используют различные протоколы или технологии. Одним из самых распространенных способов применения Gateway является обеспечение доступа из локальной сети (LAN) во внешнюю сеть, например Интернет