hadoop源码编译以及在java连接hdfs的配置设置

本文档详细记录了从下载Hadoop源码到使用Maven打包的全过程,包括所需依赖的下载、环境变量配置、编译工具的安装和配置。此外,还介绍了Java连接HDFS时的项目配置,包括Maven项目的创建、相关依赖的添加以及log4j.properties的配置。
摘要由CSDN通过智能技术生成

hadoop源码编译

之前在学校学习Hadoop的时候,这一步直接跳过的,都没人讲这个东西,直接发的压缩包给我们,后面做hadoop连接java的时候去网上找都是要钱,像我这种穷人就喜欢白嫖,所以就去找到这个学习了这个源码编译记不到步骤只能写下来,万一以后忘了还可以看看,哈哈哈

需要先下载这些包
hadoop-2.7.2-src.tar.gz (要下src这个版本,包含源码)
jdk-8u144-linux-x64.tar.gz
apache-ant-1.9.9-bin.tar.gz(build工具,打包用的)
apache-maven-3.0.5-bin.tar.gz
protobuf-2.5.0.tar.gz(序列化的框架)

在官网中找不到自己想要的对应版本
官网全英文我人都麻了其他文章里面只给了官网地址要不然就是要钱,点进去官网找不到啊!这是我觉得比较难找的几个包的地址点进去找版本下载就可以了
hadoop2.7.2-src.tar.gz
网址:https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.2/hadoop-2.7.2-src.tar.gz

jdk1.8
网址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

apache-ant-1.9.9-bin.tar.gz
网址:https://archive.apache.org/dist/ant/binaries/

xftp上传压缩包,我这里还是放在/opt/software下面的
除了hadoop2.7.2-src.tar.gz包将全部解压到/opt/module下
hadoop2.7.2-src.tar.gz解压到/opt/下面

cd /opt/software
tar -zxvf  hadoop2.7.2-src.tar.gz -C  /opt/
tar -zxvf  jdk-8u144-linux-x64.tar.gz -C ../module
tar -zxvf  apache-ant-1.9.9-bin.tar.gz -C ../module
tar -zxvf  apache-maven-3.0.5-bin.tar.gz -C ../module
tar -zxvf  protobuf-2.5.0.tar.gz -C ../module

配置环境变量
配置/etc/下profile文件

vi /etc/profile
#java
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin

#MAVEN_HOME
export MAVEN_HOME=/opt/module/apache-maven-3.0.5
export PATH=$PATH:$MAVEN_HOME/bin

#ANT_HOME
export ANT_HOME=/opt/module/apache-ant-1.9.9
export PATH=$PATH:$ANT_HOME/bin

#LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/module/protobuf-2.5.0
export PATH=$PATH:$LD_LIBRARY_PATH

#hadoop
export HADOOP_HOME=/opt/hadoop-2.7.2-src
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

使文件生效
source /etc/profile

修改maven的settings.xml的配置
/opt/module/apache-maven-3.0.5/conf/settings.xml
在mirror容器里添加阿里云镜像地址

 <mirror>
     <id>nexus-aliyun</id>
       <mirrorOf>central</mirrorOf>
       <name>Nexus aliyun</name>
       <url>http://maven.aliyun.com/nexus/content/groups/public</url>
  </mirror>

进入apache-ant-1.9.9目录下安装

yum install glibc-headers
yum install gcc-c++
yum install make
yum install cmake

进入protobuf-2.5.0运行

./configure
make
makecheck
makeinstall
ldconfig

在software目录下安装

yum install openssl-devel
yum install ncurses-devel

完成后就可以进行打包了
在hadoop-2.7.2-src下进行打包

mvn package -Pdist,native -DskipTests -Dtar

打包过程比较久,在打包过程中容易maven发生报错可能是因为网络原因造成下载的包不完整多尝试几次
打包成功后的64位hadoop包在/opt/hadoop-2.7.2-src/hadoop-dist/target下

java连接hdfs的配置

通过xftp将包发送到windows中
将其解压后放到Windows的任意英文目录下我是放到java目录下的

之后配置windows的环境变量
属性-高级系统设置-环境变量-系统变量-新建
HADOOP_HOME 解压后所放置的位置
在path中添加%HADOOP_HOME\bin%;
在这里插入图片描述
在这里插入图片描述
在java中创建maven项目
file-new-project-maven project-勾选Create…-添加group id 和artifact id-finish
在这里插入图片描述
修改pom.xml添加相应依赖

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
</dependencies>

在这里插入图片描述
在这里插入图片描述

需要在src/main/resources新建一个log4j.porperties添加

log4j.rootLogger=INFO,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d%p[%c]-%m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d%p[%c]
-%m%n

至此完成
可以在java中进行与hdfs的连接和操作了
我按照这个步骤安装比较顺利,报错没有遇到报错所以也没有报错解决方案了,每个人的机子不一样,情况也会有所不同,参考参考吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值