centos中Hadoop2.7.1 hbase1.3编译snappy

来源:互联网 发布:类似惠头条的软件 编辑:程序博客网 时间:2024/06/05 03:37

一、准备编译所需组件:

1. hadoop-2.7.1-src.tar.gz, 官网自行下载

2. snappy-1.1.3.tar.gz,wget https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz

3. protobuf-2.5.0.tar.gz, 下载地址https://github.com/google/protobuf (注意版本为2.5.0

4. hadoop-snappy-master.zip,下载地址https://github.com/electrum/hadoop-snappy

二、安装依赖包

ant,gcc,gcc-c++,make,autoconf,automake,cmake,gzip,libssl-devel,openssl-devel,libtool,Java7+,maven 3+
大部分可直接yum install 安装即可

三、安装snappy

1. 解压 tar zxvf snappy-1.1.3.tar.gz
2. 进入目录:cd snappy-1.1.3/
3. 编译安装 ./configure, make && make install ,成功之后如图

四、安装protobuf

1. protobuf-2.5.0.tar.gz 此包是我以前下载好的,现在新下载的包安装方式稍有变化,https://github.com/google/protobuf 地址安装教程也很详细
2. 解压:tar zxvf protobuf-2.5.0.tar.gz 
3. 进入目录:cd protobuf-2.5.0/
4. 编译安装:./configure --prefix=/usr/local/protoc, make && make install
5. 配置环境变量:export PATH=/usr/local/protoc/bin:$PATH
6. 立即生效:source /etc/profile
7. 查看版本: protoc --version

五、编译hadoop源码

1. 解压 tar zxvf   hadoop-2.7.1-src.tar.gz
2. 进入目录 cd hadoop-2.7.1-src/
3. 设置maven内存,export MAVEN_OPTS="-Xms256m -Xmx512m"
4. 编译 mvn clean package -Pdist,native -DskipTests -Dtar -rf :hadoop-common -Drequire.snappy -X 
5. 时间会很长,一般报错都是缺少依赖
6. 结果如图

六、编译hadop-snappy

1. 解压:unzip hadoop-snappy-master.zip
2. 打包: maven package
3. 解压打包好的文件,mkdir ~/snappy,  cp hadoop-snappy-master/target/hadoop-snappy-0.0.1-SNAPSHOT.tar.gz  ~/snappy
4. 解压tar zxvf hadoop-snappy-0.0.1-SNAPSHOT.tar.gz

七、hadoop和hbase添加snappy

1. cp -r /home/hadoop-2.7.1-src/hadoop-dist/target/hadoop-2.7.1/lib/native/* /home/hadoop-2.7.1/lib/native/
2. cp ~/snappy/hadoop-snappy-0.0.1-SNAPSHOT/lib/native/Linux-amd64-64/*  /home/hadoop-2.7.1/lib/native/
3. 在hbase中创建目录mkdir -p hbase-1.3.1/lib/native/Linux-amd64-64
4. cp -r /home/hadoop-2.7.1/lib/native/* hbase-1.3.1/lib/native/Linux-amd64-64

八、修改配置文件

1. 添加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>
2.mapred-site.xml
<property>      <name>mapred.output.compress</name>      <value>true</value>  </property>  <property>      <name>mapred.output.compression.codec</name>      <value>org.apache.hadoop.io.compress.SnappyCodec</value>  </property>  <property>      <name>mapred.compress.map.output</name>      <value>true</value>  </property>  <property>      <name>mapred.map.output.compression.codec</name>      <value>org.apache.hadoop.io.compress.SnappyCodec</value>  </property>

3.hbase-site
<property>         <name>hbase.regionserver.codecs</name>         <value>snappy</value>    </property>

九、重启hadoop,hbase,并测试

1. hadoop测试:


2. hbase创建表: create 'snappytest', { NAME => 'info', COMPRESSION => 'snappy'}
原创粉丝点击