选择了2.9.2是目前的 稳定版本 (其实是因为3.1.2刚开始编的时候问题比较多,有时间的话放在后面编译吧),另外吐槽一下百度,当你想搜索原因的时候,会遇到更多的坑。。太多灌水复制粘贴写的不清不楚的。最后还是用自己的脑子解决有用一些
编译过程begin
centos 7 ( 系统mac上vmware fusion )
1、Hadoop下载源码包:(再吐槽一下百度 当你用Hadoop 搜索的时候都是广告,用hadoop稍微好一些,只有出来的第一个是广告了)
2.9.2 source 源码包,是目前的稳定版本
2、解压
做一个简单的规划,创建目录
1 2 3 |
|
shell工具rz上传压缩包
|
(当然得先安装了这个工具才能用 :安装命令: yum -y install lrzsz )
1 2 |
|
3、查看 BUILDING.txt 中编译所需要的条件, 根据这些 Requirements 逐个进行安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
* JDK 1.7 or 1.8
官网下载的1.8解压配置环境变量
1 2 3 4 5 6 7 8 9 |
|
1 2 |
|
环境变量生效查看
1 2 3 4 5 6 7 |
|
接下来maven
1 |
|
1 2 3 4 5 6 7 8 9 10 11 |
|
接下来findbugs(最开始在官网下载了findbugs 3.0.1 编译出现问题后换了1.3.9,还是按building来吧)
1 |
|
1 2 3 |
|
1 |
|
1 2 3 4 |
|
1 2 3 4 |
|
1 2 3 4 5 6 |
|
1 2 |
|
剩下的直接yum安装
1 2 |
|
4、现在可以编译了(网络很重要)
1 2 3 4 5 |
|
坑来了~~~~
编译时间可以从一小时到 几天。。因为一直各种fail,比如这些
[INFO] Apache Hadoop Auth ................................. FAILURE
[INFO] Apache Hadoop Common ............................... FAILURE
[INFO] Apache Hadoop Common Project ....................... FAILURE
[INFO] Apache Hadoop HDFS Client .......................... FAILURE
没有记录具体的报错,但是大部分是由于网路问题连不上amazon的库,一些重新编译之后能过,一些反复在一个位置卡住的时候可能有问题,Apache Hadoop Auth Apache Hadoop Common 这个位置反复fail查看报错猜测好像是有一些包没有装好,期间yum重装了 gcc gcc-c++ 发现之后确实没安装成功,这些包可以尝试一下,安装后一定要看到成功。
期间还出现maven的相关报错,
[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:3.1.2:
大概是这样,环境变量中加上
export MAVEN_OPTS="-Xms256m -Xmx512m"
最后这几个都过了。
[INFO] Apache Hadoop Amazon Web Services support .......... FAILURE
这个卡了很久 ,确认不是网络问题了
Failed to collect dependencies at com.amazonaws:DynamoDBLocal:jar:[1.11.86,2.
其中这个报错出现很多次
参考亚马逊的网站
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.Maven.html
以及参考博客
https://blog.csdn.net/galiniur0u/article/details/80669408
To use DynamoDB in your application as a dependency:
-
Download and install Apache Maven. For more information, see Downloading Apache Maven and Installing Apache Maven .
-
Add the DynamoDB Maven repository to your application's Project Object Model (POM) file:
<!--Dependency:--> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>DynamoDBLocal</artifactId> <version>[1.11,2.0)</version> </dependency> </dependencies> <!--Custom repository:--> <repositories> <repository> <id>dynamodb-local-oregon</id> <name>DynamoDB Local Release Repository</name> <url>https://s3-us-west-2.amazonaws.com/dynamodb-local/release</url> </repository> </repositories>
将dependencies 和repositories加入pom.xml
1 2 3 4 5 |
|
然鹅这个时候还是不行。
这里重新用yum下载了一个Java版本(java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64)重装了Java
1 2 3 4 5 6 7 |
|
最后设置的环境变量
1 2 3 4 5 6 7 |
|
然后关闭了防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
各种磨难五天,编译成功了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
|
编译好的包路径:
1 2 3 4 5 6 |
|
问题的处理不一定适合每个人,但相关的报错可以试一试
itpub博客链接
http://blog.itpub.net/69908925/viewspace-2641892/
感觉格式好一些