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

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

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

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

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

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


person Nitesh Gupta    schedule 18.03.2018    source источник


Ответы (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-файла политики EC с именем user_ec_policies.xml.template находится в каталоге конфигурации Hadoop ($HADOOP_HOME/etc/hadoop/), доступном для справки.

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

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

person unwelcomed_user    schedule 21.03.2018
comment
Спасибо, @karthik, но я также искал файл конфигурации политики ec user_ec_policies.xml. Мне нужна помощь в добавлении правильных свойств в файл xml. - person Nitesh Gupta; 23.03.2018
comment
Вы можете сослаться на образец XML-файла политики ЕС user_ec_policies.xml.template в каталоге конфигурации Hadoop ($HADOOP_HOME/etc/hadoop/). - person unwelcomed_user; 23.03.2018