系统: CentOS release 6.6 (Final)

Nexus:nexus-2.8.1-bundle.tar.gz,下载地址:https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.8.1-bundle.tar.gz

Java: java version "1.7.0_80"

创建目录并进入目录:mkdir /usr/local/nexus

解压文件:tar -zxvf nexus-2.8.1-bundle.tar.gz,解压后会出现两个目录:nexus-2.8.1-01,sonatype-work

进入nexus-2.8.1-01中,启动nexus:bin/nexus start.

显示启动信息:

Starting Nexus OSS...

Started Nexus OSS...

在防火墙中加入nexus的8081工作端口。

在/etc/sysconfig/iptables的IPPUT链中添加:-A INPUT -p tcp -m tcp --dport 8081 -j ACCEPT

重启防火墙service iptables restart

在浏览器中打开nexus中管理界面:http://ip:8081/nexus 登录admin/admin123,登陆后可自行修改密码

点击左侧的Repositories,可以查看现有的Repository。

选中Central,然后点击下方的“Configuration”,将“Download Remote Indexes”改为True,这样就可以查看远端maven库的Index了

Central Repository是编译Apache Hadoop时要用到的,但是我要编译Cloudera Hadoop,那么就需要另外3个Cloudera Repository,分别是Cloudera Releases Repository,Cloudera SnapShots Repository和Cloudera Repositories。

在nexus中管理界面:http://ip:8081/nexus的Repository中新加Repository,下图分别为这3个Repository的configuration信息。

CentOS中用Nexus搭建maven私服,为Hadoop编译提供本地镜像-LMLPHP

CentOS中用Nexus搭建maven私服,为Hadoop编译提供本地镜像-LMLPHP

CentOS中用Nexus搭建maven私服,为Hadoop编译提供本地镜像-LMLPHP

按照图中配置好之后就可以了。

然后再CentOS中的$maven_home目录下的conf目录中的setting.xml文件中设置mirror信息,如下:

 <mirror>
<id>central</id>
<mirrorOf>central</mirrorOf>
<name>central Mirror.</name>
<url>http://client:8081/nexus/content/repositories/central/</url>
</mirror>
<mirror>
<id>cdh</id>
<mirrorOf>cdh.repo</mirrorOf>
<name>cdh Mirror.</name>
<url>http://client:8081/nexus/content/repositories/cdh.repo/</url>
</mirror>
<mirror>
<id>cdh.snapshot</id>
<mirrorOf>cdh.snapshots.repo</mirrorOf>
<name>cdh snapshot Mirror.</name>
<url>http://client:8081/nexus/content/repositories/cdh.snapshots.repo/</url>
</mirror>
<mirror>
<id>cdh.release</id>
<mirrorOf>cdh.releases.repo</mirrorOf>
<name>cdh release Mirror.</name>
<url>http://client:8081/nexus/content/repositories/cdh.releases.repo/</url>
</mirror>
<mirror>
<id>cdh.third-party</id>
<mirrorOf>third-party</mirrorOf>
<name>cdh Third-Party Mirror.</name>
<url>http://client:8081/nexus/content/repositories/third-party/</url>
</mirror>

然后再编译Hadoop CDH源码时需要的jar包就会去搭建的maven私服上去下载,如果maven私服上没有,那么maven私服回去remote仓库上去下载并缓存,这样以后再需要同样的jar包就不用去remote仓库下载了,节省时间,且加快速度。

05-14 15:38