Hadoop 3: как настроить / включить кодирование стирания?

Я пытаюсь настроить кластер Hadoop 3.

Два вопроса о функции Erasure Coding:

  1. Как я могу гарантировать, что кодирование стирания включено?
  2. Нужно ли мне устанавливать коэффициент репликации на 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

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