hadoop安装Snappy HBase本地安装Snappy
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相关推荐
- cygwin用命令安装软件_Cygwin本地安装版
cygwin本地安装版离线即可安装,使用十分方便,适合linux.安卓平台软件开发与测试时使用,倍受行业人员和学者们的青睐. http://www.itmop.com/downinfo/13002.h ...
- php本地的调试安装,教你本地安装、运行、调试PHP程序
安装工具 对学习PHP的新手来说,WINDOWS下环境配置是一件很困难的事:至少对于我来说本地调试PHP程序比登天还要困难,繁荣拖沓的各种程序.以前我博客程序用的是PJBLOG,本地的IIS就完全可以 ...
- Linux——RPM、Yum 安装及yum本地安装
RPM包管理器通过建立统一的文件数据库,对在Linux系统中安装.卸载.升级的各种.rpm软件包进行详细的记录,并能够自动分析软件包之间的依赖关系,保持各应用程序在一个协调.有序的整体环境中运行. 使 ...
- nodejs全局安装和本地安装的区别
作者:白树 转载自http://www.cnblogs.com/PeunZh... 上一篇文章<npm 常用命令详解>主要是整理了最常使用的npm命令及相关介绍,其中有提到全局安装(npm ...
- deb 安装_本地安装DEB包的3种命令行工具(适合Ubuntu和Deepin )
请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 在本教程中,我们将学习如何使用三种不同的命令行工具(d ...
- node.js全局安装和本地安装的区别
上一篇文章<npm 常用命令详解>主要是整理了最常使用的npm命令及相关介绍,其中有提到全局安装(npm install gulp -g)和本地安装(npm install gulp),下 ...
- python安装wheel失败_Python安装Pyinstaller失败,Preparing wheel metadata ... error
python打包 Python安装Pyinstaller失败,Preparing wheel metadata ... error 解决办法 执行pyinstaller时报错:TypeError: a ...
- Hadoop集群搭建(六:HBase的安装配置)
实验 目的 要求 目的: 1.HBase的高可用完全分布模式的安装和验证 要求: 完成HBase的高可用完全分布模式的安装: HBase的相关服务进程能够正常的启动: HBase控制台能够正常使用: ...
- window下hadoop、hbase的安装和eclipse开发环境配置
全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 hadoop下载 这里下载的hadoop-2.7.5.tar.gz http://mirror.bit.edu.cn/apache/h ...
最新文章
- JAVA中return与finally的先后关系
- Mercury:唯品会全链路应用监控系统解决方案详解
- Quartz 框架快速入门(三)
- HDU5511 : Minimum Cut-Cut
- iOS开发之pch文件的正确使用
- MySQL Performance-Schema(三) 实践篇
- CSS 小结笔记之文字溢出处理
- 数组c语言什么时候学的,C语言学习之数组
- 芯片短缺并未缓解,机构数据显示交付周期在7月份已超过20周
- django进阶06数据库事务
- Python调整图片透明度
- mfc通过com控制AutoCAD导出jpg文件
- 机器人潘森护盾_新版潘森无伤抗塔 E技能护盾机制全解析
- 那些编程中遇到的常见英文缩写
- webgl点光源的漫反射
- 堆栈c语言 矩形填色,堆栈涂色官方版下载|堆栈涂色安卓版v0.1下载 - 一游网手机游戏...
- Spring Cloud Hystrix 全解 (1) - 总览篇
- oracle数据库赋权
- 善用 Google 的 手气不错 I'm feeling lucky 搜索
- java 数据库密码加密解密方法
热门文章
- linux清理进程内存,linux 内存使用管理及释放
- React-Native Text组件重新渲染时会文字超出屏幕的问题
- word排版快捷指令_十个绝对经典的word排版小技巧+WORD经典快捷100招
- 完美解决 Android WebView 文本框获取焦点后自动放大问题
- 心理学计算机学什么,心理学专业学什么 都有哪些课程
- Solidworks二次开发: VC6.0创建的插件移植到VS2013中
- CPU和GPU频率波动幅度
- 高校计算机实验室安全自查报告,某大学实验室安全检查自查报告
- SWF与FLV文件格式
- SQLyog(MySQL图形化开发工具)