Конференция Arenadata
ArenaTech 2026 – для всех, кому интересны технологии Big Data
Приглашаем вас принять участие в технической онлайн-конференции, посвященной работе с большими данными. Участие бесплатно для всех желающих.

В программе 3 блока докладов:

  • СУБД: архитектура и эксплуатация. Обсудим новые возможности Greengage DB и Arenadata DB на его основе, включая hot standby, обзор утилиты изменения кластерной топологии ggrebalance, вопросы безопасности и устранения CVE.
  • Платформа данных: безопасность и Kubernetes в ADH, аналитика в ADQM. Расскажем об управлении секретами и доступом в Arenadata Hyperwave с использованием OpenBao, особенности переноса сервисов в Kubernetes, а также про аналитические методы в инструментах ADQM.
  • Инструменты: кластерный менеджер, документация, ИИ-поиск. Поделимся опытом разработки технической документации (включая интеллектуальный поиск и ИИ-ассистент) и поговорим про развитие нашего кластерного менеджера ADCM.
Онлайн-конференция состоится 29 октября 2026 года, время трансляции: с 12:00 до 19:00 по московскому времени.
Осталось до события

Примеры использования правил в SSM

Обзор

В данной статье описаны примеры использования правил в SSM. Перед запуском примеров выполните следующие шаги:

  1. Установите SSM.

  2. Настройте типы хранения SSD, DISK и ARCHIVE в параметре hdfs-site.xml → dfs.datanode.data.dir в ADCM.

    Типы хранилищ
    Типы хранилищ

Кеширование файлов

 
Если вы хотите автоматически перемещать часто запрашиваемые файлы в кеш, используйте правило ниже:

file: accessCount(1min) > 0 and path matches "/demoCacheFile/*" | cache

С таким правилом SSM будет кешировать файлы из директории demoCacheFile, которые запрашивались хотя бы 1 раз за последнюю минуту.

Для тестирования заранее были созданы файлы в директории user/sergei/demoCacheFile в HDFS. Команда ниже печатает имена этих файлов:

list -file /user/sergei/demoCacheFile
Action starts at Wed Feb 14 14:05:59 UTC 2024 : List /user/sergei/demoCacheFile
-rw-r--r--     3 sergei	sergei	           10 2024-02-14 14:04 /user/sergei/demoCacheFile/f1.txt
-rw-r--r--     3 sergei	sergei	           13 2024-02-14 14:04 /user/sergei/demoCacheFile/f2.txt
-rw-r--r--     3 sergei	sergei	           12 2024-02-14 14:04 /user/sergei/demoCacheFile/f3.txt

Чтобы проверить работоспособность примера, запросите файл, например, выполнив действие read:

read -file /user/sergei/demoCacheFile/f1.txt

Если ошибок нет, то вы можете увидеть имя этого файла на странице Cluster Info→ Files in cache.

Перемещение данных между холодным хранилищем и горячим

 

ВАЖНО
Убедитесь, что в HDFS настроены типы хранения SSD и ARCHIVE, иначе пример может работать некорректно.

Чтобы переместить файлы из холодного хранилища в горячее, используйте правило ниже:

file: accessCount(1min) > 0 and path matches "/user/sergei/demoCold2Hot/*" | allssd

Чтобы проверить тип хранилища, выполните команду checkstorage в панели Submit action:

checkstorage -file /user/sergei/demoCold2Hot/f1.txt

До применения правила вывод команды следующий:

File offset = 0, Block locations = {10.92.41.28:9866[DISK] 10.92.41.202:9866[DISK] 10.92.41.33:9866[DISK] }

После прочтения файла условие в правиле выполнилось, и действие allssd применилось. Вывод стал таким:

File offset = 0, Block locations = {10.92.41.33:9866[SSD] 10.92.41.28:9866[SSD] 10.92.41.202:9866[SSD] }

Также файл теперь можно найти на странице Cluster Info → Hottest files in last hour.

Чтобы настроить перемещение файлов из горячего хранилища в холодное, используйте следующее правило:

file : age > 3min and path matches "/user/sergei/demoHot2Cold/*" | archive

Синхронизация данных

 
Для синхронизации файлов в директории с другим кластером с HDFS используйте следующее правило:

file: path matches "/user/sergei/demoSyncSrc/*" | sync -dest hdfs://stikhomirov-adh1.ru-central1.internal/demoSyncDest

Если на кластере с SSM настроено специальное пространство имен, вы можете подставить название пространства имен вместо имени хоста в команде выше.

ПРИМЕЧАНИЕ
Для корректной работы команды sync достаточно иметь установленный SSM хотя бы на одном кластере (источник или целевой). Также источник копирования не обязан быть локальным, а целевая директория — удаленной.

Чтобы проверить правильность синхронизации, можно сравнить контрольные суммы. Для источника можно получить контрольную сумму, выполнив соответствующую команду в панели Submit action:

checksum -file /user/sergei/demoSyncSrc/f1.txt

Вывод для данного файла:

/user/sergei/demoSyncSrc/f1.txt	MD5-of-0MD5-of-512CRC32C	00000200000000000000000049c19b14a1077d0a6fc95bee2db8914c

Для получения контрольной суммы на целевом сервере выполните на нем следующую команду:

$ hadoop fs -checksum /demoSyncDest/f1.txt

Контрольная сумма в выводе совпадает с приведенной выше:

/demoSyncDest/f1.txt    MD5-of-0MD5-of-512CRC32C        00000200000000000000000049c19b14a1077d0a6fc95bee2db8914c
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней