CentOS HDFS数据压缩方法

CentOS HDFS数据压缩方法

centos系统里,利用hadoop分布式文件系统(hdfs)实施数据压缩可按照以下流程开展:

  1. 安装Hadoop:首先要确认Hadoop已在CentOS完成安装。若未安装,建议查阅Hadoop官方指南完成安装。

  2. 设置Hadoop兼容压缩:编辑Hadoop的配置文件 core-site.xml 和 hdfs-site.xml,激活压缩功能并指定压缩算法

    core-site.xml 示例配置如下:

     <configuration><property><name>io.compression.codecs</name><value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec</value></property></configuration>

    hdfs-site.xml 示例配置如下:

     <configuration><property><name>dfs.replication</name><value>3</value></property><property><name>dfs.namenode.handler.count</name><value>100</value></property><property><name>dfs.datanode.handler.count</name><value>100</value></property><property><name>dfs.blocksize</name><value>134217728</value></property><property><name>dfs.namenode.datanode.registration.ip-hostname-check</name><value>false</value></property><property><name>io.compression.codec.snappy.class</name><value>org.apache.hadoop.io.compress.SnappyCodec</value></property></configuration>
  3. 开启Hadoop集群服务:保证Hadoop集群处于启动状态且运作无误。

     start-dfs.sh  start-yarn.sh
  4. 借助Hadoop指令行工具执行压缩:运用Hadoop指令行工具把本地文件上传至HDFS同时实现压缩。

     hadoop fs -copyFromLocal -p /local/path/to/file.txt /hdfs/path/to/destination/
  5. mapreduce任务中应用压缩:如果正在开发MapReduce程序,可在任务配置环节启用压缩。

    Mapper输出压缩

     Configuration conf = new Configuration();  conf.set("mapreduce.map.output.compress", "true");  conf.set("mapreduce.map.output.compress.codec", "org.apache.hadoop.io.compress.SnappyCodec");  Job job = Job.getInstance(conf);

    Reducer输出压缩

     Configuration conf = new Configuration();  conf.set("mapreduce.output.fileoutputformat.compress", "true");  conf.set("mapreduce.output.fileoutputformat.compress.codec", "org.apache.hadoop.io.compress.SnappyCodec");  Job job = Job.getInstance(conf);
  6. 核实压缩成效:通过HDFS指令行工具验证文件是否已被压缩。

     hadoop fs -ls /hdfs/path/to/destination/  hadoop fs -getfile /hdfs/path/to/destination/file.txt file.txt

依照上述步骤,你就能在CentOS系统中借助HDFS达成数据压缩。依据实际需求挑选适合的压缩算法,并在MapReduce任务中做相应调整。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享