Важно: Данный раздел актуален для Платформы данных On-Premise.
RT.DataLake представляет собой масштабируемую платформу с открытым исходным кодом, предназначенную для хранения, обработки и анализа больших объёмов данных.
Платформа спроектирована так, чтобы обеспечить быструю, лёгкую и незатратную загрузку данных различного формата из большого количества источников.
Платформа представляет собой комплекс сервисов, которые обеспечивают не только хранение и обработку данных, но и управление, безопасность и операции.
Платформа включает в себя Hadoop, который состоит из MapReduce, Hadoop Distributed File System (HDFS) и Yet Another Resource Negotiator (YARN), а также Hive другие компоненты экосистемы Hadoop.
Все компоненты интегрированы друг с другом и протестированы на совместимость.
HDFS — это основное распределённое хранилище, используемое приложениями Hadoop. Кластер HDFS в основном состоит из NameNode, который управляет метаданными файловой системы, и DataNode, в которых хранятся фактические данные. Основные взаимодействия между NameNode, DataNodes и клиентами следующие: клиенты связываются с NameNode для изменения метаданных файла и выполняют фактический ввод-вывод файла непосредственно с помощью DataNodes.
Далее приведены некоторые из основных функций, которые могут представлять интерес для пользователей:
NameNode и DataNode запускают внутренний веб-сервер для отображения базовой информации о текущем состоянии кластера. В конфигурации по умолчанию главная страница NameNode находится по адресу http://namenode-name:9870/. На ней перечислены узлы данных в кластере и основные статистические данные кластера. Веб-интерфейс также можно использовать для просмотра файловой системы, используя ссылку Browse the file system на главной странице NameNode.
HDFS имеет один NameNode для каждого кластера. В настоящее время общий объём памяти, доступный на NameNode, является основным ограничением масштабируемости. В очень больших кластерах увеличение среднего размера файлов, хранящихся в HDFS, помогает увеличить размер кластера без увеличения требований к памяти для NameNode.
Для работы с HDFS через командную строку необходимо использовать нативный shell-клиент для HDFS.
Для использования shell-команд, с помощью которых можно взаимодействовать с HDFS, необходимо в терминале запустить скрипт bin/hdfs.
При запуске скрипта bin/hdfs без аргументов будет выведен перечень всех возможных команд.
Чтобы запустить конкретную команду, необходимо воспользоваться синтаксисом и перечнем команд, приведёнными ниже.
Общий синтаксис команд:
hadoop [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS]
Описание параметров и классов команд представлено ниже.
Таблица 1— Параметры и классы
COMMAND_OPTIONS |
Описание |
---|---|
SHELL_OPTIONS | Общий набор shell-параметров. |
GENERIC_OPTIONS | Общий набор параметров, поддерживаемый несколькими командами. |
COMMAND COMMAND_OPTIONS | В следующих пунктах раздела описаны различные пользовательские команды с их параметрами. |
Команда classpath выводит путь к классу, необходимый для получения jar-файла Hadoop и необходимых библиотек.
Если вызывается без аргументов, выводит путь к классам, установленных командными скриптами, который будет содержать символы в записях пути к классам. Дополнительные параметры распечатывают путь к классам после раскрытия подстановочных знаков или записывают путь к классам в манифест файла jar. Последнее полезно в средах, где нельзя использовать подстановочные знаки, а расширенный путь к классам превышает максимальную поддерживаемую длину командной строки.
Синтаксис команды:
hadoop classpath [--glob |--jar <path> |-h |--help]
В команде могут быть использованы следующие параметры команды COMMAND_OPTION:
Команда fs предназначена для работы с распределённой файловой системой HDFS через командную строку.
Синтаксис команды:
hadoop fs [COMMAND [COMMAND_OPTIONS]]
Команды и их параметры COMMAND_OPTIONS представлены в разделах ниже.
Команда appendToFile позволяет добавить один или несколько источников из локальной файловой системы в целевую файловую систему.
Синтаксис команды:
hadoop fs -appendToFile <localsrc> ... <dst>
Пример команды:
hadoop fs -appendToFile localfile1 localfile2 /dir
Команда добавит файлы localfile1 и localfile2 в каталог HDFS dir.
Команда cat выводит источник в стандартный поток вывода — stdout.
Синтаксис команды:
hadoop fs –cat <URI>
Пример команды:
hadoop fs -cat /dir/file.txt
Команда выведет файл в stdout.
Если файл, выводимый в stdout, содержит большой объём данных, то процедура будет выполняться долго.
Пример команды для вывода 100 строк из файла:
hadoop fs -cat /dir/file.txt | head -n 100
Команда выведет только 100 первых строк файла в stdout.
Команда chgrp позволяет изменять групповую ассоциацию файлов. Пользователь должен обладать привилегиями — быть владельцем файлов или суперпользователем.
Синтаксис команды:
hadoop fs -chgrp [-r] GROUP URI [URI ...]
Пример команды:
hadoop fs -chgrp mygroup /dir/file.txt
Команда сменит для файла file.txt группу-владельца на mygroup.
Чтобы рекурсивно сменить группу-владельца для всего каталога (с подкаталогами), необходимо использовать параметр -r.
Пример команды для рекурсивной смены владельца:
hadoop fs -chgrp –r mygroup /dir
Команда сменит для каталога dir и всех его подкаталогов группу-владельца на mygroup.
Команда chmod позволяет изменять права доступа к файлам. Пользователь должен обладать привилегиями — быть владельцем файлов или суперпользователем.
Синтаксис команды:
hadoop fs -chmod [-r] <MODE[,MODE]... | OCTALMODE> URI [URI ...]
Пример команды:
hadoop fs -chmod 777 /dir
Команда изменит для каталога dir права rwx (чтение, выполнение и запись) для всех, кто имеет доступ к серверу (владельца, группы, остальных).
Чтобы рекурсивно изменить права доступа для всего каталога (с подкаталогами), необходимо использовать параметр -r.
Пример команды для рекурсивного изменения прав доступа:
hadoop fs -chmod –r 766 /dir
Команда изменит для каталога dir и всех его подкаталогов права доступа rwx для владельца, rw (чтение, запись) для групп и остальных.
2.2.2.5 [chown] Изменение владельца файла
Команда chown позволяет сменить владельца файла. Пользователь должен обладать привилегиями — быть суперпользователем.
Синтаксис команды:
hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]
Пример команды:
hadoop fs -chown hduser /dir
Команда сменит для каталога dir владельца на hduser.
Чтобы рекурсивно сменить владельца для всего каталога (с подкаталогами), необходимо использовать параметр -r.
Пример команды для рекурсивной смены владельца:
hadoop fs -chown –r hduser /dir
Команда сменит для каталога dir и всех его подкаталогов владельца на hduser.
Команда copyFromLocal позволяет копировать локальный файл в HDFS.
Синтаксис команды:
hadoop fs -copyFromLocal <локальный src> URI
Пример команды:
hadoop fs -copyFromLocal localfile /dir/file
Команда скопирует localfile из локального каталога в каталог HDFS dir с переименованием файла в file.
Команда copyToLocal позволяет копировать файл из HDFS в локальную файловую систему.
Синтаксис команды:
hadoop fs -copyToLocal [-ignorecrc] [-crc] URI <локальное местоназначение>
Пример команды:
hadoop fs -copyToLocal /dir/file localfile
Команда скопирует file из каталога HDFS dir в локальную файловую систему с переименованием файла в localfile.
Команда count позволяет подсчитать количество каталогов, файлов и байтов по путям, которые соответствуют указанному шаблону файла
Синтаксис команды:
hadoop fs -count [-q] <paths>
Пример команды:
hadoop fs -count /dir
Команда подсчитает количество файлов в каталоге dir.
Чтобы вывести столбцы QUOTA, REMAINING_QUATA, SPACE_QUOTA, REMAINING_SPACE_QUOTA, DIR_COUNT, FILE_COUNT, CONTENT_SIZE, FILE_NAME,
необходимо использовать параметр -q.
Пример команды:
hadoop fs -count -q /dir
Команда выведет информацию о каталоге dir по вышеописанным столбцам.
Команда cp позволяет скопировать файлы из одного места в другое.
Если копируемый файл содержит большой объём данных, то процедура будет выполняться долго.
Синтаксис команды:
hadoop fs -cp [-f] URI [URI ...] <местоназначение>
Пример команды:
hadoop fs -cp /dir/file1 /otherDir/file2
Команда скопирует file1 из каталога dir в каталог otherDir с переименованием файла в file2.
Команда du позволяет вывести информацию о размерах файлов и каталогов, содержащихся в данном каталоге, или длину файла, если это всего лишь файл.
Синтаксис команды:
hadoop fs -du [-s] [-h] URI [URI ...]
Пример команды:
hadoop fs -du /user /dir
Команда выведет размеры каталогов user и dir.
Чтобы вывести совокупную сводку длин файлов, необходимо использовать параметр -s.
Пример команды для вывода общего размера каталога или файла:
hadoop fs -du -s /dir
Команда выведет информацию об общем размере всех файлов каталога dir.
Чтобы вывести размеры файлов в удобном для чтения виде (в Мб), необходимо использовать параметр -h.
Пример команды для вывода размеров файлов в удобочитаемом виде:
hadoop fs -du -h /user
Команда выведет информацию о размерах каждого файла каталога user в удобном виде.
Команда dus позволяет вывести информацию об общем размере каталога или файла. Является альтернативой команды hdfs dfs -du -s URI.
Синтаксис команды:
hadoop fs -dus URI [URI ...]
Пример команды:
hadoop fs -dus /dir
Команда выведет информацию об общем размере всех файлов каталога dir.
Команда expunge позволяет очистить корзину.
Когда файл удаляется в корзину (команда rm), он не сразу удаляется из HDFS, а переименовывается в файл в каталоге /trash. Пока файл остается там, его можно восстановить.
Синтаксис команды:
hadoop fs -expunge
Пример команды:
hadoop fs -expunge
Команда очистит содержимое корзины.
Команда help позволяет получить список всех команд в скрипте HDFS.
Синтаксис команды:
hadoop fs -help
Команда выведет список возможных команд.
Если в параметрах команды help указать название конкретной команды, то команда выведет информацию по введённой команде.
Синтаксис команды:
hadoop s fs –help <название команды>
Пример команды:
hadoop fs –help ls
Команда выведет информацию по команде ls.
Команда get позволяет копировать файл из HDFS в локальную файловую систему.
Синтаксис команды:
hadoop fs -get [-ignorecrc] [-crc] <src> <localdst>
Пример команды:
hadoop fs -get /dir/file localfile
Команда скопирует file из каталога HDFS dir в локальную файловую систему с переименованием файла в localfile.
Чтобы скопировать файлы, которые не прошли проверку кода циклической избыточности (CRC, Cyclic Redundancy Code), необходимо использовать параметр -ignorecrc.
Пример команды:
hadoop fs -get –ignorecrc /dir/file localfile
CRC является распространенным методом обнаружения ошибок передачи данных. Файлы контрольной суммы CRC имеют расширение. crc и используются для проверки целостности данных другого файла. Чтобы скопировать эти файлы, необходимо указать параметр -crc.
Пример команды:
hadoop fs -get –crc /dir/file localfile
Команда getfacl позволяет вывести списки контроля доступа (ACL, Access Control List) файлов и каталогов.
Синтаксис команды:
hadoop fs -getfacl [-R] <path>
Пример команды:
hadoop fs -getfacl /dir
Команда выведет списки контроля доступа к каталогу dir.
Чтобы рекурсивно вывести списки контроля доступа для всего каталога (с подкаталогами), необходимо использовать параметр -r.
Пример команды для рекурсивного вывода:
hadoop fs -getfacl -r /dir
Команда dsdtltn ACL для каталога dir и всех его подкаталогов.
Команда getmerge позволяет объединять файлы в src и записывать результат в указанный локальный файл назначения.
Чтобы добавить символ новой строки в конце каждого файла, необходимо указать параметр addnl.
Синтаксис команды:
hadoop fs -getmerge <src> <localdst> [addnl]
Пример команды:
hadoop fs -getmerge /dir/ ./file.txt
Команда ls используется для вывода списка (листинга) всех каталогов и статистики файлов.
Синтаксис команды:
hadoop fs -ls <args>
Пример использования команды:
hadoop fs -ls /
Команда выведет следующую информацию по корневому каталогу HDFS:
Команда lsr используется для вывода рекурсивного списка (листинга) всех каталогов (и подкаталогов) и статистики файлов. Является рекурсивной версией команды ls и используется в случае необходимости вывода иерархии каталогов.
Синтаксис команды:
hadoop fs -lsr <args>
Пример использования команды:
hadoop fs -lsr /
Команда mkdir создает новый каталог.
Синтаксис команды:
hadoop fs -mkdir [-p] <paths>
Пример использования команды:
hadoop fs -mkdir /data/new_path
Команда создаст каталог new_path по пути /data.
Команда moveFromLocal позволяет переместить локальный файл в HDFS.
Синтаксис команды:
hadoop fs -moveFromLocal <localsrc> <dst>
Пример команды:
hadoop fs -moveFromLocal localfile /dir/file
Команда скопирует localfile из локального каталога в каталог HDFS dir с переименованием файла в file, а затем удалит исходный файл localfile.
2.2.2.21 [moveToLocal] Перемещение файла из HDFS в локальную файловую систему
Команда moveToLocal позволяет переместить файл из HDFS в локальную файловую систему.
Синтаксис команды:
hadoop fs -moveToLocal [-crc] <src> <dst>
Пример команды:
hadoop fs -moveToLocal /dir/file localfile
Команда скопирует file из каталога HDFS dir в локальную файловую систему с переименованием файла в localfile, а затем удалит исходный файл.
Команда mv предназначена для перемещения файла из одного места в другое.
Физически перемещение данных не происходит. Происходит указание Namenode, что файл теперь будет храниться в другом каталоге.
Синтаксис команды:
hadoop fs -mv URI [URI ...] <dest>
Пример использования команды:
hadoop fs –mv /dir/file1 /otherDir
Команда переместит file1 из каталога dir в каталог otherDir.
Команда put позволяет копировать локальный файл в HDFS.
Синтаксис команды:
hadoop fs -put <локальный src> ... <местоназначение>
Пример команды:
hadoop fs -put localfile /dir/file
Команда скопирует localfile из локального каталога в каталог HDFS dir с переименованием файла в file.
Команда rm удаляет файл в корзину.
При случайном удалении большого файла его очень трудно восстановить. Поэтому файл сначала помещается в корзину. Корзина — специальный для каждого пользователя каталог. Файлы из него можно удалить или скопировать на прежнее место. Автоматическая очистка корзины задана в параметрах HDFS. Если нужно освободить место в HDFS, то можно удалить файл из корзины.
Синтаксис команды:
hadoop fs -rm [-skipTrash] URI [URI ...]
Пример команды:
hadoop fs -rm /dir/file
Команда удалит file из каталога dir в корзину.
Чтобы удалить безвозвратно файл, необходимо использовать параметр ‑skiptrash.
Пример команды для безвозвратного удаления файла:
hadoop fs -rm -skipTrash /dir/file
Команда удалит file из каталога dir безвозвратно.
Чтобы рекурсивно удалить весь каталог (с подкаталогами), необходимо использовать параметр -r.
Пример команды для рекурсивного удаления каталога:
hadoop fs -rm -r /dir
Команда удалит каталог dir со всеми подкаталогами.
Команда rmr рекурсивно удаляет каталог (со всеми подкаталогами) в корзину.
Синтаксис команды:
hadoop fs -rmr [-skipTrash] URI [URI ...]
Пример команды:
hadoop fs -rmr /dir
Команда удалит каталог dir со всеми подкаталогами.
Команда setfacl позволяет взаимодействовать со списками контроля доступа (ACL, Access Control List) — устанавливать, модифицировать и удалять ACL для файлов и каталогов.
Синтаксис команды:
hadoop fs -setfacl [-r] [-b|-k -m|-x <acl_spec> <path>]|[--set <acl_spec> <path>]
В команде могут быть использованы следующие параметры:
Примеры команды:
hadoop fs -setfacl -m user:hadoop:rw- /file
hadoop fs -setfacl -x user:hadoop /file
hadoop fs -setfacl -b /file
hadoop fs -setfacl -k /dir
hadoop fs -setfacl --set user::rw-,user:hadoop:rw-,group::r--,other::r-- /file
hadoop fs -setfacl -R -m user:hadoop:r-x /dir
hadoop fs -setfacl -m default:user:hadoop:r-x /dir
Команда setrep предназначена для изменения коэффициента репликации для указанного файла или каталога.
Синтаксис команды:
hadoop fs -setrep [-r] [-w] <numReplicas> <path>
В команде могут быть использованы следующие параметры:
Пример команды:
hadoop fs -setrep -w 3 /user/hadoop/dir1
Команда stat предназначена для вывода статистической информации о пути.
Синтаксис команды:
hadoop fs -stat URI [URI ...]
Пример команды:
hadoop fs -stat path
Команда выведет статистику о пути path.
Команда tail позволяет без чтения всего файла вывести только последние строки файла (последний килобайт). Например, можно использовать для чтения логов.
Синтаксис команды:
hadoop fs -tail [-f] URI
Пример использования команды:
hadoop fs -tail /dir/file.txt
Команда выведет последние строки файла.
2.2.2.30 [test] Вывод атрибутов файла
Команда test выводит атрибуты указанного файла или каталога.
Синтаксис команды:
hadoop fs -test -[ezd] URI
В команде могут быть использованы следующие параметры:
Пример использования команды:
hadoop fs -test -e filename
Команда text является аналогом команды cat, но при этом может служить для разархивирования файлов.
Синтаксис команды:
hadoop fs -text <scr>
Пример использования команды:
hadoop fs -text /dir/file.gz
Команда извлечёт архив и выведет его содержимое.
Команда touchz позволяет создать файл нулевой длины.
Синтаксис команды:
hadoop fs -touchz URI [URI ...]
Пример использования команды:
hadoop fs -touchz /dir
Команда создаст нулевой файл в каталоге dir.
Команда envvars позволяет отобразить вычисленные переменные среды Hadoop.
Синтаксис команды:
hadoop envvars
Команда fetchdt позволяет получить токен делегирования от NameNode.
Синтаксис команды:
hadoop fetchdt <opts> <token_file_path>
В команде могут быть использованы следующие параметры команды COMMAND_OPTION:
Команда fsck позволяет осуществлять проверку файловой системы.
Синтаксис команды:
hadoop fsck <path>
[-list-corruptfileblocks |
[-move | -delete | -openforwrite]
[-files [-blocks [-locations | -racks | -replicaDetails | -upgradedomains]]]
[-includeSnapshots] [-showprogress]
[-storagepolicies] [-maintenance]
[-blockId <blk_Id>]
В команде могут быть использованы следующие параметры команды COMMAND_OPTION:
Команда getconf позволяет получить информацию о настройках из каталогов конфигураций.
Синтаксис команды:
hadoop getconf -namenodes
hadoop getconf -secondaryNameNodes
hadoop getconf -backupNodes
hadoop getconf -journalNodes
hadoop getconf -includeFile
hadoop getconf -excludeFile
hadoop getconf -nnRpcAddresses
hadoop getconf -confKey [key]
В команде могут быть использованы следующие параметры команды COMMAND_OPTION:
Команда groups позволяет получить информацию о группах пользователей с учётом одного или нескольких имён пользователей.
Синтаксис команды:
hadoop groups [username ...]
Команда httpfs позволяет запустить сервер HttpFS, HTTP-шлюз HDFS.
Синтаксис команды:
hadoop httpfs
Команда lsSnapshottableDir позволяет получить список каталогов снапшотов. Когда он запускается от имени суперпользователя, он возвращает все каталоги снапшотов. В противном случае он возвращает те каталоги, которые принадлежат текущему пользователю.
Синтаксис команды:
hadoop lsSnapshottableDir [-help]
В команде могут быть использованы следующие параметры команды COMMAND_OPTION:
Команда jmxget позволяет получить дамп информации JMX из службы.
Синтаксис команды:
hadoop jmxget [-localVM ConnectorURL | -port port | -server mbeanserver | -service service]
В команде могут быть использованы следующие параметры команды COMMAND_OPTION:
Команда oev позволяет вывести просмотрщик и редактор файлов оффлайн.
Синтаксис команды:
hadoop oev [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE
В команде могут быть использованы следующие параметры команды COMMAND_OPTION:
Команда oiv позволяет вывести просмотрщик и редактор изображений оффлайн.
Синтаксис команды:
hadoop oiv [OPTIONS] -i INPUT_FILE
В команде могут быть использованы следующие параметры команды COMMAND_OPTION:
Команда snapshotDiff позволяет определить разницу между снапшотами.
Синтаксис команды:
hadoop snapshotDiff <path> <fromSnapshot> <toSnapshot>
Команда version позволяет посмотреть текущую версию HDFS.
Синтаксис команды:
hadoop version
NameNode хранит изменения в файловой системе в виде журнала изменений, добавляемого к родному файлу. Когда NameNode запускается, сервис считывает состояние HDFS из файла образа, fsimage, а затем применяет изменения из файла журнала. После чего он записывает новое состояние HDFS в fsimage и начинает обычную работу с пустым файлом правок. Поскольку NameNode объединяет fsimage и редактирует файлы только во время запуска, файл журнала изменений может со временем стать очень большим. Другим побочным эффектом большего файла журнала изменений является то, что следующий перезапуск NameNode занимает больше времени.
В свою очередь Secondary NameNode время от времени объединяет файлы журнала изменений с fsimage и сохраняет размер журнала в пределах лимита. Поскольку требования к памяти у вторичного и основного NameNode одинаковы, Secondary NameNode обычно запускается на другом узле, чем NameNode.
Запуск процесса контрольной точки на Secondary NameNode управляется двумя параметрами конфигурации:
Secondary NameNode хранит последнюю контрольную точку в каталоге, который структурирован таким же образом, как и каталог основного NameNode. Получается, образ с контрольной точки всегда готов к считыванию активным NameNode при необходимости.
Пример использования:
hdfs secondarynamenode [-checkpoint [force]] | [-format] | [-geteditsize]
Где:
NameNode сохраняет свое пространство имён с помощью двух файлов: fsimage, который является последней контрольной точкой пространства имен, и журнал изменений (log) в пространстве имён с момента контрольной точки. Когда NameNode запускается, он объединяет fsimage и журнал изменений, чтобы обеспечить актуальное представление метаданных файловой системы. Затем NameNode перезаписывает fsimage с новым состоянием HDFS и начинает новый журнал изменений.
Checkpoint Node периодически создаёт контрольные точки пространства имён. Он загружает fsimage и изменения из активного NameNode, объединяет их локально и загружает новое изображение обратно в активный NameNode. Checkpoint Node обычно работает на компьютере, отличном от NameNode, поскольку их требования к памяти одинаковы. Запуск Checkpoint Node осуществляется командой bin/hdfs namenode -checkpoint на указанном в конфигурационном файле узле.
Расположение Checkpoint Node (или Backup) и сопровождающего его веб-интерфейса настраивается с помощью переменных конфигурации dfs.namenode.backup.address и dfs.namenode.backup.http-address.
Запуск процесса контрольной точки на Checkpoint Node контролируется двумя параметрами конфигурации:
Checkpoint Node хранит последнюю контрольную точку в каталоге, который структурирован таким же образом, как и каталог NameNode. Таким образом контрольное изображение всегда доступно для чтения из NameNode при необходимости.
Внимание. В файле конфигурации кластера можно указать несколько Checkpoint Node. |
Пример использования:
hdfs namenode [-backup] |
[-checkpoint] |
[-format [-clusterid cid ] [-force] [-nonInteractive] ] |
[-upgrade [-clusterid cid] [-renameReserved<k-v pairs>] ] |
[-upgradeOnly [-clusterid cid] [-renameReserved<k-v pairs>] ] |
[-rollback] |
[-rollingUpgrade <rollback |started> ] |
[-importCheckpoint] |
[-initializeSharedEdits] |
[-bootstrapStandby [-force] [-nonInteractive] [-skipSharedEditsCheck] ] |
[-recover [-force] ] |
[-metadataVersion ]
Где:
Backup Node обеспечивает ту же функциональность контрольных точек, что и Checkpoint Node, а также поддерживает в памяти обновленную копию пространства имён файловой системы, которая всегда синхронизируется с активным состоянием NameNode. Наряду с принятием потока изменений файловой системы журнала из NameNode и сохранением его на диске, Backup Node также применяет эти изменения к своей собственной копии пространства имён в памяти, создавая таким образом резервную копию пространства имён.
Backup Node не нужно загружать fsimage и редактировать файлы с активного NameNode для создания контрольной точки, как это требуется для Checkpoint Node или Secondary NameNode, поскольку Backup Node уже имеет актуальный статус состояния пространства имён в памяти. Процесс создания контрольной точки Backup узла является более эффективным, поскольку ему нужно только сохранить пространство имён в локальном файле fsimage и сбросить изменения.
Поскольку Backup Node поддерживает копию пространства имён в памяти, его требования к RAM такие же, как и у узла NameNode.
Внимание. NameNode поддерживает один Backup Node. Узлы Checkpoint не могут быть зарегистрированы, если используется Backup. |
Backup Node настраивается так же, как узел Checkpoint, начиная с bin/hdfs namenode -backup.
Расположение Backup Node (или Checkpoint) и его веб-интерфейса настраивается с помощью переменных конфигурации dfs.namenode.backup.address и dfs.namenode.backup.http-address.
Использование Backup Node обеспечивает возможность запуска NameNode без постоянного хранилища, делегируя всю ответственность за сохранение состояния пространства имён Backup Node. Для этого необходимо запустить NameNode с параметром -importCheckpoint, а также не указывать постоянные каталоги хранения типа edits dfs.namenode.edits.dir в конфигурации NameNode.
Пример использования приведён в главе Checkpoint Node.
В случае потери всех копий образов и файлов транзакций в NameNode может быть импортирована последняя контрольная точка. Для этого необходимо:
При этом NameNode загружает контрольную точку из каталога dfs.namenode.checkpoint.dir, а затем сохраняет её в каталог NameNode, заданный в dfs.namenode.name.dir. Если в dfs.namenode.name.dir содержится допустимый образ, NameNode выдаёт ошибку. NameNode проверяет консистентность образа в dfs.namenode.checkpoint.dir, но не изменяет его каким-либо образом.
Пример использования приведён в главе Checkpoint Node.
Данные HDFS не всегда могут быть размещены равномерно по всем DataNode. Одной из распространённых причин является добавление новых DataNodes в существующий кластер. При размещении новых блоков (данные для файла хранятся в виде серии блоков) NameNode учитывает различные параметры, прежде чем выбирать узлы DataNodes для получения этих блоков. Некоторые из них:
Из-за множества конкурирующих соображений данные могут быть неравномерно размещены между узлами DataNodes. HDFS предоставляет инструмент для администраторов, который анализирует размещение блоков и осуществляет перебалансировку данных через DataNode.
Пример использования:
hdfs balancer
[-policy <policy>]
[-threshold <threshold>]
[-exclude [-f <hosts-file> | <comma-separated list of hosts>]]
[-include [-f <hosts-file> | <comma-separated list of hosts>]]
[-source [-f <hosts-file> | <comma-separated list of hosts>]]
[-blockpools <comma-separated list of blockpool ids>]
[-idleiterations <idleiterations>]
[-runDuringUpgrade]
Где:
Для остановки процесса перебалансировки администратор может просто нажать комбинацию клавиш Ctrl-C.
Внимание. Политика blockpool является более строгой, чем политика datanode. |
Помимо указанных параметров введена функция закрепления (pinning feature) для предотвращения перемещения определённых реплик балансировщиком или mover. По умолчанию функция отключена и может быть включена с помощью свойства конфигурации dfs.datanode.block-pinning.enabled. В включенном состоянии она влияет только на блоки, которые записываются в указанные в вызове create() узлы. Функция полезна при необходимости локального сохранения данных для таких приложений, как HBase regionserver.
Кластер HDFS может распознавать топологию стоек, в которых размещены все узлы. Важно настроить эту топологию, чтобы оптимизировать емкость и использование данных.
Во время запуска NameNode загружает состояние файловой системы из fsimage и файла журнала изменений. Затем, чтобы не начать преждевременную репликацию блоков, он ожидает, когда DataNodes сообщат о своих блоках, несмотря на то, что в кластере уже существует достаточное количество реплик. В течение этого времени NameNode остается в безопасном режиме (Safemode). Безопасный режим для NameNode по существу является режимом только для чтения для кластера HDFS, где он не допускает каких-либо изменений в файловой системе или блоках. Обычно NameNode выходит из Safemode автоматически после того, как узлы DataNodes сообщают, что большинство блоков файловой системы доступно.
При необходимости система HDFS может быть размещена в безопасном режиме явно с помощью команды bin/hdfs dfsadmin -safemode. Включён ли режим Safemode отображается на первой странице NameNode.
HDFS поддерживает команду fsck для проверки различных несоответствий. Команда предназначена для сообщения о проблемах с различными файлами, например, об отсутствующих блоках для файла или недостаточно реплицированных блоках. Но в отличие от традиционной утилиты fsck для собственных файловых систем, эта команда не исправляет обнаруженные ошибки.
Обычно NameNode автоматически исправляет большинство сбоев. По умолчанию fsck игнорирует открытые файлы, но предоставляет возможность выбора всех файлов во время создания отчётов. Команда fsck системы HDFS не является командой оболочки Hadoop, она может быть запущена путем bin/hdfs fsck.
Команда fsck может быть запущена по всей файловой системе или только на подмножестве файлов.
Пример использования:
hdfs fsck <path>
[-list-corruptfileblocks |
[-move | -delete | -openforwrite]
[-files [-blocks [-locations | -racks | -replicaDetails | -upgradedomains]]]
[-includeSnapshots] [-showprogress]
[-storagepolicies] [-maintenance]
[-blockId <blk_Id>]
Где:
Для получения Delegation Token и сохранения его в файле в локальной системе HDFS поддерживает команду fetchdt. Этот токен впоследствии можно использовать для доступа к защищённому серверу (например, NameNode) с незащищённого клиента. Утилита использует RPC или HTTPS (через Kerberos) для получения токена и, следовательно, требует наличия тикетов Kerberos перед запуском (необходимо запустить kinit для получения тикетов). В HDFS команда fetchdt не является командой оболочки Hadoop и может быть запущена как bin/hdfs fetchdt DTfile. После получения токена можно запустить команду HDFS без тикетов Kerberos, указав переменную среды HADOOP_TOKEN_FILE_LOCATION в файл токена делегирования.
Пример использования:
hdfs fetchdt <opts> <token_file_path>
Где:
Как правило, обычно настраивается несколько мест хранения метаданных. И в случае, если хранилище повреждается, метаданные можно прочитать из других хранилищ. Однако, что делать, если единственное доступное хранилище повреждено? Для таких ситуаций существует специальный режим запуска NameNode, называемый режимом восстановления — Recovery Mode, который позволяет восстановить большую часть данных.
Запуск NameNode в режиме восстановления осуществляется следующим образом: namenode -recover.
В режиме восстановления NameNode в командной строке интерактивно запрашивает о возможных действиях, которые необходимо предпринять для восстановления данных. Для того, чтобы не получать эти запросы, можно указать опцию -force, которая заставляет режим Recovery Mode всегда выбирать первый вариант действий, обычно являющийся самым разумным.
Внимание. Поскольку режим Recovery Mode может привести к потере данных, всегда необходимо перед его использованием делать резервную копию журнала изменений и fsimage. |
При обновлении Hadoop на существующем кластере, как и при любом обновлении программного обеспечения, возможны новые ошибки или несовместимые изменения, которые влияют на существующие приложения и не были обнаружены ранее. Система позволяет администраторам вернуться к более ранней версии Hadoop и откатить кластер до состояния, в котором он находился до обновления. Но HDFS может иметь одну такую резервную копию. Перед обновлением администраторам необходимо удалить существующую резервную копию с помощью команды bin/hadoop dfsadmin -finalizeUpgrade. Далее кратко описывается типичная процедура обновления:
При обновлении HDFS до новой версии необходимо переименовать или удалить все пути, зарезервированные в новой версии HDFS, в ином случае, когда NameNode встречает зарезервированный путь во время обновления, выдает ошибку:
/.reserved is a reserved path and .snapshot is a reserved path component in this
version of HDFS. Please rollback and delete or rename this path, or upgrade with the
-renameReserved [key-value pairs] option to automatically rename these paths during
upgrade.
Указание -upgrade -renameReserved [optional key-value pairs] заставляет NameNode автоматически переименовывать любые зарезервированные пути, найденные во время запуска. Например, чтобы переименовать все пути с именами .snapshot на .my-snapshot и .reserved на .my-reserved, необходимо указать -upgrade -renameReserved .snapshot=.my-snapshot,.reserved=.my-reserved.
Если с ключом -renameReserved не указаны пары ключ-значение, NameNode добавляет суффиксы зарезервированным путям в виде .<LAYOUT-VERSION>.UPGRADE_RENAMED, например, .snapshot.-51.UPGRADE_RENAMED.
Есть некоторые оговорки к этому процессу переименования и по возможности рекомендуется перед обновлением сначала выполнять hdfs dfsadmin -saveNamespace. Это связано с тем, что может возникнуть несогласованность данных, если операция журнала изменений ссылается на место назначения автоматически переименованного файла.
Datanode поддерживает возможность горячей замены дисков, поэтому пользователь может добавлять или заменять узлы DataNode в HDFS, не выключая их. Далее кратко описана типичная процедура замены Hot Swap Drive:
Права доступа к файлам схожи с правами доступа к файлам на других известных платформах, таких как Linux. В настоящее время безопасность ограничена простыми правами доступа к файлам. Пользователь, запускающий NameNode, для HDFS рассматривается как суперпользователь. Будущие версии HDFS будут поддерживать сетевые протоколы аутентификации, такие как Kerberos, для аутентификации пользователей и шифрования передачи данных.
В настоящее время Hadoop может работать на кластерах с тысячами узлов, где HDFS имеет по одному NameNode для каждого кластера. Таким образом общий объём памяти, доступный на NameNode, является основным ограничением масштабируемости. В очень больших кластерах увеличение среднего размера файлов, хранящихся в HDFS, способствует увеличению размера кластера без повышения требований к памяти для NameNode.
Внимание. Конфигурация по умолчанию может не подходить для очень больших кластеров. |
Основная идея YARN состоит в том, чтобы разделить функции управления ресурсами и планирования/мониторинга заданий на отдельные демоны. Суть заключается в том, чтобы иметь общий ResourceManager и ApplicationMaster для каждого приложения. Приложение — это отдельная работа или группа работ.
ResourceManager и NodeManager образуют среду для вычисления данных. ResourceManager — это высший орган, который распределяет ресурсы между всеми приложениями в системе. NodeManager — это агент инфраструктуры для каждой машины, который отвечает за контейнеры, отслеживает использование их ресурсов (процессор, память, диск, сеть) и сообщает об этом в ResourceManager/Scheduler.
ApplicationMaster для каждого приложения, по сути, является библиотекой, специфичной для платформы, и на него возложена задача согласования ресурсов из ResourceManager и работа с NodeManager(-ами) для выполнения и мониторинга задач.
ResourceManager имеет два основных компонента: Scheduler и ApplicationsManager.
Scheduler отвечает за распределение ресурсов между различными запущенными приложениями с учетом известных ограничений ёмкости, очередей и т.д. Scheduler является чистым планировщиком в том смысле, что он не выполняет никакого мониторинга или отслеживания состояния приложения. Кроме того, он не даёт никаких гарантий относительно перезапуска сбойных задач из-за ошибок приложения или оборудования. Планировщик выполняет свою функцию планирования на основе требований к ресурсам приложений на базе абстрактного понятия resource Container, включающего в себя такие элементы, как память, процессор, диск, сеть и т.д.
Планировщик имеет подключаемую политику, которая отвечает за распределение ресурсов кластера между различными очередями, приложениями и т.д.
ApplicationsManager отвечает за приём заявок, согласование первого контейнера для выполнения приложения определенным ApplicationMaster и предоставляет сервис для перезапуска контейнера ApplicationMaster при сбое. ApplicationMaster для каждого приложения отвечает за согласование подходящих resource Container с планировщиком, отслеживание их состояния и мониторинг прогресса.
MapReduce в hadoop-3.x поддерживает API-совместимость с предыдущей стабильной версией (hadoop-2.x). Это означает, что все задания MapReduce по-прежнему выполняются поверх YARN только с учётом перекомпиляции.
YARN поддерживает понятие резервирования ресурсов через ReservationSystem — компонент, который позволяет пользователям определять профиль ресурсов over-time и задавать временные ограничения (сроки), а так же резервировать ресурсы для обеспечения предсказуемого выполнения важных заданий. ReservationSystem отслеживает ресурсы over-time, выполняет управление допуском для резервирования и динамично инструктирует базовый планировщик, чтобы гарантировать, что резервирование полностью выполнено.
С целью масштабирования YARN за пределы нескольких тысяч узлов поддерживается понятие Federation через функцию YARN Federation. Федерация позволяет прозрачно соединять несколько кластеров (подкластеров) yarn и делать их единым массивным кластером. Это применимо для достижения большего масштаба и/или для того, чтобы несколько независимых кластеров могли использоваться вместе для очень объёмных заданий.
Hue представляет собой web-интерфейс, который позволяет пользователям интерактивно взаимодействовать с кластером Hadoop и его компонентами.
Hue содержит следующие приложения:
Интерфейс Hue является одностраничным приложением и содержит следующие области:
Панель поиска всегда доступна в верхней части экрана, а также предлагает поиск документов и поиск по метаданным, если Hue настроен для доступа к серверу метаданных.
Поиск предлагает следующие возможности:
1. Встроенный поиск и теги.
Hue позволяет искать любую таблицу, представление или столбец во всех базах данных в кластере.
Кроме того, имеется возможность помечать объекты тегами для их классификации и группировки по проектам. Эти теги доступны для поиска.
Автозаполнение панели поиска предлагает список аспектов и предварительное заполнение верхних значений. Нажатие клавиши ввода приводит список доступных объектов, которые можно открыть и исследовать далее во всплывающем окне, в помощнике или непосредственно в приложении для просмотра таблиц.
2. Детальный поиск.
По умолчанию возвращаются только таблицы и представления. Для поиска столбцов, разделов, баз данных используйте фильтр Тип:
Пример поиска:
С помощь левой вспомогательной панели можно найти документы Hue, файлы HDFS и S3 и другое. При щелчке правой кнопкой мыши по элементам отобразится список возможных действий с элементом.
Содержимое правой вспомогательной панели зависит от контекста выбранного приложения и отображает текущие таблицы или доступные UDF.
Всплывающее окно предлагает быстрый способ просмотреть образцы данных и другую статистику по базам данных, таблицам и столбцам. Вы можете открыть всплывающее окно из SQL Assist или щёлкнуть правой кнопкой мыши на любой объект SQL (таблица, столбец, функция и прочие).
Визуализация удобна для построения хронологических данных или, когда подмножества строк имеют один и тот же атрибут, они будут складываться вместе.
Цель Средства импорта — разрешить ad-hoc запросы к данным, которых ещё нет в кластере, тем самым ускорить self-service аналитику.
Если вы хотите импортировать свои собственные данные вместо образцов таблиц, откройте Средство импорта из левого меню или из + на левой вспомогательной панели.
Чтобы создать новые SQL-таблицы из файлов:
Хотя можно создавать таблицы, выполняя соответствующие команды DDL- и HQL-запросов Hive, проще создать таблицу с помощью мастера создания таблиц:
1. Из файла.
Чтобы создать таблицу из файла, необходимо:
Файлы можно перетаскивать, выбирать из HDFS или S3 (если настроено), и их форматы определяются автоматически. Мастер также помогает при выполнении расширенных функций, таких как разделение таблиц, таблицы Kudu и вложенные типы.
2. Вручную.
Чтобы создать таблицу вручную, необходимо:
На вкладке Search на панели навигации выберите Index.
Введите имя для новой коллекции и выберите наш файл данных отзывов из HDFS. Затем нажмите Next.
Hue позволяет принимать данные из традиционных баз данных.
Hue позволяет сохранять документы, а также обмениваться ими с другими пользователями.
Совместное использование происходит на главной странице или через верхнее правое меню приложения. Можно выбрать пользователей и группы с разрешениями на чтение или запись.
Через главную страницу сохраненные документы можно экспортировать для резервного копирования или переноса в другой Hue.
Язык определяется автоматически из браузера или ОС.
Язык может быть установлен вручную пользователем на странице My profile. Перейдите в My Profile —> Step2 Profile and Groups —> Language Preference и выберите нужный язык.
Hue ориентирован на SQL, но поддерживает и иные языки. Он позволяет работать с интеллектуальным автозаполнением, поиском и тегированием данных, а также поддержкой запросов.
Любой редактор может быть помечен звёздочкой рядом с его именем, чтобы он стал редактором по умолчанию и целевой страницей при входе в систему.
Во-первых, в файле hue.ini вам нужно объявить соответствующую информацию о подключении к базе данных в разделе librdbms:
[librdbms]
[[databases]]
[[[postgresql]]]
nice_name=PostgreSQL
name=music
engine=postgresql_psycopg2
port=5432
user=hue
password=hue
options={}
Во-вторых, необходимо добавить новый интерпретатор в приложение для notebook. Это позволит зарегистрировать новый тип базы данных как тип сниппета в приложении Notebook. Для редакторов запросов, использующих базу данных, совместимую с Django, имя в скобках должно совпадать с именем конфигурации базы данных в разделе librdbms (например, ‑postgresql). Интерфейс будет установлен на rdbms. Это сообщает Hue использовать драйвер librdbms и соответствующую информацию для подключения к базе данных. Например, с указанной выше конфигурацией подключения postgresql в разделе librdbms можно добавить интерпретатор PostgreSQL со следующей конфигурацией notebook:
[notebook]
[[interpreters]]
[[[postgresql]]]
name=PostgreSQL
interface=rdbms
Примечание. Чтобы выполнить запрос, вы должны авторизоваться в Hue как пользователь, у которого также есть учётная запись пользователя Unix на удалённом сервере. |
Чтобы выполнить запрос, необходимо:
1. Чтобы выполнить часть запроса, выделите один или несколько операторов запроса.
2. Щёлкните Execute. Откроется окно Query Results с результатами вашего запроса.
3. Если в запросе есть несколько операторов (разделённых точкой с запятой), щёлкните Next на панели запроса с несколькими операторами, чтобы выполнить оставшиеся операторы.
Если у вас есть несколько операторов, достаточно поместить курсор в оператор, который вы хотите выполнить, активный оператор обозначается синей меткой.
Примечание. Чтобы выполнить запрос, используйте Ctrl/Cmd + Enter. |
Примечание. На панели журналов вы можете просмотреть любые задания MapReduce, созданные в результате запроса. |
Внимание. Вы можете сохранить результаты в файл только в том случае, если результаты были созданы заданием MapReduce. Данный способ сохранения является предпочтительным, когда результат большой (например, > 1 млн строк). |
Чтобы скачать и сохранить результат запроса, выполните одно из следующих действий:
На панели вверху Редактора можно указать параметры, представленные в таблице ниже.
Таблица 2— Параметры Редактора
Параметр |
Описание |
---|---|
Database | База данных, содержащая определения таблиц. |
Settings |
Переопределение настроек Hive и Hadoop по умолчанию. Чтобы настроить новый параметр:
Например, чтобы переопределить каталог, в котором создаются структурированные журналы запросов Hive, вы должны ввести hive.querylog.location для Key и путь для Value. |
File resources |
Параметр для локальной доступности файлов во время выполнения запроса в кластере Hadoop. Hive использует Hadoop Distributed Cache для распространения добавленных файлов на все машины в кластере во время выполнения запроса.
3. В поле Path введите путь к файлу или щёлкните Browse, чтобы просмотреть и выбрать файл. Примечание. Нет необходимости указывать файлы, используемые в скрипте преобразования, если файлы доступны по одному и тому же пути на всех машинах в кластере Hadoop. |
User-defined functions |
Специальные функции, определяемые пользователем.
|
Parameterization | Указывает, что диалоговое окно должно отображаться для ввода значений параметров при выполнении запроса, содержащего строку $parametername. Включено по умолчанию. |
Инструмент автозаполнения знает все тонкости диалекта Hive SQL и предлагает ключевые слова, функции, столбцы, таблицы, базы данных в зависимости от структуры оператора и положения курсора.
Инструмент предлагает завершение не только для операторов SELECT, но и других операторов, таких как: DDL и DML, INSERT, CREATE, ALTER, DROP и прочих.
Инструмент осуществляет следующие типы автозаполнения:
1. Автозаполнение столбцов.
Если в предложении FROM появляется несколько таблиц, включая производные и объединённые таблицы, инструмент объединит столбцы из всех таблиц и при необходимости добавит соответствующие префиксы. Он также содержит информацию о ваших алиасах, последних просмотрах и сложных типах и будет включать их. Он будет автоматически возвращать любые зарезервированные слова или экзотические имена столбцов, где это необходимо, чтобы предотвратить любые ошибки.
2. Автозаполнение ключевых слов.
Инструмент автозаполнения предлагает ключевые слова в зависимости от положения курсора в операторе. Там, где это возможно, он даже будет предлагать более одного слова за раз. В тех частях, где порядок имеет значение, но ключевые слова являются необязательными, например, после FROM tbl, он будет перечислять предложения ключевых слов в ожидаемом порядке, с первым ожидаемым вверху. Итак, после FROM tbl ключевое слово WHERE указано выше GROUP BY.
3. UDF.
Инструмент автозаполнения предлагает функции. Для каждого предложения функции добавляется дополнительная панель в раскрывающемся списке автозаполнения, показывающая документацию и подпись функции. Автозаполнение хранит информацию об ожидаемых типах аргументов и будет предлагать только те столбцы или функции, которые соответствуют аргументу в позиции курсора в списке аргументов.
4. Подзапросы, коррелированные или нет.
При редактировании подзапросов инструмент будет делать предложения только в рамках подзапроса. Для коррелированных подзапросов также принимаются во внимание внешние таблицы.
В настройках Редактора вы можете отключить автозаполнение в реальном времени или вообще отключить автозаполнение. Чтобы получить доступ к этим настройкам, откройте Редактор и, наведя курсор на область с кодом, нажмите CTRL + , (или на Mac CMD + ,) и настройки отобразятся.
Автозаполнение обращается к бэкэнду, чтобы получить данные для таблиц, баз данных и прочих. По умолчанию он истекает через 5 секунд, но как только он будет получен, он кэшируется для следующего раза. Тайм-аут можно настроить в конфигурации сервера Hue.
Если автозаполнение не может интерпретировать оператор, то раскрывающийся список не появится.
Переменные могут иметь значения по умолчанию, например, ${n = 10} вместо простого ${n}.
Подчёркивание красного цвета будет отображать неправильный синтаксис, чтобы запрос можно было исправить перед отправкой. Правый щелчок отобразит предложения.
Превращает список запросов, разделённых точкой с запятой, в интерактивную презентацию. Режим отлично подходит для демонстрации или базовой отчётности.
Используйте Редактор запросов с любой базой данных, совместимой с JDBC или Django.
Обеспечена поддержка отправки нескольких запросов при использовании Tez. Вы можете включить его с помощью этой настройки:
[beeswax]
max_number_of_sessions=10
Помимо Hive Редактор запросов совместим со следующими БД:
Приложение Редактор позволяет создавать и отправлять задания в кластер. Вы можете включать переменные в свои задания, чтобы вы и другие пользователи могли вводить значения для переменных при выполнении вашего задания.
Все настройки дизайна задания, кроме Name и Description, поддерживают использование переменных вида $variable_name. Когда вы запустите задание, появится диалоговое окно, в котором вы сможете указать значения переменных.
Параметры передаются скрипту или команде. Параметры выражаются с использованием [JSP 2.0 Specification (JSP.2.3) Expression Language], что позволяет использовать переменные, функции и сложные выражения в качестве параметров.
Задания содержат классы, представленные в таблице ниже.
Таблица 3— Классы заданий
Класс |
Описание |
---|---|
Name | Определяет задание и набор его свойств и параметров. |
Description |
Описание задания. Описание отображается в диалоговом окне, которое появляется, если вы указываете переменные для задания. |
Advanced |
Расширенные настройки:
|
Prepare | Указывает пути для создания или удаления перед запуском задания рабочего процесса. |
Params | Параметры задания. |
Job Properties |
Свойства задания. Чтобы установить значение свойства, нажмите Add Property:
|
Files |
Файлы для передачи заданию. Эквивалентно параметру Hadoop -files. |
Archives |
Файлы в виде архивов для передачи заданию. Эквивалентно параметру Hadoop –archives. |
Дизайн задания MapReduce состоит из функций MapReduce, написанных на Java. Вы можете создать проект задания MapReduce из существующих классов mapper и reducer без необходимости писать основной класс Java. Вы должны указать классы mapper и reducer, а также другие свойства MapReduce в настройке Job Properties.
Таблица 4— Классы заданий MapReduce
Класс |
Описание |
---|---|
Jar path | Полный путь к файлу JAR, содержащему классы, реализующие функции mapper и reducer. |
Дизайн задания Java состоит из основного класса, написанного на Java.
Таблица 5— Классы заданий Java
Класс |
Описание |
---|---|
Jar path | Полный путь к файлу JAR, содержащему основной класс. |
Main class | Основной класс для вызова программы. |
Args | Аргументы, передаваемые в основной класс. |
Java opts | Параметры, передаваемые JVM. |
Дизайн задания Shell состоит из shell-команд.
Таблица 6— Классы заданий Shell
Класс |
Описание |
---|---|
Command | Shell-команда. |
Capture output | Укажите, нужно ли записывать вывод команды. |
Дашборды — это интерактивный способ быстро и легко изучить ваши данные. Никакого программирования не требуется, и анализ выполняется перетаскиванием и щелчками.
Просто перетащите и отпустите виджеты, которые связаны между собой. Это отлично подходит для изучения новых наборов данных или мониторинга без ввода текста.
Любой файл CSV можно перетащить и вставить в индекс за несколько кликов с помощью Data Import Wizard. Индексированные данные можно сразу же запросить, а их показатели/измерения можно будет очень быстро изучить.
Левая панель метаданных перечисляет информацию о столбцах и просмотреть их содержимое во всплывающем окне образца.
Поле поиска поддерживает фильтрацию данных поля в реальном времени по префиксу и поставляется с автозаполнением синтаксиса Solr, чтобы сделать запросы интуитивно понятными и быстрыми. Любое поле можно проверить на предмет его максимальных значений статистики. Этот анализ происходит очень быстро, поскольку данные индексируются.
С помощью Solr верхняя панель поиска предлагает полное автозаполнение для всех значений индекса.
Функция More like This позволяет вам выбирать поля, которые вы хотели бы использовать для поиска похожих записей. Это отличный способ найти похожие проблемы, клиентов, людей и прочее по списку атрибутов.
SQL также поддерживается дашбордами.
Браузеры Hue поддерживают ваш Data Catalog. Они позволяют легко искать, просматривать и выполнять действия с данными или заданиями в локальных кластерах.
Браузер таблиц позволяет вам управлять базами данных, таблицами и разделами хранилища метаданных, используемых Hive. Вы можете использовать Metastore Manager для выполнения следующих операций:
1. Базы данных:
2. Таблицы.
Браузер файлов позволяет просматривать и управлять файлами и каталогами в HDFS, S3 или ADLS.
С помощью файлового браузера вы можете:
Hue поддерживает один кластер HDFS. Этот кластер должен быть определён в подразделе [[[default]]].
Hue можно настроить для чтения и записи в настроенную учётную запись S3, а пользователи получают возможность автозаполнения и могут напрямую запрашивать и сохранять данные в S3 без какого-либо промежуточного перемещения/копирования в HDFS.
Hue Metastore Import Data Wizard может создавать внешние таблицы Hive непосредственно из каталогов данных в S3. Это позволяет запрашивать данные S3 через SQL из Hive без перемещения или копирования данных в HDFS или Hive Warehouse.
Чтобы создать внешнюю таблицу Hive из S3, перейдите в приложение Metastore, выберите нужную базу данных и затем щёлкните значок Create a new table from a file в правом верхнем углу.
Введите имя таблицы и необязательное описание, а в инструменте выбора файлов Input File or Directory выберите файловую систему S3A, перейдите к родительскому каталогу, содержащему желаемые файлы данных, и нажмите кнопку Select this folder. В раскрывающемся списке Load Data должен автоматически быть выбран параметр Create External Table, который указывает, что эта таблица будет напрямую ссылаться на каталог внешних данных.
Выберите параметры разделителя и определения столбца для входных файлов и, наконец, нажмите Create Table, когда будете готовы создать таблицу Hive. После создания вы должны увидеть детали вновь созданной таблицы в Metastore.
Мы можем перейти в Редактор Hive и запросить данные непосредственно из S3. Эти запросы могут объединять таблицы и объекты, которые поддерживаются S3, HDFS или обоими. Затем результаты запроса можно легко сохранить обратно в S3.
Чтобы добавить учётную запись S3 в Hue, вам необходимо настроить Hue с действительными учётными данными S3, включая идентификатор ключа доступа и секретный ключ доступа AWSCredentials.
Эти ключи могут безопасно храниться в скрипте, который выводит фактический ключ доступа и секретный ключ на стандартный вывод для чтения Hue. Чтобы использовать файлы скриптов, добавьте следующий раздел в файл конфигурации hue.ini:
[aws]
[[aws_accounts]]
[[[default]]]
access_key_id_script=/path/to/access_key_script
secret_access_key_script= /path/to/secret_key_script
allow_environment_credentials=false
region=us-east-1
В качестве альтернативы (но не рекомендуется для производственной или безопасной среды) вы можете установить значения access_key_id и secret_access_key равными текстовым значениям ваших ключей:
[aws]
[[aws_accounts]]
[[[default]]]
access_key_id=s3accesskeyid
secret_access_key=s3secretaccesskey
allow_environment_credentials=false
region=us-east-1
В качестве региона необходимо указать регион AWS, соответствующий учётной записи S3. По умолчанию этот регион будет установлен на us-east-1.
После успешной настройки Hue для подключения к ADLS мы можем просмотреть все доступные папки в учётной записи, щёлкнув корень ADLS. Отсюда мы можем просматривать существующие ключи (как каталоги, так и файлы) и создавать, переименовывать, перемещать, копировать или удалять существующие каталоги и файлы. Кроме того, мы можем напрямую загружать файлы в ADLS.
Мастер импорта браузера таблиц Hue может создавать внешние таблицы Hive непосредственно из файлов в ADLS. Это позволяет запрашивать данные ADLS через SQL из Hive без перемещения или копирования данных в HDFS или Hive Warehouse.
Чтобы создать внешнюю таблицу Hive из ADLS, перейдите в Браузер таблиц, выберите нужную базу данных и щёлкните значок плюса в правом верхнем углу. Выберите файл с помощью средства выбора файлов и перейдите к файлу в ADLS.
Мы можем перейти в Редактор Hive и запросить данные непосредственно из ADLS. Эти запросы могут объединять таблицы и объекты, которые поддерживаются ADLS, HDFS или обоими. Затем результаты запроса можно сохранить обратно в ADLS.
Чтобы добавить учётную запись ADLS в Hue, вам необходимо настроить Hue с действительными учётными данными ADLS, включая идентификатор клиента, пароль клиента и идентификатор клиента. Эти ключи можно безопасно хранить в скрипте, который выводит фактический ключ доступа и секретный ключ в стандартный вывод для чтения Hue. Чтобы использовать файлы скриптов, добавьте следующий раздел в файл конфигурации hue.ini:
[adls]
[[azure_accounts]]
[[[default]]]
client_id_script=/path/to/client_id_script.sh
client_secret_script=/path/to/client_secret_script.sh
tenant_id_script=/path/to/tenant_id_script.sh
[[adls_clusters]]
[[[default]]]
fs_defaultfs=adl://.azuredatalakestore.net
webhdfs_url=https://.azuredatalakestore.net
В качестве альтернативы (но не рекомендуется для производственных или безопасных сред) вы можете установить значение client_secret в виде обычного текста:
[adls]
[[azure_account]]
[[[default]]]
client_id=adlsclientid
client_secret=adlsclientsecret
tenant_id=adlstenantid
[[adls_clusters]]
[[[default]]]
fs_defaultfs=adl://.azuredatalakestore.net
webhdfs_url=https://.azuredatalakestore.net
Вы можете использовать Браузер файлов для просмотра файлов ввода и вывода ваших заданий MapReduce. Как правило, вы можете сохранять файлы вывода в /tmp или в своём домашнем каталоге, если ваш системный администратор настроил его для вас. У вас должны быть соответствующие разрешения для управления файлами других пользователей.
Чтобы перейти в домашний каталог, щёлкните Home в поле пути вверху окна Браузера файлов.
Примечание. Кнопка Home неактивна, если у вас нет домашнего каталога. Попросите администратора Hue создать для вас домашний каталог. |
Вы можете загружать текстовые и двоичные файлы в HDFS.
Вы можете скачивать текстовые и двоичные файлы в HDFS.
Вы можете распаковывать zip-архивы в HDFS. Архив извлекается в каталог с именем archivename.
Браузер файлов поддерживает корзину для мусора HDFS (домашний каталог /.Trash) для хранения файлов и каталогов до их окончательного удаления.
Файлы в папке имеют полный путь к удалённым файлам (для возможности их восстановления при необходимости) и контрольные точки. Время, в течение которого файл или каталог остается в корзине, зависит от свойств HDFS.
Чтобы просмотреть корзину, в окне Браузера файлов щёлкните Trash.
Примечание. Только суперпользователь Hadoop может изменять владельца, группу или права доступа к файлу или каталогу. Пользователь, запускающий Hadoop, является суперпользователем Hadoop. Учётная запись суперпользователя Hadoop не обязательно совпадает с учётной записью суперпользователя Hue. Если вы создаёте пользователя Hue с тем же именем пользователя и паролем, что и суперпользователь Hadoop, то этот пользователь Hue может изменить владельца, группу или права доступа к файлу или каталогу. |
4. Нажмите Submit, чтобы внести изменения.
Вы можете просматривать и редактировать файлы как текстовые или двоичные.
Роли и права устройства безопасности можно редактировать непосредственно в интерфейсе безопасности.
Права доступа необходимо изменять через интерфейс Hive.
Права доступа Solr можно редактировать прямо через интерфейс.
Для перечисления наборов, запросов и создания наборов:
Admin=*->action=*
Collection=*->action=*
Schema=*->action=*
Config=*->action=*
Браузер заданий (Job Browser) позволяет проверять несколько типов заданий, выполняемых в кластере.
Браузер заданий представляет задания и задачи уровнями. Верхний уровень — это список заданий, и вы можете просмотреть список задач этого задания. Затем вы можете просмотреть запуски задачи и свойства каждого запуска, такие как состояние, время начала и окончания, а также размер выходных данных. Для устранения проблем с неудачными заданиями вы также можете просмотреть логи каждого запуска.
Если есть выполняемые задания, Браузер заданий отобразит их перечень.
Примечание. На любом уровне вы можете просмотреть журнал объекта, щёлкнув значок изображения в столбце журналов. |
Чтобы просмотреть информацию об отдельном задании:
Чтобы просмотреть подробную информацию о задачах, связанных с заданием:
Чтобы просмотреть информацию об отдельной задаче:
Чтобы просмотреть сведения о попытке выполнения задачи:
Все задания, выполняемые в Resource Manager, будут автоматически отображены. Информация будет извлечена соответственно, если задание было перемещено на один из серверов истории.
Приложение Scheduler позволяет создавать процессы (workflows), а затем планировать их регулярное автоматическое выполнение.
Интерфейс мониторинга показывает прогресс, логи и разрешает такие действия, как приостановка или остановка workflow.
Приложение Workflow — это набор действий (actions), организованных в ориентированный ациклический граф (DAG).
Приложение включает в себя два типа узлов:
Приложение Coordinator позволяет определять и выполнять повторяющиеся и взаимозависимые workflow jobs. Приложение Coordinator определяет условия, при которых может происходить выполнение workflow.
Приложение Bundle позволяет вам группировать набор (bundle) приложений Coordinator.
В Workflow Editor вы можете легко выполнять операции с узлами действий (action nodes) и узлами управления (control nodes).
Workflow Editor поддерживает перетаскивание узлов действий (action nodes). Когда вы перемещаете действие над другими действиями, активные области подсвечиваются. Если в процессе есть действия, сами действия подсвечиваются, а также области над и под действиями. Если вы перетаскиваете действие на существующее действие, к рабочему процессу добавляются разветвление и соединение.
1. Добавьте действия в процесс, нажав , и перетащите действие в процесс. Отобразится экран редактирования узла:
2. Скопируйте действие, нажав кнопку с угловыми стрелками.
3. Действие открывается на экране редактирования узла.
4. Отредактируйте свойства действия и нажмите Done. Действие добавляется в конец процесса.
5. Удалите действие, нажав на иконку с корзиной.
6. Отредактируйте действие, нажав на иконку с карандашом.
7. Измените положение действия, щёлкнув левой кнопкой мыши и перетащив действие в новое место.
Примечание. worfklows.xml и их job.properties также могут быть выбраны и выполнены напрямую через Браузер файлов. |
В Менеджере-координаторе вы можете создавать приложения-координаторы и отправлять их на исполнение.
В Редакторе координатора вы указываете свойства координатора и наборы данных, с которыми будет работать процесс, запланированный координатором, путём пошагового перехода между экранами в мастере. Вы также можете перейти к конкретным шагам и вернуться к ним, щёлкнув вкладки шагов над экранами.
Пакет (bundle) состоит из набора расписаний.
В Bundle Editor вы указываете свойства, переходя по экранам мастера. Вы также можете перейти к конкретным шагам и вернуться к ним, щёлкнув вкладки шагов над экранами.