系统: 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中的$maven_home目录下的conf目录中的setting.xml文件中设置mirror信息,如下:
1 <mirror> 2 <id>centralid> 3 <mirrorOf>centralmirrorOf> 4 <name>central Mirror.name> 5 <url>http://client:8081/nexus/content/repositories/central/url> 6 mirror> 7 <mirror> 8 <id>cdhid> 9 <mirrorOf>cdh.repomirrorOf> 10 <name>cdh Mirror.name> 11 <url>http://client:8081/nexus/content/repositories/cdh.repo/url> 12 mirror> 13 <mirror> 14 <id>cdh.snapshotid> 15 <mirrorOf>cdh.snapshots.repomirrorOf> 16 <name>cdh snapshot Mirror.name> 17 <url>http://client:8081/nexus/content/repositories/cdh.snapshots.repo/url> 18 mirror> 19 <mirror> 20 <id>cdh.releaseid> 21 <mirrorOf>cdh.releases.repomirrorOf> 22 <name>cdh release Mirror.name> 23 <url>http://client:8081/nexus/content/repositories/cdh.releases.repo/url> 24 mirror> 25 <mirror> 26 <id>cdh.third-partyid> 27 <mirrorOf>third-partymirrorOf> 28 <name>cdh Third-Party Mirror.name> 29 <url>http://client:8081/nexus/content/repositories/third-party/url> 30 mirror>
然后再编译Hadoop CDH源码时需要的jar包就会去搭建的maven私服上去下载,如果maven私服上没有,那么maven私服回去remote仓库上去下载并缓存,这样以后再需要同样的jar包就不用去remote仓库下载了,节省时间,且加快速度。