系统:mac os 10.14.4
hadoop版本:3.1.2
jdk版本:1.8
protobuf版本:2.5.0
maven版本:3.6.0
安装hadoop 3.1.2时,jdk版本务必是9.0以下,之前是9.0,结果编译的时候出错。
protobuf的版本也必须是2.5.0,版本过高同样在编译时会出错。
安装jdk
如果之前安装了其他版本的jdk,则先将其卸载,这里以9.0.1为例:
//查看jdk版本
ls /Library/Java/JavaVirtualMachines/
//卸载
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk //此处9.0.1即是上一步查看到的版本号
sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -fr ~/Library/Application\ Support/Java
安装1.8版本的jdk:
brew tap caskroom/versions
brew cask install java8
输入java --version
出现以下输出则为安装成功:
maven安装
maven我用的是最新版本的maven ,最后编译没有发现什么不对,可以直接命令行安装:
brew install maven
安装 protobuf
1、首先是去下载protobuf 2.5.0,解压
2、进入protobuf-2.5.0目录下,运行 ./autogen.sh
3、如果上一步执行成功,当前目录下会出现可执行文件 configurate
4、执行命令:./configurate
5、执行命令:make
6、执行命令:make check
7、执行命令:make install
5、6、7可合并为一个命令:make && make check && make install
最后输入 protoc --version命令,如显示libprotoc 2.5.0则安装成功
编译Hadoop源码
在官网上下载相应版本的hadoop源码,解压,进入hadoop源码文件夹下
执行命令:
mvn package -Pdist -DskipTests -Dtar
最后是漫长的编译过程。。。
下载依赖jar和相关文件。。。
没有报错,则说明编译成功
7、把编译好的源码导入Idea
8、
源码路径
找到编译好的Hadoop,选择即可,next。
选择Maven工程
之后一路next即可,之后就可以开始阅读源码了