Использование HBase с Ozone
Требования
Для интеграции HBase с Ozone необходим функционирующий кластер ADH (версии 4.3.0 или более поздней) со следующим минимальным набором сервисов:
-
Core configuration;
-
ADPG;
-
Zookeeper;
-
YARN;
-
HBase;
-
Ozone.
В данном примере ожидается, что параметр Ozone ozone.service.id имеет значение adho.
|
ВАЖНО
Перед настройкой примите во внимание следующие ограничения:
|
Настройка
-
В интерфейсе ADCM откройте страницу настройки сервиса HBase и активируйте переключатель Use Ozone. Заполните появившиеся конфигурационные параметры — они будут использоваться для автоматического создания тома и бакета. Пример значений параметров:
-
Bucket Name —
data -
Ozone Quota —
10GB(опционально) -
Ozone Replication —
ONE(опционально) -
Ozone Replication Type —
RATIS(опционально) -
Ozone Volume Name —
hbaseПРИМЕЧАНИЕНа данный момент для бакетов Ozone, использующихся для хранения данных HBase, поддерживается только тип репликацииRATIS.
-
-
Раскройте группу параметров hbase-site.xml и присвойте параметру hbase.unsafe.stream.capability.enforce значение
false. -
В настройках сервиса Ozone раскройте группу параметров ozone-site.xml и присвойте следующим параметрам значение
true:-
ozone.client.hbase.enhancements.allowed
-
ozone.client.incremental.chunk.list
-
ozone.client.stream.putblock.piggybacking
-
ozone.fs.hsync.enabled
-
ozone.hbase.enhancements.allowed
-
-
Перезапустите Ozone и HBase.
Создание таблицы
-
На хосте с установленным клиентом HBase запустите HBase shell:
$ hbase shell -
Внутри shell запустите команду создания таблицы:
create 'test_ofs', 'cf'
-
Загрузите данные в таблицу:
put 'test_ofs', 'row1', 'cf:qual1', 'value1' -
Проверьте наличие данных:
scan 'test_ofs'Ожидаемый вывод:
ROW COLUMN+CELL row1 column=cf:qual1, timestamp=2026-06-03T12:25:24.662, value=value1
-
Выполните команду flush для отправки данных в физическое хранилище:
flush 'test_ofs' -
Выйдите из HBase shell и проверьте наличие данных в Ozone:
$ ozone fs -ls ofs://adho/hbase/data/data/default/test_ofsОжидаемый вывод должен быть похож на следующий:
drwxrwxrwx - hbase macbook 0 2026-06-03 12:25 ofs://adho/hbase/data/data/default/test_ofs/.tabledesc drwxrwxrwx - hbase macbook 0 2026-06-03 12:25 ofs://adho/hbase/data/data/default/test_ofs/e61cde87de4f59b5f78327faecad5676
Удаление таблицы
-
На хосте с установленным клиентом HBase запустите HBase shell:
$ hbase shell -
Внутри shell запустите следующую команду для удаления строки:
deleteall 'test_ofs', 'row1'
-
Проверьте, что строка была удалена:
scan 'test_ofs'Ожидаемый вывод:
hbase:003:0> scan 'test_ofs' ROW COLUMN+CELL 0 row(s)
-
Сделайте таблицу недоступной:
disable 'test_ofs' -
Удалите таблицу:
drop 'test_ofs' -
Выйдите из HBase shell и проверьте, что данные были физически удалены из Ozone:
$ ozone fs -ls ofs://adho/hbase/data/data/default/test_ofsОжидаемый вывод:
ls: `ofs://adho/hbase/data/data/default/test_ofs': No such file or directory