资讯专栏INFORMATION COLUMN

Hadoop/HBase 编译安装 snappy 压缩工具(采坑)

kumfo / 2912人阅读

摘要:准备所需组件安装依赖包,,,,,,,,,,,,大部分可直接安装即可安装解压进入目录编译安装编译成功后,在下会有如下安装解压进入目录编译安装,配置环境变量立即生效查看版本编译源码安装,,安装依赖库解压进入

准备所需组件

Hadoop 2.7.3:
https://github.com/apache/had...

Snappy 1.1.3: https://github.com/google/sna...

protobuf-2.5.0: https://github.com/google/pro...

安装依赖包
ant,gcc,gcc-c++,make,autoconf,automake,cmake,gzip,libssl-devel,openssl-devel,libtool,Java7+,maven 3+

大部分可直接 yum install 安装即可

安装 snappy

解压 unzip snappy-1.1.3.zip

进入目录 cd snappy-1.1.3

编译安装 ./configure, make && make install;编译成功后,在 /usr/local/lib/ 下会有如下

# ls /usr/local/lib/
libsnappy.a libsnappy.la libsnappy.so libsnappy.so.1 libsnappy.so.1.3.0 
安装 protobuf

解压:unzip protobuf-2.5.0.zip

进入目录:cd protobuf-2.5.0/

编译安装:./configure, make && make install

配置环境变量:export PATH=/usr/local/protoc/bin:$PATH

立即生效:source /etc/profile

查看版本: protoc –version

[root@SparkWorker3 data]# protoc --version
libprotoc 2.5.0
编译 hadoop 源码

安装 jdk,maven,安装依赖库:

yum -y install svn ncurses-devel gcc*
yum -y install lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel

解压 unzip hadoop-release-2.7.3-RC2.zip

进入目录 cd hadoop-release-2.7.3-RC2/

设置 maven 内存,export MAVEN_OPTS="-Xms256m -Xmx512m"

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

时间会很长,一般报错都是缺少依赖

结果如下

# ls hadoop-release-2.7.3-RC2/hadoop-dist/target/hadoop-2.7.3/lib/native
libhadoop.a         libhadooputils.a  libsnappy.a     libsnappy.so.1.3.0
libhadooppipes.a    libhdfs.a         libsnappy.la
libhadoop.so        libhdfs.so        libsnappy.so
libhadoop.so.1.0.0  libhdfs.so.0.0.0  libsnappy.so.1
hadoop 和hbase 添加 snappy

拷贝库文件到 hadoop

# cp -r /data/hadoop-compile/hadoop-release-2.7.3-RC2/hadoop-dist/target/hadoop-2.7.3/lib/native/* $HADOOP_HOME/lib/native/

在 hbase 中创建目录

# mkdir -p $HBASE_HOME/lib/native/Linux-amd64-64

拷贝库文件到 Hbase

# cp -r /data/hadoop-compile/hadoop-release-2.7.3-RC2/hadoop-dist/target/hadoop-2.7.3/lib/native/* $HBASE_HOME/lib/native/Linux-amd64-64/

$HADOOP_/HOME/etc/hadoop/hadoop-env.sh 添加如下环境变量:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/hadoop/hadoop-2.7.3/lib/native/:/usr/local/lib/

$HBASE_HOME/conf/hbase-env.sh 添加如下环境变量:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/hadoop/hadoop-2.7.3/lib/native/:/usr/local/lib/
export HBASE_LIBRARY_PATH=$HBASE_LIBRARY_PATH:$HBASE_HOME/lib/native/Linux-amd64-64/:/usr/local/lib/

修改配置文件

添加 $HADOOP_HOOME/etc/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  
        
     

添加 $HADOOP_HOOME/etc/hadoop/mapred-site.xml

     
    mapred.output.compress    
    true    
    
    
    mapred.output.compression.codec    
    org.apache.hadoop.io.compress.SnappyCodec    
    
    
    mapred.compress.map.output    
    true    
    
    
    mapred.map.output.compression.codec    
    org.apache.hadoop.io.compress.SnappyCodec    
 

