linux snappy 压缩_linux解压snappy - CSDN
  • hadoop 压缩-snappy

    2015-05-19 09:22:24
    ---1. snappy 下载安装Apache hadoop-1.2.1后,在运行wordcount 时报警告 WARN snappy.LoadSnappy: Snappy ...想要给Hadoop集群增加snappy压缩支持。 环境: cenos6.6 64bit minimal 1. 给OS安装 g++: centos:

    下载安装Apache hadoop-1.2.1(bin.tar.gz文件)搭建集群后,在运行wordcount 时报警告 WARN snappy.LoadSnappy: Snappy native library not loaded。

    我们想要给Hadoop集群增加snappy压缩支持。很多发行版的hadoop已经内置了snappy/lzo压缩,比如cloudera CDH, Hortonworks HDP. 但是Apache发行版安装包大多不带压缩支持。(Apache hadoop-.1.21 RPM版本Hadoop (hadoop-1.2.1-1.x86_64.rpm
    )已经有snappy支持,但其hadoop-1.2.1-bin.tar.gz 并无压缩支持)

    1. snappy安装

    1. 给OS安装 g++:

    centos:
    yum -y update gcc
    yum -y install gcc+ gcc-c++
     
    ubuntu:
    apt-get update gcc
    apt-get install g++

    2. 下载snappy 源码 , http://code.google.com/p/snappy/downloads/list  (可以看到 snappy-1.1.1.tar.gz) 下载后解压(默认目录为 snappy-1.1.1 )

    到解压后的目录依次执行:

    1) ./configure

    2) make

    3) make check

    4) make install

    snappy默认安装目录为/usr/local/lib , 可以用ls /usr/local/lib 命令看到其下有 libsnappy.so 等文件。 

    3.将生成的libsnappy.so放到$HADOOP_HOME/lib/native/Linux-amd64-64. 重启hadoop集群,这时 Hadoop已经具有snappy压缩功能。

    4. 运行 Wordcount之前 设置环境变量LD_LIBRARY_PATH使其包含libsnappy.so的目录 ( export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native/Linux-amd64-64:/usr/local/lib )

    5.再次运行wordcount 可以看到之前的warn消失。

    如果设置job的输出结果为snappy压缩,在hdfs上能看到输出目录包含一个part-r-00000.snappy的文件

    ------以上结果在cenos6.6 64bit minimal和Ubuntu 12.04 64bit server中验证通过

    2. Hadoop job中使用压缩:

    可在mapred-site.xml 中设置 或者针对job在 code中设置。

    job中间结果(map输出)使用压缩:

    ---mrV1:

    <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.SnappyCodec</value>
    </property>

    ---YARN:

    <property>
      <name>mapreduce.map.output.compress</name>  
      <value>true</value>
    </property>
    <property>
      <name>mapred.map.output.compress.codec</name>  
      <value>org.apache.hadoop.io.compress.SnappyCodec</value>

    </property>


    job最终结果使用压缩:

    ---mrV1:

    <property>     
      <name>mapred.output.compress</name>
      <value>true</value>   
    </property>   

    <property>     
       <name>mapred.output.compression.codec</name>
       <value>org.apache.hadoop.io.compress.SnappyCodec</value>   
    </property>

    <property>     
       <name>mapred.output.compression.type</name>
       <value>BLOCK</value>  
       <description> For SequenceFile outputs, what type of compression should be used (NONE, RECORD, or BLOCK). BLOCK is recommended. </description>
    </property>

    ---YARN:

    <property>
        <name>mapreduce.output.fileoutputformat.compress</name>
        <value>true</value>
      </property>

      <property>
        <name>mapreduce.output.fileoutputformat.compress.codec</name>
        <value>org.apache.hadoop.io.compress.SnappyCodec</value>
      </property>

      <property>
        <name>mapreduce.output.fileoutputformat.compress.type</name>
        <value>BLOCK</value>
        <description>For SequenceFile outputs, what type of compression should be used (NONE, RECORD, or BLOCK). BLOCK is recommended.</description>

      </property>


    3 读hdfs上snappy压缩结果代码示例

            /**
    	 * 程序运行时 需要设置LD_LIBRARY_PATH,使其包含含有libsnappy.so的目录.对于Windows,需要设置PATH, 使其包含含有snappy.dll的目录
    	 * 
    	 * @param file hdfs file, such as hdfs://hadoop-master-node:9000/user/hadoop/wordcount/output/part-r-00000.snappy
    	 * @throws Exception
    	 */
    	public void testReadOutput_Snappy2(String file) throws Exception {
    		Configuration conf = new configuration();
    		conf.set("fs.default.name", "hdfs://hadoop-master-node:9000");
    		FileSystem fs = FileSystem.get(conf);
    		CompressionCodecFactory factory = new CompressionCodecFactory(conf);
    		CompressionCodec codec = factory.getCodec(new Path(file));
    		if (codec == null) {
    			System.out.println("Cannot find codec for file " + file);
    			return;
    		}
    		CompressionInputStream in = codec.createInputStream(fs.open(new Path(
    				file)));
    		BufferedReader br = null;
    		String line;
    		try {
    			br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
    			while ((line = br.readLine()) != null) {
    				System.out.println(line);
    			}
    		} finally {
    			if (in != null) {
    				br.close();
    			}
    		}
    	}




    展开全文
  • 1.安装snappy数据压缩格式 (1)安装snappy:下载snappy安装包,并解压安装。 (2)编译haodop 2.x源码: mvn package -Pdist,native -DskipTests -Dtar -Drequire.snappy /apps/soft/hadoop-2.7.5-src/target/...
    1.安装snappy数据压缩格式
    

    (1)安装snappy:下载snappy安装包,并解压安装。

    (2)编译haodop 2.x源码:

    mvn package -Pdist,native -DskipTests -Dtar -Drequire.snappy /apps/soft/hadoop-2.7.5-src/target/hadoop-2.7.5/lib/native
    

    (3) 检查 结果

    bin/hadoop checknative
    

    欢迎关注,更多福利

    这里写图片描述

    展开全文
  • 配置Snappy压缩

    2018-06-04 08:30:58
    功能说明使用snappy压缩来提升mapreduce和hbase的性能。其实就是用CPU换IO吞吐量和磁盘空间。配置并使用snappy有如下几点要求:首先需要hadoop集群的native库已经收到编译好,并且添加了对snappy的支持。编译hadoop...


    1. 功能说明


    使用snappy压缩来提升mapreduce和hbase的性能。其实就是用CPU换IO吞吐量和磁盘空间。配置并使用snappy有如下几点要求:

    • 首先需要hadoop集群的native库已经收到编译好,并且添加了对snappy的支持。编译hadoop源码之前安装了snappy并且编译时指定-Drequire.snappy参数。(我使用的版本是hadoop-2.5.0-cdh5.3.3伪分布式)
    • 安装了maven(我使用的版本是3.0.5)
    • jdk已经成功安装并设置了JAVA_HOME(我使用的版本是1.7.0_75)


    2. MapReduce配置snappy


    配置过程参考官网(但是有所区别)

    https://github.com/electrum/hadoop-snappy


    2.1 测试MR


    为了与后期配置完成snappy后进行对比我们先测试一个简单mapreduce程序,然后记录map的输出bytes大小

    $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0-cdh5.3.3.jar wordcount /wordcount/in /wordcount/out
    • 1

    这里写图片描述


    2.2 安装依赖


    首先在服务器上安装snappy,而安装snappy需要一系列的依赖,为了避免麻烦我们首先安装好这些依赖

    $ sudo yum -y install gcc c++ autoconf automake libtool
    • 1


    2.3 下载snappy安装包


    从官网下载snappy的安装包

    http://pkgs.fedoraproject.org/repo/pkgs/snappy/snappy-1.1.1.tar.gz/8887e3b7253b22a31f5486bca3cbc1c2/snappy-1.1.1.tar.gz


    2.4 上传部署


    将snappy-1.1.1.tar.gz上传到服务器解压重命名为snappy-1.1.1,【SNAPPY_HOME】为【/usr/local/cdh-5.3.3/snappy-1.1.1】


    2.5 安装snappy


    进入【SNAPPY_HOME】目录下安装snappy

    $ sudo ./configure
    $ sudo make
    $ sudo make install
    • 1
    • 2
    • 3

    注:一定要确保全程无Error!

    如果安装成功的话进入【/usr/local/lib】目录下(默认位置),可以看到已经生成了snappy的库文件

    $ cd /usr/local/lib
    $ ll
    • 1
    • 2

    这里写图片描述


    2.6 下载hadoop-snappy


    从github上将hadoop-snappy压缩包下载下来

    https://github.com/electrum/hadoop-snappy


    2.7 上传部署


    将hadoop-snappy-master.zip部署到服务器解压重命名为hadoop-snappy-master

    $ unzip hadoop-snappy-master.zip
    • 1


    2.8 编译hadoop-snappy


    进入hadoop-snappy-master,使用maven进行编译

    $ cd hadoop-snappy-master
    $ mvn clean package
    • 1
    • 2

    这里写图片描述

    注:如果你的snappy是使用其他方式安装的请一定找到snappy的安装路径,并在编译的时候添加参数-Dsnappy.prefix=SNAPPY_INSTALLATION_DIR,不指定的话默认为【/usr/local】目录。

    编译好的tar包在当前目录下的target目录下(hadoop-snappy-0.0.1-SNAPSHOT.tar.gz)

    这里写图片描述


    2.9 配置


    2.9.1 配置native


    将2.7中编译得到的hadoop-snappy-0.0.1-SNAPSHOT.tar.gz解压,拷贝需要的jar包和native到hadoop的lib目录下

    $ tar -zxvf hadoop-snappy-0.0.1-SNAPSHOT.tar.gz
    $ cp hadoop-snappy-0.0.1-SNAPSHOT/lib/hadoop-snappy-0.0.1-SNAPSHOT.jar $HADOOP_HOME/lib
    $ cp hadoop-snappy-0.0.1-SNAPSHOT/lib/native/Linux-amd64-64/* $HADOOP_HOME/lib/native/
    • 1
    • 2
    • 3


    2.9.2 配置core-site.xml


    配置hadoop集群的的core-site.xml文件,添加如下参数:

    <property>
        <name>io.compression.codecs</name>
        <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec
    ,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.SnappyCodec</value>
    </property>
    • 1
    • 2
    • 3
    • 4
    • 5


    2.9.3 配置mapred-site.xml


    配置hadoop集群的mapred-site.xml,添加如下参数:

    <property>
        <name>mapreduce.map.output.compress</name>
        <value>true</value>
    </property>
    <property>
        <name>mapreduce.map.output.compress.codec</name>
        <value>org.apache.hadoop.io.compress.SnappyCodec</value>
    </property>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    注:为了测试方便我们只配置map的输出压缩。


    2.9.4 重启hadoop集群


    修改完core-site.xml和mapred-site.xml文件后重启hadoop集群。


    2.10 验证MapReduce


    重新运行2.1节中的mapreduce程序

    $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0-cdh5.3.3.jar wordcount /wordcount/in /wordcount/out2
    • 1

    这里写图片描述


    2.11 错误记录


    问题描述

    在2.9.1节中配置native库时按照官方文档是将整个编译解压后的snappy lib目录下的所有内容都拷贝到HADOOP_HOME/lib目录下

    $ cp -r hadoop-snappy-0.0.1-SNAPSHOT/lib/* $HADOOP_HOME/lib
    • 1

    但是在测试MR的时候提示无法加载到snappy的library

    Caused by: java.lang.RuntimeException: native snappy library not available: SnappyCompressor has not been loaded.
            at org.apache.hadoop.io.compress.SnappyCodec.checkNativeCodeLoaded(SnappyCodec.java:69)
            at org.apache.hadoop.io.compress.SnappyCodec.getCompressorType(SnappyCodec.java:132)
            at org.apache.hadoop.io.compress.CodecPool.getCompressor(CodecPool.java:148)
            at org.apache.hadoop.io.compress.CodecPool.getCompressor(CodecPool.java:163)
            at org.apache.hadoop.mapred.IFile$Writer.<init>(IFile.java:114)
            at org.apache.hadoop.mapred.IFile$Writer.<init>(IFile.java:97)
            at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.sortAndSpill(MapTask.java:1602)
            at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.access$900(MapTask.java:873)
            at org.apache.hadoop.mapred.MapTask$MapOutputBuffer$SpillThread.run(MapTask.java:1525)
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    解决办法

    按照2.9.1节中配置native库即可,其实就是将Linux-amd64-64文件夹下的snappy库文件都直接放到$HADOOP_HOME/lib/native目录下。网上说的各种配置环境变量什么的都试过了,没有起到作用。


    3. HBase配置snappy



    3.1 配置native


    参照2.9.1中步骤将hadoop-snappy-0.0.1-SNAPSHOT.jar和snappy的library拷贝到HBASE_HOME/lib目录下即可

    $ cp hadoop-snappy-0.0.1-SNAPSHOT/lib/hadoop-snappy-0.0.1-SNAPSHOT.jar $HBASE_HOME/lib
    $ mkdir $HBASE_HOME/lib/native
    $ cp -r hadoop-snappy-0.0.1-SNAPSHOT/lib/native/Linux-amd64-64/* $HBASE_HOME/lib/native/
    • 1
    • 2
    • 3

    注: 如果创建失败则使用如下命令

    $ cp hadoop-snappy-0.0.1-SNAPSHOT/lib/hadoop-snappy-0.0.1-SNAPSHOT.jar $HBASE_HOME/lib
    $ mkdir $HBASE_HOME/lib/native/Linux-amd64-64
    $ cp -r hadoop-snappy-0.0.1-SNAPSHOT/lib/native/Linux-amd64-64/* $HBASE_HOME/lib/native/Linux-amd64-64/
    • 1
    • 2
    • 3


    3.2 重启HBase集群


    重启HBase集群


    3.3 验证


    先使用以下命令测试snappy对hbase是否可用

    $ bin/hbase org.apache.hadoop.hbase.util.CompressionTest hdfs://hadoop-main.dimensoft.com.cn:8020/wordcount/out2/part-r-00000 snappy
    • 1

    这里写图片描述

    注:hdfs://hadoop-main.dimensoft.com.cn:8020/wordcount/put2/part-r-00000是在2.10节中验证MapReduce使用snappy时候的输出文件

    进入HBase的CLI创建数据表,指定压缩方式

    > create 'company', { NAME => 'department', COMPRESSION => 'snappy'}
    > describe 'company'
    • 1
    • 2

    这里写图片描述

    插入数据

    > put 'company', '001', 'department:name', 'develop'
    > put 'company', '001', 'department:address', 'sz'
    • 1
    • 2

    查询

    > scan 'company'
    • 1

    这里写图片描述


    4. Uber模式使用Snappy


    配置了uber模式后使用上述的snappy压缩配置方法后mapreduce程序运行报错:

    2015-06-17 04:27:48,905 FATAL [uber-SubtaskRunner] org.apache.hadoop.mapred.LocalContainerLauncher: Error running local (uberized) 'child' : java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCodeLoader.buildSupportsSnappy()Z
        at org.apache.hadoop.util.NativeCodeLoader.buildSupportsSnappy(Native Method)
        at org.apache.hadoop.io.compress.SnappyCodec.checkNativeCodeLoaded(SnappyCodec.java:63)
        at org.apache.hadoop.io.compress.SnappyCodec.getCompressorType(SnappyCodec.java:132)
        at org.apache.hadoop.io.compress.CodecPool.getCompressor(CodecPool.java:148)
        at org.apache.hadoop.io.compress.CodecPool.getCompressor(CodecPool.java:163)
        at org.apache.hadoop.mapred.IFile$Writer.<init>(IFile.java:114)
        at org.apache.hadoop.mapred.IFile$Writer.<init>(IFile.java:97)
        at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.sortAndSpill(MapTask.java:1602)
        at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.flush(MapTask.java:1482)
        at org.apache.hadoop.mapred.MapTask$NewOutputCollector.close(MapTask.java:720)
        at org.apache.hadoop.mapred.MapTask.closeQuietly(MapTask.java:2012)
        at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:794)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
        at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler.runSubtask(LocalContainerLauncher.java:370)
        at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler.runTask(LocalContainerLauncher.java:295)
        at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler.access$200(LocalContainerLauncher.java:181)
        at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler$1.run(LocalContainerLauncher.java:224)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    这是因为在uber模式下无法加载到snappy的native,解决办法是在mapred-site.xml中添加如下配置:

    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>LD_LIBRARY_PATH=$HADOOP_HOME/lib/native</value>
    </property>
    • 1
    • 2
    • 3
    • 4

    https://issues.apache.org/jira/browse/MAPREDUCE-5799

    注:如果是CM安装的CDH版本hadoop则snappy的native在【/opt/cloudera/parcels/CDH/lib/hadoop/lib/native】目录下。

    文章标签: H
    展开全文
  • Snappy是谷歌开源的一个用来压缩和解压的开发包。相较其他压缩算法速率有明显的优势,官方文档显示在64位 i7处理器上,每秒可达200~500MB的压缩速度,不禁感叹大厂的算法就是厉害。 开源项目地址:...

    Snappy是谷歌开源的一个用来压缩和解压的开发包。相较其他压缩算法速率有明显的优势,官方文档显示在64位 i7处理器上,每秒可达200~500MB的压缩速度,不禁感叹大厂的算法就是厉害。

     

    开源项目地址:https://github.com/google/snappy

     

    开撸:

    1.下载最新版本Snappy 1.1.7,下载地址如下:

    https://github.com/google/snappy/releases

    2.解压:

    tar -zxvf tar -zxvf snappy-1.1.7.tar.gz

    3.进入该目录

    cd snappy-1.1.7

    4.创建build目录

    mkdir build

    5.本机需要安装cmake工具,版本>=3.1。执行cmake

    cd build & cmake ../

    6.编译

    make

     

    build目录下回生成静态库libsnappy.a,所需头文件snappy-stubs-public.h和根目录下的snappy.h。

     

    有了库文件和两个头文件,可以使用了。

    新建snappy-test目录,把库文件libsnappy.a,snappy.h,snappy-stubs-public.h三个文件放到该目录下新建main.cpp文件。

    #include <iostream>
    #include "snappy.h"
    #include <string.h>
    
    using namespace std;
    
    int main()
    {
    	string input = "i love china!";
    	for(int i=0; i<5; i++)
    	{
    		input += input;
    	}
    	cout << "压缩前:" << input.size() << endl;
    	cout << input << endl;
    	cout << "=================================" << endl;
    	string output = "";
    	snappy::Compress(input.data(), input.size(), &output);
    	
    	cout << "压缩后:" << output.size() << endl;
    	cout << output << endl;
    	cout << "=================================" << endl;
    
    	string str = "";
    	snappy::Uncompress(output.data(), output.size(), &str);
    	cout << "解压后:" << str.size() << endl;
    	cout << str << endl;
    	return 1;
    }

     运行结果:

    压缩前416字节,压缩后37字节。

    不想编译库的可以直接下载:

    snappy-windows地址:点击打开链接

    没有下载积分的,可以关注下面公众号,回复"108"获取源码

    snappy-linux地址:点击打开链接

    没有下载积分的,可以关注下面公众号,回复"109"获取源码

     

     

    展开全文
  • hadoop的类库中是不带有snappy的,但是考虑到snappy的优点(压缩速度较快,压缩比率较好,虽然不支持切片,但是满足在mr中的shuffle阶段和输出结果压缩!)后面我会再整理下hadoop常用压缩格式,以及各自的优劣点! ...

    前言

    hadoop的类库中是不带有snappy的,但是考虑到snappy的优点(压缩速度较快,压缩比率较好,虽然不支持切片,但是满足在mr中的shuffle阶段和map输出结果压缩!多job串联情况,保证reduce输出能切片能提高MR效率)后面我会再整理下hadoop常用压缩格式,以及各自的优劣点!

    资源准备

    CentOS联网

    配置CentOS能连接外网。Linux虚拟机ping www.baidu.com 是畅通的,以为需要用到Yum来进行安装!Yum安装
    注意:采用root角色编译,减少文件夹权限出现问题

    jar包准备(hadoop源码、JDK8 、maven、protobuf)

    (1)hadoop-2.7.2-src.tar.gz
    (2)jdk-8u144-linux-x64.tar.gz
    (3)snappy-1.1.3.tar.gz
    (4)apache-maven-3.0.5-bin.tar.gz
    (5)protobuf-2.5.0.tar.gz
    

    jar包安装

    注意:所有操作必须在root用户下完成

    JDK解压、配置环境变量JAVA_HOME和PATH,验证java-version(如下都需要验证是否配置成功)

    [root@hadoop101 software] # tar -zxf jdk-8u144-linux-x64.tar.gz -C /opt/module/
    [root@hadoop101 software]# vim /etc/profile
    

    JAVA_HOME

    export JAVA_HOME=/opt/module/jdk1.8.0_144
    export PATH=$PATH:$JAVA_HOME/bin
    
    [root@hadoop101 software]#source /etc/profile
    

    验证命令:java -version

    Maven解压、配置 MAVEN_HOME和PATH

    [root@hadoop101 software]# tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /opt/module/
    [root@hadoop101 apache-maven-3.0.5]# vim /etc/profile
    
    #MAVEN_HOME
    export MAVEN_HOME=/opt/module/apache-maven-3.0.5
    export PATH=$PATH:$MAVEN_HOME/bin
    
    [root@hadoop101 software]#source /etc/profile
    

    验证命令:mvn -version

    编译源码

    准备编译环境

    [root@hadoop101 software]# yum install svn
    [root@hadoop101 software]# yum install autoconf automake libtool cmake
    [root@hadoop101 software]# yum install ncurses-devel
    [root@hadoop101 software]# yum install openssl-devel
    [root@hadoop101 software]# yum install gcc*
    

    编译安装snappy

    [root@hadoop101 software]# tar -zxvf snappy-1.1.3.tar.gz -C /opt/module/
    [root@hadoop101 module]# cd snappy-1.1.3/
    [root@hadoop101 snappy-1.1.3]# ./configure
    [root@hadoop101 snappy-1.1.3]# make
    [root@hadoop101 snappy-1.1.3]# make install
    

    查看snappy库文件

    [root@hadoop101 snappy-1.1.3]# ls -lh /usr/local/lib |grep snappy
    

    编译安装protobuf

    [root@hadoop101 software]# tar -zxvf protobuf-2.5.0.tar.gz -C /opt/module/
    [root@hadoop101 module]# cd protobuf-2.5.0/
    [root@hadoop101 protobuf-2.5.0]# ./configure 
    [root@hadoop101 protobuf-2.5.0]#  make 
    [root@hadoop101 protobuf-2.5.0]#  make install
    

    查看protobuf版本以测试是否安装成功

    [root@hadoop101 protobuf-2.5.0]# protoc --version
    

    编译hadoop native

    [root@hadoop101 software]# tar -zxvf hadoop-2.7.2-src.tar.gz
    [root@hadoop101 software]# cd hadoop-2.7.2-src/
    [root@hadoop101 software]# mvn clean package -DskipTests -Pdist,native -Dtar -Dsnappy.lib=/usr/local/lib -Dbundle.snappy
    

    执行成功后,/opt/software/hadoop-2.7.2-src/hadoop-dist/target/hadoop-2.7.2.tar.gz即为新生成的支持snappy压缩的二进制安装包。

    展开全文
  • 继续来看下Linux压缩和解压缩的命令 一 gzip:压缩文件,压缩后的文件是.gz格式的文件 我先创建一个boduo的文件,然后对boduo文件进行压缩 我们发现生成了一个boduo.gz,原来的boduo文件没了二 gunzip:解压文件...
  • python使用snappy压缩

    2019-06-24 17:55:03
    今天在网上找了很久,终于找到1个snappy压缩命令行,记录下来:1.wget https://bootstrap.pypa.io/get-pip.py2.python ./get-pip.py 3.yum install gcc-c++4.pip install python-snappy用法:python -m snappy -c ...
  • hadoop源码编译:支持snappy压缩  在大数据的情况下,数据量都是特别的大,有时候呢,我们想把数据进行压缩之后在进行处理,这样呢可以大幅度的减少磁盘的IO而且还可以减少网络传输的压力,具体来讲对于本地的...
  • hbase1.3配置snappy压缩

    2017-12-21 14:47:43
    hbase1.3配置snappy压缩 对hbase数据进行压缩的算法很多,snappy、lz0,lz4,gz等。 压缩和不压缩相比,在写入时的编码速度和读时的解码速度都有一定的cpu损耗,但是在容量上都能降低30%甚至更多,就是一种用cpu...
  • 默认情况下,Hbase不开启snappy压缩 ,所以在hbase的lib/native目录下什么也没有(我的前提是执行hadoop checknative可以看到hadoop是支持snappy的) 第一步: 需要将snappy-java-1.0.4.1.jar放在hbase的native目录...
  • 编译hadoop2.X源码和snappy压缩 1.前期工作准备 **1.CentOS联网** 配置CentOS能连接外网。Linux虚拟机ping www.baidu.com 是畅通的 注意:采用root角色编译,减少文件夹权限出现问题 2. jar包准备(hadoop源码、...
  • Linuxsnappy之编译

    2020-05-06 15:58:02
    首先,下载snappy-1.1.7,根据官方说明进行安装: tar -xvzf snappy-1.1.7.tar.gz mkdir build cd build && cmake ../ && make 编译完毕,但是还不能直接运行,一堆报错: 原来是编译得到的...
  • hive处理snappy压缩文件

    2019-06-13 02:14:02
    为什么80%的码农都做不了架构师?>>> ...
  • 近日需要在毕业设计中引入一个压缩库,要求压缩与解压缩速度快,但是压缩率可以不那么苛刻。查找资料发现Google的snappy库比较合适,而且该库开源,由C++写成。所以就拿来使用一下,下面权作记录。下面引出的任何...
  • 最近又安装了一次hadoop系列,以前装过几次,但总也是磕磕碰碰的,本来想这次安装... + snappy压缩。中间遇到不少坑,记录下来;由于这次目标是三件套一步到位,因此配置的时候是一块配置了,三台ubuntu机器分别为zmhad
  • 由于我们的生产环境没有root用户使用权限,且为了不在所有主机上安装一些依赖插件,因此我启用了使用hadoop native本地库,即在core-site.xml中配置了: &lt;property&gt;  &lt;name&...
  • 简介:分布式数据库 mapreduce为hbase提供高性能的计算能力,zookeeper为hbase提供稳定的服务 client包含访问hbase的接口,维护了对应的cache来加速hbase的访问 zookeeper:做master的高可用,regionerver的监控...
  • 之前写过一篇这个文章:http://blog.csdn.net/stark_summer/article/details/47361603,那个时候 linux环境 spark 使用snappy方式压缩任然不好用,而今天我同事hive on hadoop 使用snappy压缩方式也报这个错,此刻的...
1 2 3 4 5 ... 20
收藏数 4,232
精华内容 1,692
关键字:

linux snappy 压缩