zoukankan      html  css  js  c++  java
  • Hadoop集群安装压缩工具Snappy,用于Hbase

    最近项目中要用到Hadoop和Hbase,为了节省服务器的存储成本,并提高吞吐,安装并开启HBase的数据压缩为Snappy。

    主流的HBase压缩方式有GZip | LZO | Snappy,Snappy的压缩比会稍微优于LZO。相比于gzip,Snappy压缩率不如gzip,但是压缩和解压缩速度有很大优势,而且节省cpu资源。

    Hadoop默认没有支持snappy压缩,需要我们自己编译 才能支持snappy的压缩。

    一、安装包准备

      jdk1.8

        apache-maven-3.6.1-bin.tar.gz

        snappy-1.1.1.tar.gz

        protobuf-2.5.0.tar.gz

        hadoop-2.7.3-src.tar.gz

    二、安装基础软件

    yum -y install gcc gcc-c++ libtool cmake maven zlib-devel

     

    确保以上基础软件都安装成功,如maven出现以上情况,则按下面方法安装maven。

    三、安装maven

    3.1. 上传解压

    上传安装包到/usr/local并解压安装包,用root用户解压maven安装包到/usr/local目录下

    cd /usr/local
    
    tar -xvf apache-maven-3.6.1-bin.tar

    3.2. 配置环境变量

    编辑/etc/profile文件,添加如下代码:

    MAVEN_HOME=/usr/local/apache-maven-3.6.1
    export MAVEN_HOME
    export PATH=${PATH}:${MAVEN_HOME}/bin

    3.3.  环境变量生效

    保存文件,并运行如下命令使环境变量生效:

    source /etc/profile

    3.4.  验证

    在控制台输入如下命令,如果能看到Maven相关版本信息,则说明Maven已经安装成功

    mvn –v

    四、安装snappy

    下载地址:http://pkgs.fedoraproject.org/repo/pkgs/snappy/snappy-1.1.1.tar.gz/8887e3b7253b22a31f5486bca3cbc1c2/snappy-1.1.1.tar.gz

    4.1.上传解压

    上传安装包到/usr/local并解压安装包,用root用户解压snappy安装包到/usr/local目录下,并按顺序执行以下命令,进行安装:

    cd /usr/local
    
    tar -xvf snappy-1.1.1.tar.gz
    
    cd snappy-1.1.1
    
    ./configure
    
    make && make install

    4.2.验证

    查看snappy是否安装成功

    ll /usr/local/lib/ | grep snappy

    五、安装protobuf

    下载地址:https://github.com/google/protobuf/releases/tag/v2.5.0

    5.1.上传解压

    上传安装包到/usr/local并解压安装包,用root用户解压protobuf安装包到/usr/local目录下,按顺序执行以下命令,进行安装:

    cd /usr/local
    
    tar -xvf protobuf-2.5.0.tar.gz
    
    cd protobuf-2.5.0
    
    ./configure
    
    make && make install

    5.2.验证

    查看protobuf是否安装完成

    protoc –version

    六、编译生成hadoop-native-Libraries

    hadoop源码下载地址:http://archive.apache.org/dist/hadoop/core/

    6.1.上传解压

    上传安装包到/usr/local并解压安装包,用root用户解压hadoop安装包到/usr/local目录下,按顺序执行以下命令,进行安装:

    cd /usr/local
    
    tar -xvf hadoop-2.7.3-src.tar

    6.2.编译生成hadoop-native-Libraries

    执行以下命令进行编译,因为通过通过mvn安装,会从官方下载相关所需文件,时间漫长,我大概花了3小时左右,如果出现失败终止了,可重新执行以下命令。

    注意:为了提高下载速度。可以修改下载源(添加国内阿里的maven仓库)

    mvn package -DskipTests -Pdist,native -Dtar -Dsnappy.lib=/usr/local/lib -Dbundle.snappy

    6.3.配置Hadoop和Hbase

    1、  进入/usr/local/hadoop-2.7.3-src/hadoop-dist/target/hadoop-2.7.3/lib/native目录,检查是否存在以下文件:

     

    2、  将以上目录下的文件拷贝到hadoop集群中的hadoop下的lib/native目录,如果没有则新建,集群中的各节点均需拷贝;

    3、  将以上目录下的文件拷贝到hbase下的lib/native/Linux-amd64-64目录下,如果没有则新建,集群中的各节点均需拷贝;

    4、  进入/usr/local/hadoop-2.7.3/etc/hadoop目录下修改core-site.xml配置文件

    vi core-site.xml
    在文件中加入如下内容:
    <property>
      <name>io.compression.codecs</name>
      <value>org.apache.hadoop.io.compress.SnappyCodec</value>
    </property>

    6.4.重启Hadoop和Hbase

    在主节点,依次停止:Hbase、Hadoop服务,然后在依次启动Hadoop、Hbase服务。

    这里要注意的是:Hbase启动依赖于Hadoop,会去找Hadoop的hdfs,所以要先启动好Hadoop服务

     

    6.5.验证

    1、  进入安装了Hbase的linux控制台,输入hbase shell 命令进行登陆;

     

    2、  执行以下命令创建表,指定压缩为snappy

    create 'snappyTest',{NAME=>'f',COMPRESSION => 'SNAPPY'}

    以上提示说明创建成功,可在进一步用list命令查看:

    结语

    费了好大的劲,终于安装成功,网上各种搜,方法五花八门,真搞不懂安装snappy为什么要这么麻烦,竟然还要配置Hadoop,先在这里记录总结一下,后续有时间在研究吧。

    网上还有说要编译安装hadoop-snappy的,查了一下,在hadoop2.x源码已经集成了Snappy压缩了,所以编译安装hadoop-snappy 根本是多余的。

  • 相关阅读:
    Linux 常用工具openssh之ssh-copy-id
    Linux 常用工具openssh之ssh-agent
    SpringMVC视图机制详解[附带源码分析]
    Spring中Ordered接口简介
    SpringMVC拦截器详解[附带源码分析]
    SpringMVC类型转换、数据绑定详解[附带源码分析]
    详解SpringMVC请求的时候是如何找到正确的Controller[附带源码分析]
    详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析]
    SpringMVC关于json、xml自动转换的原理研究[附带源码分析]
    Servlet容器Tomcat中web.xml中url-pattern的配置详解[附带源码分析]
  • 原文地址:https://www.cnblogs.com/caoweixiong/p/11270363.html
Copyright © 2011-2022 走看看