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 "\t" --query 'select name,sex from staff where id <=1 and $CONDITIONS;' --compression-codec org.apache.hadoop.io.compress.SnappyCodec;

 

 

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

posted @   Questions张  阅读(542)  评论(0编辑  收藏  举报
编辑推荐:
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 5. Nginx 负载均衡配置案例(附有详细截图说明++)
点击右上角即可分享
微信分享提示