snappy的安装

    xiaoxiao2025-03-15  59

    hive经常使用snappy的压缩格式,但是hadoop本身是并不支持snappy格式的压缩的(可以通过hadoop checknative指令查看),想要hadoop支持snappy类型的压缩则需要编译hadoop对应版本的源码,编译成功后把native文件copy到hadoop的目录下,重启hadoop即可。想象的挺好的,but正在的大坑在编译的阶段,弄了两天才弄好下面是我的一些总结: 首先说一些坑: 编译环境的安装,否则无法编译 yum install -y gcc gcc-c++ make cmake protobuf必须是2.5.0版本,snappy也要编译我的snappy是在官网下载的1.1.3版本 protobuf、snappy都要编译安装,指令顺序如下: ./configure make make install 编译hadoop需要依赖一些别的软件: protocolbuf、ant 没有安装这些在编译的时候会报错: Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.4.0:protoc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecutionException: ‘protoc --version’ did not return a version -> [Help 1]

    ant安装很简单,下载tar包后配置环境变量即可 最终编译hadoop源码即可,编译指令使用这个,网上版本比较多,这个是正确的: cd hadoop-2.4.0-src/ mvn clean package -Pdist,native -DskipTests -Dtar -Drequire.snappy -Dbundle.snappy -Dsnappy.lib=/usr/local/lib -Dmaven.javadoc.skip=true 编译过程中网络不佳的话会出现下载假死(卡在那不动了),或者可能出现某个文件下载超时,这时就ctrl+c再重来一遍吧!整个编译过程比较慢,大概编译1个小时(网络好的话可能快一点)。 这篇文章写得挺不错,我就是结合这篇文章解决的问题,大家有需要的话可以参考下

    最新回复(0)