1、环境

  • Centos7
  • hadoop-2.7.7
  • zookeeper-3.4.14
  • hbase-1.4.10
  • JDK1.8

2、hadoop安装snappy(集群,在主库安装)

2.1、安装snappy需要Centos7安装一下插件

必要插件执行以下命令(直接拷贝):

yum install autoconf automake libtool cmake make zlib zlib-devel pkgconfig openssl openssl-devel openssl-libs   snappy snappy-devel bzip2 bzip2-devel jansson jansson-devel fuse fuse-devel gcc gcc-c++ libgcc protobuf protobuf-compiler

官方文档中还有一个build-essential也需要安装,没有找到此插件安装方式也没有安装。但是在安装snappy插件时没有报这个插件错误,正常安装完成,所以暂时没有找到此插件什么用途....

2.2、安装maven 3.6.2

        2.2.1、maven 3.6.2安装包

         下载地址:https://pan.baidu.com/s/1OHXqJI7L7HMCVXReE-OG_g&shfl=sharepset 提取码:vzqu

或者直接网上下载

2.2.2、将maven包上传至服务器

2.2.3、进入maven包所在目录,执行解压命令如下:

tar -xvf apache-maven-3.6.2-bin.tar.gz

执行完成:

2.2.4、配置环境变量使mvn命令生效

vim /etc/profile   在profile文件中添加

export M2_HOME=/home/hadoop/apache-maven-3.3.9 //maven安装路径
         export PATH=$M2_HOME/bin:$PATH

执行source /etc/profile 使环境变量生效

2.2.5、测试maven是否安装成功

执行命令mvn -version 输出 apache maven 版本号,  证明安装成功

2.3、安装Findbugs-3.0.1

        2.3.1、Findbugs-3.0.1安装包

         下载地址:https://pan.baidu.com/s/1oTFufzPKASZmZVwA_ik96g&shfl=sharepset 提取码:s7ej

或者直接网上下载

2.3.2、将findbugs包上传至服务器

2.3.3、进入findbugs包所在目录,执行解压命令如下:

tar -xvf findbugs-3.0.1.tar.gz

执行完成:

2.3.4、配置环境变量使findbugs生效

vim /etc/profile   在profile文件中添加

export FINDBUGS_HOME=/home/hadoop/findbugs-3.0.1  //findbugs安装路径
         export PATH=$PATH:$FINDBUGS_HOME/bin

执行source /etc/profile 使环境变量生效

2.3.5、测试maven是否安装成功

执行命令findbugs -version 输出 版本号,证明安装成功

2.4、安装Snappy

        2.4.1、Snappy安装包

         下载地址:https://pan.baidu.com/s/1aT-voN7TM6kUeZIVIa5p_w&shfl=sharepset 提取码:ly76

或者直接网上下载

2.4.2、将Snappy包上传至服务器

2.4.3、进入Snappy包所在目录,执行解压命令如下:

tar -xvf snappy-1.1.3.tar.gz

2.4.4、安装Snappy

逐步执行一下命令:

cd snappy-1.1.3
                ./configure
                make
                make install

如果执行报错,请安装make cmake 命令:yum install make cmake

2.4.5、查看snappy是否安装成功

ll /usr/local/lib | grep snappy

一共出现5个文件,证明安装成功。

2.5、hadoop-src-2.7.7编译源码

由于下载hadoop-2.7.7.tar.gz中不包含源码文件,所以需要使用hadoop-src-2.7.7包来编译源码

2.5.1、hadoop安装包

         下载地址:https://pan.baidu.com/s/1kYgKiBSQZCzb-bprIcHT_Q&shfl=sharepset 提取码:h7zh

或者直接网上下载

2.5.2、将hadoop-2.7.7-src包上传至服务器

         

2.5.3、进入Snappy包所在目录,执行解压命令如下:

tar -xvf hadoop-2.7.7-src.tar.gz

2.5.4、重新编译hadoop

编译过程中,会出现java堆栈溢出情况,因此执行:export MAVEN_OPTS="-Xms256m -Xmx512m"扩大内存

执行命令重新编译:

mvn package -Pdist,native -DskipTests -Dtar  -Drequire.snappy

编译时间较长,跟网络带宽有很大关系。(我编译了两个多小时)

编译过程中可能会遇见hadoop-2.7.7-src/hadoop-common-project/hadoop-kms/tomcat  下载超时bug,下面提供一个下载好的tomcat,然后上传至hadoop-2.7.7-src/hadoop-common-project/hadoop-kms/downloads 目录下。

