Как настроить функцию кодирования стирания в hadoop3 и используется ли она для хранения холодных файлов только по умолчанию?

Согласно примечаниям к выпуску Hadoop 3.x, они ввели кодирование Erasure, чтобы преодолеть проблемы с хранилищем.

Кодирование Erasure - это метод долговременного хранения данных со значительной экономией места по сравнению с репликацией. Стандартные кодировки, такие как Reed-Solomon (10,4), занимают 1,4-кратное пространство, по сравнению с 3-кратным объемом стандартной репликации HDFS.

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

Я ищу образцы файлов конфигурации для того же.

Кроме того, даже после настройки политики ec и включения ее с помощью hdfs ec-enablePolicy, политика работает только для холодных файлов или по умолчанию реализована для хранения всех файлов hdfs?

1 ответ

Решение

В hadoop3 мы можем включить политику кодирования Erasure для любого folder в HDFS.

Команда для просмотра списка поддерживаемых политик стирания:

./bin/hdfs ec -listPolicies

Команда для включения политики стирания XOR-2-1-1024k:

./bin/hdfs ec -enablePolicy -policy XOR-2-1-1024k

Команда для установки политики удаления в каталог HDFS:

./bin/hdfs ec -setPolicy -path /tmp -policy XOR-2-1-1024k

Команда для получения политики, установленной для данного каталога:

./bin/hdfs ec -getPolicy -path /tmp

Команда для удаления политики из каталога.

./bin/hdfs ec -unsetPolicy -path /tmp

Команда для отключения политики:

./bin/hdfs ec -disablePolicy -policy XOR-2-1-1024k

Редактировать:

Пример XML-файла политики ЕС с именем user_ec_policies.xml.template находится в каталоге conf Hadoop ($HADOOP_HOME/etc/hadoop/), доступном для справки.

По умолчанию REPLICATION политика всегда включена. Политика кодирования Erasure по умолчанию отключена.

Кодирование стирания применяется только для выбранных HDFS путь, например, если вы выбираете /erasure_code_data в качестве пути при настройке политики, тогда EC применяется только для этого каталога. И другой файл, уже присутствующий в HDFS, такой как /tmp /user, имеет политику REPLICATION.

Другие вопросы по тегам