• Centos7下编译CDH版本hadoop源码支持Snappy压缩


    1 下载snappy包并编译

    wget https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz

    tar xvfz snappy-1.1.3.tar.gz

    cd snappy-1.1.3/

     ./configure
     make
    sudo make install
    ls -lh /usr/local/lib |grep snappy

    2 编译hadoop源码

     cd hadoop-2.6.0-cdh5.7.0

    mvn package -DskipTests -Pdist,native,docs -Dtar

    异常

        第一个异常 jdk版本不对  修改编译版本为jdk1.7

        第二个异常 ssl远程连接关闭  SSLHandshakeException: Received fatal alert: handshake_failure 

          修改环境变量 增加maven参数 export MAVEN_OPTS='-Dhttps.protocols=TLSv1.2'

          [root@hdp1 /mnt/software/hadoop-2.6.0-cdh5.7.0]#source /etc/profile 

    3 之后编译成功

        

    4 重新解压编译好的hadoop tar包 部署 

    [root@hdp1 /mnt/software/hadoop-2.6.0-cdh5.7.0/hadoop-dist/target]#pwd

    /mnt/software/hadoop-2.6.0-cdh5.7.0/hadoop-dist/target

     

    cp hadoop-2.6.0-cdh5.7.0.tar.gz /mnt/software/

    tar -zvxf hadoop-2.6.0-cdh5.7.0.tar.gz

    5 检查snappy压缩支持

    成功支持 

    6 重新格式化集群

      删除之前的hdfs文件目录 然后 重新格式化 遇到点问题 openssl文件缺失

    拷贝 hdp1下面的libcrypto.so文件 到 hdp2 hdp3 hdp4 解决问题

    7 最后自己用之前的Sqoop导出mysql数据到hdfs启用snappy压缩 验证

    sqoop import --connect jdbc:mysql://hdp1:3306/company --username root --password yourpasswd --target-dir /temp --delete-target-dir --num-mappers 1 --fields-terminated-by " " --query 'select name,sex from staff where id <=1 and $CONDITIONS;' --compression-codec org.apache.hadoop.io.compress.SnappyCodec;

    去hdfs查询结果 发现成功保存为snappy格式

  • 相关阅读:
    【PHP】php重写session的存储机制
    【Javascript】原生js 全特效微博发布面板效果实现
    【Javascript】原生js百叶窗效果的实现及原理介绍
    【jQuery】jquery全屏滚动插件【fullPage.js】API 使用方法总结
    从百度音乐和酷狗音乐的分类想到的
    jQuer __Ajax DOM
    面向对象闭包 继承
    Git
    设计模式
    html5标签大全
  • 原文地址:https://www.cnblogs.com/QuestionsZhang/p/10083648.html
Copyright © 2020-2023  润新知