Hadoop 3: как настроить / включить кодирование стирания?
Я пытаюсь настроить кластер Hadoop 3.
Два вопроса о функции Erasure Coding:
- Как я могу гарантировать, что кодирование стирания включено?
- Нужно ли мне устанавливать коэффициент репликации на 3?
Укажите соответствующие свойства конфигурации, связанные с кодированием / репликацией стирания, чтобы получить ту же безопасность данных, что и Hadoop 2 (коэффициент репликации 3), но с преимуществами дискового пространства от кодирования стирания Hadoop 3 (только 50% накладных расходов вместо 200%),
1 ответ
В Hadoop3 мы можем включить политику кодирования Erasure для любого folder
в HDFS. По умолчанию кодирование стирания не включено в Hadoop3, вы можете включить его с помощью setPolicy
Команда с указанием желаемого пути к папке.
1:
Чтобы убедиться, что кодирование стирания включено, вы можете запустить getPolicy
команда.
2:
В Hadoop3 настройка коэффициента репликации повлияет только на другие папки, которые не настроены с помощью стирания кода setPolicy. Вы можете использовать настройки кодирования Erasure и коэффициента репликации в одном кластере.
Команда для просмотра списка поддерживаемых политик стирания:
./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