`

Hadoop2.7.1+Hbase1.2.1集群环境搭建(6)snappy安装

阅读更多
(1)hadoop2.7.1源码编译 http://aperise.iteye.com/blog/2246856
(2)hadoop2.7.1安装准备 http://aperise.iteye.com/blog/2253544
(3)1.x和2.x都支持的集群安装 http://aperise.iteye.com/blog/2245547
(4)hbase安装准备 http://aperise.iteye.com/blog/2254451
(5)hbase安装 http://aperise.iteye.com/blog/2254460
(6)snappy安装 http://aperise.iteye.com/blog/2254487
(7)hbase性能优化 http://aperise.iteye.com/blog/2282670
(8)雅虎YCSBC测试hbase性能测试 http://aperise.iteye.com/blog/2248863
(9)spring-hadoop实战 http://aperise.iteye.com/blog/2254491
(10)基于ZK的Hadoop HA集群安装  http://aperise.iteye.com/blog/2305809

 

     lzo   snappy   gzip是hadoop支持的三种压缩方式,目前网上推荐snappy,这里讲解如何安装snappy

 

1.在linux上安装snappy压缩库

#1.去https://github.com/google/snappy/releases下载snappy-1.1.3.tar.gz并解压
cd /root
wget https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz
tar -zxvf snappy-1.1.3.tar.gz

#2.在linux上编译安装
cd /root/snappy-1.1.3
./configure
make
make install

#3.默认安装在/usr/local/lib,安装成功后文件如下:


    github上Hadoop源码(https://github.com/apache/hadoop/blob/trunk/BUILDING.txt)推荐的安装方式为:sudo apt-get install snappy libsnappy-dev

 

 2.编译Hadoop2.7.1源码中模块hadoop-common

        当前Hadoop新的版本在模块hadoop-common中都已经集成了相关压缩库的编解码工具,无需去其它地方下载编解码打包:

snappy https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/SnappyCodec.java  自带,需要Linux已经安装snappy库
默认编解码 https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/DefaultCodec.java  自带
gzip https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/GzipCodec.java  自带
bzip2 https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/BZip2Codec.java  自带
lz4 https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/Lz4Codec.java  自带
lzo Hadoop源代码里不含有编解码代码,可在https://github.com/twitter/hadoop-lzo找到相关编解码

        如果之前编译过Hadoop源代码,这一步骤可以不做

        官网给定的安装包中是不支持snappy压缩的,需要自己重新编译Hadoop源码,而编译源码首先需要保证linux上已经安装了linux关于snappy的库,已经在步骤1中解决

        关于如何编译Hadoop源代码,请参见http://aperise.iteye.com/blog/2246856

        1.下载hadoop源代码hadoop-2.7.1-src.tar.gz放置于/root下并解压缩 

cd /root
wget http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.1/hadoop-2.7.1-src.tar.gz
tar -zxvf hadoop-2.7.1-src.tar.gz  

        2.准备Hadoop编译必备环境,请参见http://aperise.iteye.com/blog/2246856 

        3.单独编译打包hadoop-common,获取对于snappy压缩的支持(如果想编译整个工程请参见http://aperise.iteye.com/blog/2246856) 

cd /root/hadoop-2.7.1-src
export MAVEN_OPTS="-Xms256m -Xmx512m"
mvn package -Pdist,native -DskipTests -Dtar -rf :hadoop-common -Drequire.snappy -X
#如果想编译整个代码且单独指定snappy库位置,命令如下:
#mvn package -Pdist,native,docs,src -DskipTests -Drequire.snappy -Dsnappy.lib=/usr/local/lib  
        4.编译完成后,在/root/hadoop-2.7.1-src/hadoop-dist/target/hadoop-2.7.1/lib/native下得到如下文件:

        5.编译完成后,在/root/hadoop-2.7.1-src/hadoop-dist/target/hadoop-2.7.1/share/hadoop/common下得到如下文件:

  

3.hadooo中添加snappy支持

#1.将步骤2中编译的snappy支持文件拷贝到Hadoop中
#这里我安装的Hadoop位置为/home/hadoop/hadoop-2.7.1
cp -r /root/hadoop-2.7.1-src/hadoop-dist/target/hadoop-2.7.1/lib/native/* /home/hadoop/hadoop-2.7.1/lib/native/
cp /usr/local/lib/* /home/hadoop/hadoop-2.7.1/lib/native/

#2.将步骤3编译后的hadoop-common-2.7.1.jar文件拷贝到Hadoop
#这里我安装的Hadoop位置为/home/hadoop/hadoop-2.7.1
cp -r /root/hadoop-2.7.1-src/hadoop-dist/target/hadoop-2.7.1/share/hadoop/common/* /home/hadoop/hadoop-2.7.1/share/hadoop/common/ 

#3.修改hadoop的配置文件/home/hadoop/hadoop-2.7.1/etc/hadoop/core-site.xml,增加如下配置:
<property>  
  <name>io.compression.codecs</name>  
  <value>  
  org.apache.hadoop.io.compress.DefaultCodec,  
  org.apache.hadoop.io.compress.GzipCodec,  
  org.apache.hadoop.io.compress.BZip2Codec,   
  org.apache.hadoop.io.compress.Lz4Codec,  
  org.apache.hadoop.io.compress.SnappyCodec  
  </value>  
  <description>A comma-separated list of the compression codec classes that can  
  be used for compression/decompression. In addition to any classes specified  
  with this property (which take precedence), codec classes on the classpath  
  are discovered using a Java ServiceLoader.</description>  
</property> 

#4.修改/home/hadoop/hadoop-2.7.1/etc/hadoop/mapred-site.xml,添加如下内容:
<property>    
  <name>mapreduce.output.fileoutputformat.compress</name>    
  <value>true</value>    
  <description>Should the job outputs be compressed?    
  </description>    
</property>    
<property>    
  <name>mapreduce.output.fileoutputformat.compress.type</name>    
  <value>RECORD</value>    
  <description>If the job outputs are to compressed as SequenceFiles, how should    
               they be compressed? Should be one of NONE, RECORD or BLOCK.    
  </description>    
</property>    
<property>    
  <name>mapreduce.output.fileoutputformat.compress.codec</name>    
  <value>org.apache.hadoop.io.compress.SnappyCodec</value>    
  <description>If the job outputs are compressed, how should they be compressed?    
  </description>    
</property>    
<property>    
  <name>mapreduce.map.output.compress</name>    
  <value>true</value>    
  <description>Should the outputs of the maps be compressed before being    
               sent across the network. Uses SequenceFile compression.    
  </description>    
</property>    
<property>    
  <name>mapreduce.map.output.compress.codec</name>    
  <value>org.apache.hadoop.io.compress.SnappyCodec</value>    
  <description>If the map outputs are compressed, how should they be     
               compressed?    
  </description>    
</property>   

    至此,Hadoop中已经可以支持snappy压缩算法了,hbase目前还待配置,请往下看。

 

4.hbase中添加snappy支持

#1.在hbase中创建放置Hadoop对于本地库支持的文件目录
mkdir -p /home/hadoop/hbase-1.2.1/lib/native/Linux-amd64-64

#2.拷贝Hadoop中所有本地库支持到hbase中
cp -r /home/hadoop/hadoop2.7.1/lib/native/* /home/hadoop/hbase-1.2.1/lib/native/Linux-amd64-64/

         至此,hbase中已经添加了对于snappy的支持。

 

5.在hbase中测试snappy

cd /home/hadoop/hbase-1.2.1/bin/
./hbase org.apache.hadoop.hbase.util.CompressionTest hdfs://hadoop-ha-cluster/hbase/data/default/signal/3a194dcd996fd03c0c26bf3d175caaec/info/0c7f62f10a4c4e548c5ff1c583b0bdfa snappy  

      上面hdfs://hadoop-ha-cluster/hbase/data/default/signal/3a194dcd996fd03c0c26bf3d175caaec/info/0c7f62f10a4c4e548c5ff1c583b0bdfa是存在于我Hadoop上的HDFS文件


 

     

6.HDFS中如何查看压缩格式为snappy的文件

 

        hdfs dfs -text /aaa.snappy

 

  • 大小: 4.1 KB
  • 大小: 81.5 KB
  • 大小: 6.5 KB
  • 大小: 11.3 KB
  • 大小: 13.7 KB
  • 大小: 130.9 KB
  • 大小: 111.1 KB
分享到:
评论

相关推荐

    Hadoop2.7.1+Hbase1.2.1集群环境搭建(7)hbase 性能优化

    本篇将详细阐述如何在Hadoop 2.7.1环境下搭建HBase 1.2.1集群,并进行性能优化,以提升系统效率。 首先,我们需要了解Hadoop和HBase的基本概念。Hadoop是基于分布式文件系统HDFS(Hadoop Distributed File System)...

    Hadoop2.2+Zookeeper3.4.5+HBase0.96集群环境搭建

    Hadoop2.2+Zookeeper3.4.5+HBase0.96集群环境搭建 Hadoop2.2+Zookeeper3.4.5+HBase0.96集群环境搭建是大数据处理和存储的重要组件,本文档将指导用户从零开始搭建一个完整的Hadoop2.2+Zookeeper3.4.5+HBase0.96集群...

    hadoop2.7.1+zk3.5+hbase2.1+phoenix 安装部署环境打包

    本压缩包提供了这些组件的安装部署资源,便于快速搭建一个完整的Hadoop2.7.1、ZK3.5、HBase2.1和Phoenix5.1.0的基础环境。 首先,Hadoop是Apache开源项目,它提供了分布式文件系统(HDFS)和MapReduce计算框架,...

    hadoop2.7.1+hbase2.1.4+zookeeper3.6.2.rar

    这个压缩包可能包含了这些分布式系统的安装文件、配置文件、文档以及其他必要的组件,用于搭建和运行一个大数据处理环境。接下来,我们将深入探讨这三个关键组件的相关知识点。 **Hadoop 2.7.1:** Hadoop是Apache...

    虚拟机环境下Hadoop2.7.1+HBase1.3.5安装配置手册 .docx

    ### Hadoop2.7.1 + HBase1.3.5 在 CentOS6.5 虚拟机环境下的安装配置指南 #### 准备工作 为了确保 Hadoop 和 HBase 的顺利安装,需要提前做好一系列准备工作,包括安装 VMware、设置虚拟机、配置 CentOS 操作系统等...

    大数据Hadoop+HBase+Spark+Hive集群搭建教程(七月在线)1

    - 在Hadoop集群运行的基础上安装HBase,确保Hadoop的相关环境变量被HBase使用。 - 配置HBase的`hbase-site.xml`以指定Zookeeper地址和集群模式。 - 启动HBase服务,包括Master和RegionServer。 3. **Spark**:...

    hadoop+hbase+zookeeper集群配置流程及文件

    在大数据处理领域,Hadoop、HBase和Zookeeper是三个至关重要的组件,它们共同构建了一个高效、可扩展的数据处理和存储环境。以下是关于这些技术及其集群配置的详细知识。 首先,Hadoop是一个开源的分布式计算框架,...

    Hadoop+Hbase+Spark+Hive搭建

    在本文档中,我们详细地介绍了Hadoop+Hbase+Spark+Hive的搭建过程,包括环境准备、主机设置、防火墙设置、环境变量设置、Hadoop安装、Hbase安装、Spark安装和Hive安装。本文档旨在指导读者从零开始搭建Hadoop+Hbase+...

    Hadoop+Spark+Hive+HBase+Oozie+Kafka+Flume+Flink+ES+Redash等详细安装部署

    在安装Hadoop时,通常需要配置集群环境,包括主节点和从节点,并确保所有节点之间的网络通信畅通。 Spark是大数据处理的另一个关键组件,它支持批处理、交互式查询(通过Spark SQL)、实时流处理(通过Spark ...

    hadoop+zookeeper+hbase集群搭建配置说明

    在大数据处理领域,Hadoop、Zookeeper和HBase是三个非常关键的组件,它们共同构建了一个高效、可扩展的数据仓库集群。以下是对这三个组件及其在集群搭建中的配置说明的详细阐述。 1. Hadoop:Hadoop是Apache软件...

    zookeeper+hadoop+hbase+hive(集成hbase)安装部署教程(超详细).docx

    jdk1.8.0_131、apache-zookeeper-3.8.0、hadoop-3.3.2、hbase-2.4.12 mysql5.7.38、mysql jdbc驱动mysql-connector-java-8.0.8-dmr-bin.jar、 apache-hive-3.1.3 2.本文软件均安装在自建的目录/export/server/下 ...

    hadoop+hbase+hive集群搭建

    在构建Hadoop+HBase+Hive集群的过程中,涉及了多个关键步骤和技术要点,下面将对这些知识点进行详细的解析。 ### 1. 时间同步:NTP配置 在分布式系统中,时间的一致性至关重要,特别是在处理日志、事件排序以及...

    Linux环境Hadoop2.6+Hbase1.2集群安装部署

    在构建大数据处理环境时,Linux环境下的Hadoop2.6+Hbase1.2集群安装部署是基础步骤,而Spark分布式集群的搭建则是提升数据处理效率的关键。这些技术的组合使用,可以为大规模数据处理提供高效、可靠的解决方案。 ...

    hadoop+hbase集群搭建 详细手册

    本文将详细介绍如何搭建Hadoop+HBase集群,包括前提准备、机器集群结构分布、硬件环境、软件准备、操作步骤等。 一、前提准备 在搭建Hadoop+HBase集群之前,需要准备以下几个组件: 1. Hadoop:Hadoop是一个基于...

    spark环境安装(Hadoop HA+Hbase+phoneix+kafka+flume+zookeeper+spark+scala)

    本项目旨在搭建一套完整的Spark集群环境,包括Hadoop HA(高可用)、HBase、Phoenix、Kafka、Flume、Zookeeper以及Scala等多个组件的集成。这样的环境适用于大规模的数据处理与分析任务,能够有效地支持实时数据流...

    Hadoop 2.6.0+Hbase1.12+mahout0.9 集群搭建

    Hadoop 2.6.0+Hbase1.12+mahout0.9 集群搭建,自己写的,可以根据实际情况搭建伪分布式或者完全分布式。

    Hadoop2.6+HA+Zookeeper3.4.6+Hbase1.0.0 集群安装详细步骤

    Hadoop2.6+HA+Zookeeper3.4.6+Hbase1.0.0 集群安装详细步骤

    Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6 搭建分布式集群环境详解

    总结来说,搭建Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6的分布式集群环境是一项复杂但关键的任务,它涉及多个组件的安装、配置和集成。通过这个过程,你可以掌握大数据处理的基础架构,并为后续的大数据应用开发打下...

Global site tag (gtag.js) - Google Analytics