设为首页 收藏本站
查看: 1003|回复: 0

[经验分享] hadoop cdh版本安装snappy-liuhongyi115的博客

[复制链接]

尚未签到

发表于 2018-10-28 14:12:55 | 显示全部楼层 |阅读模式
  一.安装 protobuf
  ubuntu 系统
  首先确保具有 gcc gcc-c++ libtool cmake 具有这些环境
  1  在 /etc/ld.so.conf.d/目录下创建文件 libprotobuf.conf   写入内容 /usr/local/lib  否则会报  error while loading shared libraries: libprotoc.so.8: cannot open shared obj
  2../configure make&&make install
  2.验证安装完成
  protoc --version
  libprotoc 2.5.0
  二.安装 snappy 本地库
  http://www.filewatcher.com/m/snappy-1.1.1.tar.gz.1777992-0.html
  下载snappy-1.1.1.tar.gz
  解压  ./configure
  make&& makeInstall
  检查/usr/local/lib
  libsnappy.a
  libsnappy.la
  libsnappy.so
  libsnappy.so.1
  libsnappy.so.1.2.0
  三.编译 cdh hadoop的源码。(加入snappy支持)
  下载链接http://archive.cloudera.com/cdh5/cdh/5/
  hadoop-2.6.0-cdh5.11.0-src.tar.gz
  解压。使用maven编译
  4.检查文件
  hadoop-2.6.0-cdh5.11.0/hadoop-dist/target/hadoop-2.6.0-cdh5.11.0/lib/native
  目录下是否具有 hadoop的本地库以及 snappy的本地库

  • 将此目录下的文件拷贝到hadoop集群中的hadoop下的lib/native目录和hbase下的lib/native/Linux-amd64-64目录下,没有则新建,各节点均需拷贝。
  cp ~apk/hadoop-2.6.0-cdh5.11.0/hadoop-dist/target/hadoop-2.6.0-cdh5.11.0/lib/native/*    ~/app/hadoop/lib/native/
  6.将本地库同步到其他节点
  7.配置 hadoop的 core-site.xml
  加入
  
  io.compression.codecs
  org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.SnappyCodec
  
  配置 mapred-site.xml
  加入
  
  mapreduce.map.output.compress
  true
  
  
  mapreduce.map.output.compress.codec
  org.apache.hadoop.io.compress.SnappyCodec
  
  
  mapreduce.admin.user.env
  LD_LIBRARY_PATH=/home/hadoop/app/hadoop/lib/native
  
  配置 hbase的 hbase-site.xml
  加入
  
  hbase.block.data.cachecompressed
  true
  
  8.重启hadoop的hdfs与yarn
  9.验证snappy是否成功。
  hadoop checknative
  18/03/07 17:33:36 WARN bzip2.Bzip2Factory: Failed to load/initialize native-bzip2 library system-native, will use pure-Java version
  18/03/07 17:33:36 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
  Native library checking:
  hadoop:  true /home/hadoop/app/hadoop/lib/native/libhadoop.so
  zlib:    true /lib/x86_64-linux-gnu/libz.so.1
  snappy:  true /home/hadoop/app/hadoop/lib/native/libsnappy.so.1
  lz4:     true revision:10301
  bzip2:   false
  openssl: true /usr/lib/x86_64-linux-gnu/libcrypto.so
  看到snappy已经成功支持
  运行mapreduce任务
  hadoop jar ~/app/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.11.0.jar wordcount  /input/gisData  /output
  如果正常运行。则证明 snappy没有问题。如果有。
  Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCodeLoader.buildSupportsSnappy()Z
  请检查mapred-site.xml 的本地库配置
  10 启动hbase.
  先创建一张snappy的表
  create 'snappyTest',{NAME=>'f',COMPRESSION => 'SNAPPY'}
  descibe  'snappyTest'
  TTL => 'FOREVER', COMPRESSION => 'SNAPPY', MIN_VERSIONS => '0'  看到这个snappy就可以了。
  重点是我们要压缩现有的表
  可以在shell外执行
  $ echo "disable 'snappyTest2'" | hbase shell #禁用表
  $ echo "desc 'snappyTest2'" | hbase shell #查看表结构
  $ echo "alter 'snappyTest2',{NAME=>'f',COMPRESSION => 'SNAPPY'} " | hbase shell #压缩修改为snappy
  $ echo "enable 'snappyTest2'" | hbase shell #使用该表
  $ echo "major_compact 'snappyTest2'" | hbase shell #最好使该表的region compact一次
  也可以hbase shell 进shell手动压缩。压缩后会发现 数据有40%左右的压缩比
  java代码创建Hbase表只需要
  HColumnDescriptor HColumnDesc = new HColumnDescriptor("data");
  HColumnDesc.setCompressionType(Algorithm.SNAPPY);//这句是关键


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-627578-1-1.html 上篇帖子: Hadoop笔记整理(四):Hadoop分布式HA的安装部署 下篇帖子: Hadoop发行版某厂商发布TPC-DS评测结果
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表