添加 $HBASE_HOME/conf/hbase-site.xml

   
         hbase.regionserver.codecs  
         snappy  
  

重启 hadoop、hbase,并测试

hadoop测试: $HADOOP_HOME/bin/hadoop checknative -a

# $HADOOP_HOME/bin/hadoop checknative -a
17/09/21 10:31:50 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native library checking:
hadoop:  true /usr/local/hadoop/hadoop-2.7.3/lib/native/libhadoop.so
zlib:    true /lib64/libz.so.1
snappy:  true /usr/local/hadoop/hadoop-2.7.3/lib/native/libsnappy.so.1
lz4:     true revision:99
bzip2:   false 
openssl: true /lib64/libcrypto.so
17/09/21 10:31:50 INFO util.ExitUtil: Exiting with status 1
hbase 创建表:
create "snappytest", { NAME => "info", COMPRESSION => "snappy"}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/10465.html

相关文章

  • HBase2.0中的Benchmark工具 — PerformanceEvaluation

    摘要:注意这里的行数是指单线程的行数,如果,线程数为,那么在写测试中,写入的将是行。运行结束后,会分别打出每个线程的延迟状况。并在最后统计了所有线程的最大持续时间,平均持续时间等等。这在运行过程中产生大量的,更加影响性能测试。 摘要: 在项目开发过程中,我们经常需要一些benchmark工具来对系统进行压测,以获得系统的性能参数,极限吞吐等等指标。而在HBase中,就自带了一个benchma...

    URLOS 评论0 收藏0
  • 慕课网_《HBase 存储原理剖析》学习总结

    摘要:慕课网存储原理剖析学习总结时间年月日星期一说明本文部分内容均来自慕课网。每一列簇包含多个列列标识符。每一列数据包含了版本和值版本。 慕课网《HBase 存储原理剖析》学习总结 时间:2018年06月11日星期一 说明:本文部分内容均来自慕课网。@慕课网:https://www.imooc.com 教学源码:无 学习源码:https://github.com/zccodere/s.....

    trigkit4 评论0 收藏0
  • 基于云计算的大数据平台基础设施建设实践

    摘要:如何在云上提供弹性敏捷,却不失稳定和高性能的大数据平台如何高效的利用云计算的特点来开发大数据平台本期中国互联网技术联盟分享活动中青云系统工程师周小四给大家带来基于云计算的大数据平台基础设施建设以及其架构特点的主题分享。 大数据平台基础建设当前的趋势是云化与开放,这个平台需要可以提供各类大数据相关 PaaS 服务,也需要使各类服务间可以简单灵活的组合来满足多变及定制的需求。如何在云上提供...

    MadPecker 评论0 收藏0
  • Hadoop分布式数据库HBase的数据管理

    摘要:以上从微观上介绍了的一些数据管理措施。那么作为分布式数据库在整体上从集群出发又是如何管理数据的呢在分布式集群上主要依靠由组成的体系结构从整体上管理数据。此外,域服务器还会周期性地对所有的映射文件进行压缩,使其成为单一的映射文件。        HBase是一个类似Bigtable的分布式数据库,它的大部分特性和Bigtable一样,是一个稀疏的、长期存储的(存在硬盘上)、多维度的排序映射表。...

    ideaa 评论0 收藏0
  • Hadoop分布式数据库HBase的数据管理

    摘要:以上从微观上介绍了的一些数据管理措施。那么作为分布式数据库在整体上从集群出发又是如何管理数据的呢在分布式集群上主要依靠由组成的体系结构从整体上管理数据。此外,域服务器还会周期性地对所有的映射文件进行压缩,使其成为单一的映射文件。        HBase是一个类似Bigtable的分布式数据库,它的大部分特性和Bigtable一样,是一个稀疏的、长期存储的(存在硬盘上)、多维度的排序映射表。...

    vslam 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<