Настройка HDFS Compression¶
В данном разделе описывается, как настроить HDFS Compression на Linux.
Linux поддерживает GzipCodec, DefaultCodec, BZip2Codec, LzoCodec и SnappyCodec. Как правило, для HDFS Compression используется GzipCodec.
Для GzipCodec необходимо выполнить следующие инструкции:
Вариант I: использовать GzipCodec для одноразовых заданий:
hadoop jar hadoop-examples-1.1.0-SNAPSHOT.jar sort sbr"-Dmapred.compress.map.output=true" sbr"-Dmapred.map.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec"sbr "-Dmapred.output.compress=true" sbr"-Dmapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec"sbr -outKey org.apache.hadoop.io.Textsbr -outValue org.apache.hadoop.io.Text input output
Вариант II: включить GzipCodec в качестве сжатия по умолчанию:
Отредактировать файл core-site.xml на главной машине NameNode:
<property> <name>io.compression.codecs</name> <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,com.hadoop.compression.lzo.LzoCodec,org.apache.hadoop.io.compress.SnappyCodec</value> <description>A list of the compression codec classes that can be used for compression/decompression.</description> </property>
Изменить файл mapred-site.xml на главной машине JobTracker:
<property> <name>mapred.compress.map.output</name> <value>true</value> </property>
<property> <name>mapred.map.output.compression.codec</name> <value>org.apache.hadoop.io.compress.GzipCodec</value> </property>
<property> <name>mapred.output.compression.type</name> <value>BLOCK</value> </property>
(Опционально) Задать следующие два параметра конфигурации для включения сжатия задания. Изменить файл mapred-site.xml на главной машине Resource Manager:
<property> <name>mapred.output.compress</name> <value>true</value> </property>
<property> <name>mapred.output.compression.codec</name> <value>org.apache.hadoop.io.compress.GzipCodec</value> </property>
Перезапустить кластер.