链接地址:https://pan.baidu.com/s/11_LnL8cePAF6ZLAQ8VksTw&shfl=sharepset 提取码:xart

然后重新编译:

mvn clean

mvn package -Pdist,native -DskipTests -Dtar  -Drequire.snappy

直到出现BUILD SUCCESS 编译成功

编译完成:

移步到hadoop-2.7.5-src/hadoop-dist/target/hadoop-2.7.5/lib/native下查看编译完成文件

注意:有其他安装文档博客中说编译完成后会出现一个名为hadoop-snappy-0.0.1-SNAPSHOT.jar的jar包,但是我这里编译完成后没有jar包,所以在网上下载了一个编译好的jar包,经过试用完美匹配。如果编译完成后有这个jar包可以直接跳过以下操作到2.5.5在继续执行。

下载地址:https://pan.baidu.com/s/1g4SHNZAfxn3H0kFaVbKHbw&shfl=sharepset 提取码:coes

下载完成后,把jar包上传至hadoop-2.7.5-src/hadoop-dist/target/hadoop-2.7.5/lib/native目录下

2.5.5、Hadoop添加Snappy支持

特别注意:上面的编译,只需要在一台服务器安装即可,以下所有拷贝文件步骤,均需所有集群节点都要拷贝,配置可以不用,目前没有报错。

2.5.5.1、拷贝文件

将编译好的文件拷贝到hadoop中

cp -r * $HADOOP_HOME/lib/native      //hadoop安装目录下

如果没有native文件则创建:mdkir $HADOOP_HOME/lib/native

下面一步我没有做操作,启动hadoop没有报错,可以正常运行,也就是SNAPSHOT.jar这个jar包在native里面,如果后面启动hadoop时报错,可以尝试一下。

cp -r hadoop-snappy-0.0.1-SNAPSHOT.jar  $HADOOP_HOME/lib

查看/usr/local/lib下jdk指向哪里

执行命令:ll /usr/local/lib

由于我这里已经改过了指向的事jdk1.8,如果指向的是1.7的话请修改指向1.8步骤:

先删除:rm -rf /usr/local/lib/libjvm.so

然后执行:cp $JAVA_HOME/jre/lib/amd64/server/libjvm.so /usr/local/lib

2.5.5.2、修改配置文件

修改$HADOOP_HOME/etc/hadoop/hadoop-env.sh配置文件,在文件中加入:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HADOOP_HOME/lib/native
         export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
         export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native/

修改 $HADOOP_HOME/etc/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>

修改 $HADOOP_HOME/etc/hadoop/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>

重新启动hadoop

2.5.6、测试Hadoop是否安装成功snappy

执行hadoop checknative命令

出现 snappy:    true   $HADOOP_HOME/lib/native/libsnappy.so.1证明安装成功

3、hbase安装snappy

hadoop安装完成snappy之后,hbase再安装snappy就简单多了。

3.1、编译(所有主从节点都需要拷贝文件)

第一步:到hbase目录,然后在hbase目录中创建文件夹$HBASE_HOME/lib/native/Linux-amd64-64/

第二步:在hadoop安装snappy时,直接将编译hadoop-src最后产生的那些文件拷贝到第一步创建的那个目录里面

