hadoop2.6.0-cdh5.15.1编译源码支持压缩

2024-05-15 01:58

本文主要是介绍hadoop2.6.0-cdh5.15.1编译源码支持压缩,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如果不想自己编译,可以直接从我这里直接下载
链接:https://pan.baidu.com/s/1jUTH-29rdKwAJ0_5vRQ1iA 密码:7juw

文章目录

    • 一 为什么要编译
    • 二 环境条件
    • 三 安装依赖
    • 四 安装软件
      • 4.1 jdk1.7
      • 4.2 maven
      • 4.3 protobuf
    • 五 编译hadoop
    • 六 伪分布式部署

一 为什么要编译

直接从官网上下载的hadoop-2.6.0-cdh5.15.1.tar.gz部署后,不支持压缩,生产上是不可接受的,我们可以用下面命令查看:

hadoop checknative

在这里插入图片描述
所以我们要进行编译,让他支持压缩

二 环境条件

源码下载地址:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.15.1-src.tar.gz
下载之后解压一下,然后我们进入源码文件夹
需要什么环境我们也不知道,我们看下源码里有个BUILDING.txt文件,里面应该有说明
在这里插入图片描述

软件版本百度连接
hadoophadoop2.6.0-cdh5.15.1-src.tar.gz链接:https://pan.baidu.com/s/1cdQl8zf_dIZJccL3FnAYhA 密码:8nor
jdkjdk-7u80-linux-x64.tar.gz链接:https://pan.baidu.com/s/1S-qrnlcATTib4ktj8RqVvA 密码:vziv
mavenapache-maven-3.6.1-bin.tar.gz链接:https://pan.baidu.com/s/16TLBiahgwg1yly2aT3b_RA 密码:o519
protobufprotobuf-2.5.0.tar.gz链接:https://pan.baidu.com/s/19OwTHdwetQHuNuGihPSnzg 密码:bt97

三 安装依赖

 yum install -y svn ncurses-develyum install -y gcc gcc-c++ make cmakeyum install -y openssl openssl-devel svn ncurses-devel zlib-devel libtoolyum install -y snappy snappy-devel bzip2 bzip2-devel \lzo lzo-devel lzop autoconf automake cmake

四 安装软件

4.1 jdk1.7

编译的JDK版本必须是1.7,1.8的JDK会导致编译失败,采坑
1.先解压

 mkdir /usr/javatar -zxvf /home/hadoop/software/jdk-7u80-linux-x64.tar.gz -C /usr/javachown -R  root:root /usr/java

在这里插入图片描述
2.配置环境变量

vim /etc/profile 
#添加如下两行环境变量
export JAVA_HOME=/usr/java/jdk1.7.0_80
export PATH=$JAVA_HOME/bin:$PATH
#环境变量生效
source /etc/profile

在这里插入图片描述

4.2 maven

1.首先解压

tar -zxvf ~/software/apache-maven-3.6.1-bin.tar.gz -C ~/app/

2.配置环境变量

#修改haoop用户的环境变量
vim ~/.bash_profile
export MAVEN_HOME=/home/hadoop/app/apache-maven-3.6.1
#MAVEN_OPTS设置了maven运行的内存,防止内存太小导致编译失败
export MAVEN_OPTS="-Xms1024m -Xmx1024m"
export PATH=$MAVEN_HOME/bin:$PATH
source ~/.bash_profile

在这里插入图片描述
3.设置settings.xml

vim ~/app/apache-maven-3.6.1/conf/settings.xml
#配置maven的本地仓库位置
<localRepository>/home/hadoop/app/maven_repo</localRepository>
#添加阿里云中央仓库地址,注意一定要写在<mirrors></mirrors>之间
<mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

4.3 protobuf

1.解压

tar -zxvf ~/software/protobuf-2.5.0.tar.gz -C ~/app/

2.编译

cd ~/app/protobuf-2.5.0/
#  --prefix= 是用来待会编译好的包放在为路径
./configure  --prefix=/home/hadoop/app/protobuf-2.5.0
#编译以及安装
make
make install

3.环境变量

vim ~/.bash_profile
#追加如下两行内容,未编译前是没有bin目录的
export PROTOBUF_HOME=/home/hadoop/app/protobuf-2.5.0
export PATH=$PROTOBUF_HOME/bin:$PATH
#生效环境变量
source ~/.bash_profile 

在这里插入图片描述

五 编译hadoop

1.编译之前,把pom.xml文件里的https改成http
在这里插入图片描述
编译的话,我们也不知道怎么编译,我们继续看官方提供的BUILDING.txt
在这里插入图片描述
注意:编译的过程中99%的问题是网络问题,如果有遇到jar,pom文件下载不了,根据提示的网站,手动下载放到maven的仓库里

编译命令:(下面加上了clean,因为不会一次编译成功)

mvn clean package -Pdist,native,docs,src -DskipTests -Dtar

编译成功的结果
在这里插入图片描述
我们看下编译的tar文件在哪里
在这里插入图片描述

六 伪分布式部署

部署可以看我之前的博客:
https://guguoyu.blog.csdn.net/article/details/97527526

这篇关于hadoop2.6.0-cdh5.15.1编译源码支持压缩的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/990488

相关文章

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

hdu1565(状态压缩)

本人第一道ac的状态压缩dp,这题的数据非常水,很容易过 题意:在n*n的矩阵中选数字使得不存在任意两个数字相邻,求最大值 解题思路: 一、因为在1<<20中有很多状态是无效的,所以第一步是选择有效状态,存到cnt[]数组中 二、dp[i][j]表示到第i行的状态cnt[j]所能得到的最大值,状态转移方程dp[i][j] = max(dp[i][j],dp[i-1][k]) ,其中k满足c

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

Java ArrayList扩容机制 (源码解读)

结论:初始长度为10,若所需长度小于1.5倍原长度,则按照1.5倍扩容。若不够用则按照所需长度扩容。 一. 明确类内部重要变量含义         1:数组默认长度         2:这是一个共享的空数组实例,用于明确创建长度为0时的ArrayList ,比如通过 new ArrayList<>(0),ArrayList 内部的数组 elementData 会指向这个 EMPTY_EL

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

kubelet组件的启动流程源码分析

概述 摘要: 本文将总结kubelet的作用以及原理,在有一定基础认识的前提下,通过阅读kubelet源码,对kubelet组件的启动流程进行分析。 正文 kubelet的作用 这里对kubelet的作用做一个简单总结。 节点管理 节点的注册 节点状态更新 容器管理(pod生命周期管理) 监听apiserver的容器事件 容器的创建、删除(CRI) 容器的网络的创建与删除