hadoopcdh版本安装snappy-创新互联

一.安装 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

十多年的微山网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整微山建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“微山网站设计”,“微山网站推广”以来,每个客户项目都认真落实执行。

二.安装 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/cdh6/cdh/5/

hadoop-2.6.0-cdh6.11.0-src.tar.gz
解压。使用maven编译
4.检查文件
hadoop-2.6.0-cdh6.11.0/hadoop-dist/target/hadoop-2.6.0-cdh6.11.0/lib/native
目录下是否具有 hadoop的本地库以及 snappy的本地库

  1. 将此目录下的文件拷贝到hadoop集群中的hadoop下的lib/native目录和hbase下的lib/native/Linux-amd64-64目录下,没有则新建,各节点均需拷贝。

cp ~apk/hadoop-2.6.0-cdh6.11.0/hadoop-dist/target/hadoop-2.6.0-cdh6.11.0/lib/native/* ~/app/hadoop/lib/native/

6.将本地库同步到其他节点
7.配置 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>

配置 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>
<property>
<name>mapreduce.admin.user.env</name>
<value>LD_LIBRARY_PATH=/home/hadoop/app/hadoop/lib/native</value>
</property>
配置 hbase的 hbase-site.xml
加入
<property>
<name>hbase.block.data.cachecompressed</name>
<value>true</value>
</property>

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-cdh6.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);//这句是关键

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

当前名称:hadoopcdh版本安装snappy-创新互联
网页URL:https://www.cdcxhl.com/article0/dsjioo.html

成都网站建设公司_创新互联,为您提供网站策划虚拟主机营销型网站建设全网营销推广电子商务自适应网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

绵阳服务器托管