cp -r $HADOOP/lib/native/* $HBASE_HOME/lib/native/Linux-amd64-64/

3.2、配置文件

修改$HBASE_HOME/conf/hbase-env.sh配置文件,在文件中加入

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HADOOP_HOME/lib/native/Linux-amd64-64/
         export HBASE_LIBRARY_PATH=$HBASE_LIBRARY_PATH:$HBASE_HOME/lib/native/Linux-amd64-64/

重新启动hbase

4、验证

配置完成之后,hadoop和hbase均需要全部重启。

4.1、hadoop:

执行hadoop checknative命令

出现 snappy:    true   $HADOOP_HOME/lib/native/libsnappy.so.1证明安装成功

4.2、hbase:

执行shell脚本:

注:如果在执行create 建表时,一直不返回也不报错,那么应该就是集群从节点没有配置snappy信息,需要将2.5.5.1中拷贝的文件也拷贝到从节点上。

5、结论

安装snappy安装完成测试结果(数据一样)

对比(磁盘占用):

不用:数据200万条占用5个G左右磁盘大小

用  :数据5800万条占用4个G左右磁盘大小

对比(查询速度):

不用:4亿筛选10万条需要20秒

用  :暂时没有测试,等待后期补充。

新手进军hadoop确实挺难得,这东西基本摸索一周才搞定,希望对大家有所帮助。

本文完全根据自己配置、测试成功后编写。

hadoop安装Snappy HBase本地安装Snappy相关推荐

  1. cygwin用命令安装软件_Cygwin本地安装版

    cygwin本地安装版离线即可安装,使用十分方便,适合linux.安卓平台软件开发与测试时使用,倍受行业人员和学者们的青睐. http://www.itmop.com/downinfo/13002.h ...

  2. php本地的调试安装,教你本地安装、运行、调试PHP程序

    安装工具 对学习PHP的新手来说,WINDOWS下环境配置是一件很困难的事:至少对于我来说本地调试PHP程序比登天还要困难,繁荣拖沓的各种程序.以前我博客程序用的是PJBLOG,本地的IIS就完全可以 ...

  3. Linux——RPM、Yum 安装及yum本地安装

    RPM包管理器通过建立统一的文件数据库,对在Linux系统中安装.卸载.升级的各种.rpm软件包进行详细的记录,并能够自动分析软件包之间的依赖关系,保持各应用程序在一个协调.有序的整体环境中运行. 使 ...

  4. nodejs全局安装和本地安装的区别

    作者:白树 转载自http://www.cnblogs.com/PeunZh... 上一篇文章<npm 常用命令详解>主要是整理了最常使用的npm命令及相关介绍,其中有提到全局安装(npm ...

  5. deb 安装_本地安装DEB包的3种命令行工具(适合Ubuntu和Deepin )

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 在本教程中,我们将学习如何使用三种不同的命令行工具(d ...

  6. node.js全局安装和本地安装的区别

    上一篇文章<npm 常用命令详解>主要是整理了最常使用的npm命令及相关介绍,其中有提到全局安装(npm install gulp -g)和本地安装(npm install gulp),下 ...

  7. python安装wheel失败_Python安装Pyinstaller失败,Preparing wheel metadata ... error

    python打包 Python安装Pyinstaller失败,Preparing wheel metadata ... error 解决办法 执行pyinstaller时报错:TypeError: a ...

  8. Hadoop集群搭建(六:HBase的安装配置)

    实验 目的 要求 目的: 1.HBase的高可用完全分布模式的安装和验证 要求: 完成HBase的高可用完全分布模式的安装: HBase的相关服务进程能够正常的启动: HBase控制台能够正常使用: ...

  9. window下hadoop、hbase的安装和eclipse开发环境配置

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 hadoop下载 这里下载的hadoop-2.7.5.tar.gz http://mirror.bit.edu.cn/apache/h ...

最新文章

  1. JAVA中return与finally的先后关系
  2. Mercury:唯品会全链路应用监控系统解决方案详解
  3. Quartz 框架快速入门(三)
  4. HDU5511 : Minimum Cut-Cut
  5. iOS开发之pch文件的正确使用
  6. MySQL Performance-Schema(三) 实践篇
  7. CSS 小结笔记之文字溢出处理
  8. 数组c语言什么时候学的,C语言学习之数组
  9. 芯片短缺并未缓解,机构数据显示交付周期在7月份已超过20周
  10. django进阶06数据库事务
  11. Python调整图片透明度
  12. mfc通过com控制AutoCAD导出jpg文件
  13. 机器人潘森护盾_新版潘森无伤抗塔 E技能护盾机制全解析
  14. 那些编程中遇到的常见英文缩写
  15. webgl点光源的漫反射
  16. 堆栈c语言 矩形填色,堆栈涂色官方版下载|堆栈涂色安卓版v0.1下载 - 一游网手机游戏...
  17. Spring Cloud Hystrix 全解 (1) - 总览篇
  18. oracle数据库赋权
  19. 善用 Google 的 手气不错 I'm feeling lucky 搜索
  20. java 数据库密码加密解密方法

热门文章

  1. linux清理进程内存,linux 内存使用管理及释放
  2. React-Native Text组件重新渲染时会文字超出屏幕的问题
  3. word排版快捷指令_十个绝对经典的word排版小技巧+WORD经典快捷100招
  4. 完美解决 Android WebView 文本框获取焦点后自动放大问题
  5. 心理学计算机学什么,心理学专业学什么 都有哪些课程
  6. Solidworks二次开发: VC6.0创建的插件移植到VS2013中
  7. CPU和GPU频率波动幅度
  8. 高校计算机实验室安全自查报告,某大学实验室安全检查自查报告
  9. SWF与FLV文件格式
  10. SQLyog(MySQL图形化开发工具)