Hadoop安装snappy(编译源码)
目录
- 了解Hive的数据压缩
- Hadoop安装snappy(编译源码)
- 第一步:配置阿里云yum源
- 第二步:配置/etc/resolv.conf
- 第三步:下载Hadoop源码并解压
- 第四步:配置JDK
- 第五步:安装配置maven
- 第六步:protobuf-2.5.0安装
- 第七步:snappy安装
- 第八步:安装CMake
- 第九步:hadoop编译
- 第十步:hadoop配置修改
- (1)修改core-site.xml
- (2)修改mapred-site.xml
- 测试
- 疑惑详解
了解Hive的数据压缩
hive 的数据压缩 == MR的数据压缩
1.在哪个阶段进行数据压缩
MR阶段过程:
input -> map -> shuffle -> reduce -> output
shuffle 阶段几个重要内容:
分区 -> 排序 -> combiner(map端的reduce) -> 压缩 -> 分组
compression压缩的阶段:
map 输出 和 reduce 输出
2.为什么要数据压缩
- 节省磁盘空间
- 减小网络IO、磁盘IO
3.有哪些数据压缩方案
zlib gzipbzip2snappy(google 企业应用)lz4lzo
- 节省存储空间:bzip2 > gzip > lzo
- 解压速度:lzo > gzip > bzip2
4.查看Hadoop中的压缩数据工具
bin/hadoop checknative -a
下面要开始安装数据压缩snappy
Hadoop安装snappy(编译源码)
准备工具
- 电脑系统:macOS 10.15.4
- 虚拟机软件:Parallels Desktop14
- Hadoop各节点节点操作系统:CentOS 7
- JDK版本:jdk1.7.0_67
- Hadoop CDH版本:hadoop-2.6.0-cdh5.9.3
- 官方Hadoop2.6.0源码:hadoop-2.6.0-src
- protobuf版本:protobuf-2.5.0
- snappy版本:snappy-1.1.3
- maven版本:apache-maven-3.5.4-bin
snappy下载链接:
https://src.fedoraproject.org/repo/pkgs/snappy/snappy-1.1.3.tar.gz/7358c82f133dc77798e4c2062a749b73/
protobuf下载链接:
https://github.com/google/protobuf/releases/tag/v2.5.0
官方Hadoop2.6.0源码下载链接:
https://archive.apache.org/dist/hadoop/core/hadoop-2.6.0/
maven3.5.4下载链接:
https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/
第一步:配置阿里云yum源
1、打开centos的yum文件夹
cd /etc/yum.repos.d/
2、用wget下载repo文件
wget http://mirrors.aliyun.com/repo/Centos-7.repo
如果wget命令不生效,说明还没有安装wget工具
yum -y install wget
回车进行安装,当前目录是/etc/yum.repos.d/,刚刚下载的Centos-7.repo也在这个目录上。
3、备份系统原来的repo文件
mv CentOS-Base.repo CentOS-Base.repo.bak
4、替换系统原理的repo文件
mv Centos-7.repo CentOS-Base.repo
5、执行yum源更新命令
yum clean all
yum makecache
yum update
第二步:配置/etc/resolv.conf
vim /etc/resolv.conf
添加内容:
nameserver 8.8.8.8
nameserver 8.8.4.4
第三步:下载Hadoop源码并解压
chmod u+x hadoop-2.6.0-src.tar.gz
tar -zxvf hadoop-2.6.0-src.tar.gz -C /opt/modules
第四步:配置JDK
在Hadoop安装snappy的时候需要jdk7,这是我在测试的时候成功过,jdk1.8在编译的时候会报错
下面就需要重新安装jdk7,并修改配置文件,记得在编译过之后要把jdk换回来8d
export JAVA_HOME=/opt/modules/jdk1.7.0_67
export CLASSPATH=${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
第五步:安装配置maven
chmod u+x apache-maven-3.5.4-bin.tar.gz
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /opt/modules
配置环境变量
export MAVEN_HOME=/opt/modules/maven
export PATH=$MAVEN_HOME/bin:$PATH
测试
mvn -version
配置conf/setting.xml
<mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>
第六步:protobuf-2.5.0安装
在安装protobuf-2.5.0之前需要安装gcc、PCRE、zlib、openssl等依赖库。
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
tar zxvf pcre-8.40.tar.gz
下面先解压protobuf-2.5.0
tar -vxf protobuf-2.5.0.tar -C /opt/modules
然后进入到protobuf-2.5.0目录下,进入到root模式下,依次执行
./configure./make./make install
查看版本
[caizhengjie@bigdata-pro-m01 protobuf-2.5.0]$ protoc --version
libprotoc 2.5.0
即可表示安装成功
第七步:snappy安装
先解压snappy-1.1.3.tar
tar -xvf snappy-1.1.3.tar -C /opt/modules
然后进入到snappy-1.1.3目录下,进入到root模式下,依次执行
./configure./make./make install
默认的安装路径
/usr/local/lib
第八步:安装CMake
sudo yum install cmake
第九步:hadoop编译
解压之后,进入hadoop-2.6.0-src,进入到root模式
然后使用如下编译命令:
mvn clean package -Pdist,native -DskipTests -Dtar -Dbundle.snappy -Dsnappy.lib=/usr/local/lib
大概要等三四十分钟,在网络稳定的情况下即可安装成功
我的这里安装的路径在
/opt/modules/hadoop-2.6.0-src/hadoop-dist/target/hadoop-2.6.0/lib/native
下面需要将hadoop-2.6.0/lib/native
里面的安装文件拷贝到HadoopCDH版本的lib/native
cp -r ../native/* /opt/modules/hadoop/lib/native/
最后查看/opt/modules/hadoop/lib/native
里面的文件
第十步:hadoop配置修改
(1)修改core-site.xml
3台机在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
在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>
这里只配置了map端的数据压缩
如何查看:
首先启动服务
sbin/mr-jobhistory-daemon.sh start historyserver
查看历史服务器web访问端口:19888
测试
bin/hadoop checknative -a
在测试一下mapreduce的wordcount程序,看一下压缩数据的效果
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.9.3.jar wordcount /user/caizhengjie/datas/wordcount.txt /user/caizhengjie/mr/output1
疑惑详解
在/usr/local/lib
下有snappy,那么为什么不直接把snappy拷贝到Hadoop的lib/native目录下,而是还需要编译Hadoop源码
经过mapreduce的wordcount测试,出现了报错
以上内容仅供参考学习,如有侵权请联系我删除!
如果这篇文章对您有帮助,左下角的大拇指就是对博主最大的鼓励。
您的鼓励就是博主最大的动力!
Hadoop安装snappy(编译源码)相关推荐
- 64位centos 下编译 hadoop 2.6.0 源码
64位os下为啥要编译hadoop就不解释了,百度一下就能知道原因,下面是步骤: 前提:编译源码所在的机器,必须能上网,否则建议不要尝试了 一. 下载必要的组件 a) 下载hadoop源码 (当前最新 ...
- linux7安装haproxy,Centos7 源码编译安装haproxy
Centos7 源码编译安装haproxy 操作环境: 一台haproxy主机地址为:192.168.80.100 两台web服务器地址分别为:192.168.80.102 192.168.80.10 ...
- CentOS中通过编译源码包的方式安装Git
场景 这里介绍通过源码包安装的方式 源码文件下载地址: - 地址1:https://www.kernel.org/pub/software/scm/git/ - 地址2:https://github. ...
- android 代码发adb,Android预安装软件adb命令编译源码
Android预安装软件&adb命令&编译源码 发布时间:2020-06-02 17:28:41 来源:51CTO 阅读:895 作者:年少的风 1.预安装软件: 将eclipse下的 ...
- mysql 5.7 源码编译安装_mysql-5.7.*源码编译安装
mysql-5.7.*源码编译安装 系统安装条件 官方文档说明:http://dev.mysql.com/doc/refman/5.7/en/source-installation.html 1> ...
- ubuntu中手动编译源码安装Xorg-server过程中依赖关系的解决
ubuntu中手动编译源码安装Xorg-server过程中依赖关系的解决 在linux系统中手动编译源码安装软件包的过程是非常痛苦的,然而这一个多星期以来我是强忍住脾气体验了一把,虽然面对慢的令人发指 ...
- Ubuntu下Ruby的下载和编译源码安装
1.Ruby的下载 Ruby可以在 Ruby 官网上下载,如果想获取更多的Ruby版本,可以到淘宝镜像网站下载. 2.Ruby的编译源码安装 解压 首先把下载下来的源码压缩包解压到自己指定的目录 编译 ...
- mac 编译源码安装 opencv
无法直接 brew install opencv时,可以按照本教程安装. 第一步:brew install cmake 第二步:编译源码安装 opencv,参照Mac系统下的Opencv开发环境搭建- ...
- Ubuntu下android-4.0.3_r1源码下载,阅读工具安装配置,源码编译详解
备注: android源码动辄6.7G,新版本的则10G左右,所以要有足够大的硬盘空间. android应用开发环境搭建:http://www.cnblogs.com/pharen/archive/2 ...
- FFmpeg入门详解之104:Win10快速安装OpenSSL(不用编译源码)
win10x64安装OpenSSL:不用编译源码 网上一堆的教程教你去下载opensll源代码并用vs进行编译,虽然我有安装vs2015,但是看到那么长的编译步骤,太心累了. 懒人只得找简单的方法,最 ...
最新文章
- 中科院 工程硕士专业课 复试考试前的辅导安排
- AcWing算法提高课 Level-3 第二章 搜索
- mysql内存体系结构_Innodb存储引擎的体系架构之内存
- 为SharePoint Services (SPS)设置文件图标
- Firefox不支持input手动填写后的getAttribute(value),只能用.value(Firefox 3.5.5 Windows)。bug?...
- mysql frm 恢复_mysql 从 frm 文件恢复 table 表结构的3种方法
- 系统学习数字图像处理之彩色图像处理
- 机器学习实战系列(七):数值回归与预测
- 【eclipse】解决:eclipse或STS运行maven工程出现Missing artifact jdk.tools:jdk.tools:jar:1.7问题
- CASS11:超越自我,再续辉煌!CASS10.1.6:延续经典,只为更好!
- 初始化Maven本地仓库
- 屏幕真伪测试软件,如何检测电视屏幕真伪4K、坏点漏光?两款工具一键识别!...
- 零基础想考华为认证,该怎么学?
- android usb 开钱箱_USB打印机开钱箱
- java生成word目录_Apache POI自动生成Word文档(带目录)
- GTK开发(一)创建第一个窗口
- 【备忘】总结一些Java学习者经常去的网站及论坛
- 【测开实战】adb+python自动化刷快手/抖音视频来赚金币
- 内网穿透工具Ngrok
- Dell笔记本电脑编辑C语言,简约大气的C面设计
热门文章
- 服务器管理系统推荐,十大Windows服务器工具 系统管理员必备
- java计算机毕业设计科技专业师生沟通平台源码+数据库+lw文档+系统
- Linux学习笔记2—常见指令的使用
- 专题:手把手学习硬件基础------10、常用器件
- 原滴滴副总裁叶杰平加盟贝壳找房,任首席科学家,用AI帮你找房
- CRM实施阻力之独行侠作风
- kafka2.2源码分析之KafkaChannel
- 【Python数据分析学习实例】计算某个函数的一阶导数、二阶导数,并绘出图像
- Building IKEv1 and IKEv2 on CentOS 7
- Unity OSA循环列表插件常用介绍