前提条件
确保你安装了Java(JDK 8或更高版本)以及Maven3.3.9及以上,在源码编译之前需要了解到本项目是开源项目,即github提供了官方源码。
Alluxio官方文档【快速入门】:https://docs.alluxio.io/os/user/stable/en/Getting-Started.html
克隆github源码
…
设置Alluxio配置文件
在${ALLUXIO_HOME}目录下,配置alluxio-site.properties文件:
#通过拷贝conf/alluxio-site.properties.template文件,创建conf/alluxio-site.properties:
$ cp ./conf/alluxio-site.properties.template ./conf/alluxio-site.properties
#将conf/alluxio-site.properties中的alluxio.master.hostname设置为localhost:
$ echo "alluxio.master.hostname=localhost" >> ./conf/alluxio-site.properties
#将conf/alluxio-site.properties中的alluxio.master.mount.table.root.ufs设置为一个本地文件系统上的临时文件夹:(下面是示例)
$ echo "alluxio.master.mount.table.root.ufs=/tmp" >> ./conf/alluxio-site.properties
编译源代码
由于在实现RPC metrics时引入了依赖https://gitlab.vmic.xyz/bigdata-open/metrics2(从hadoop代码剥离出的metrics2库),该包尚未上传公司nexus库,所以编译之前先 mvn clean install 此依赖。
执行编译命令:mvn -T 2C clean install -DskipTests -Dmaven.javadoc.skip -Dfindbugs.skip -Dcheckstyle.skip -Dlicense.skip -Phadoop-2 -Dhadoop.version=2.6.0-cdh5.14.4对源码进行编译。
编译成功后,先通过Alluxio Shell启动测试,步骤如下:
验证Alluxio运行环境:(该命令汇报在本地环境运行Alluxio可能会遇到的问题)
$ ./bin/alluxio validateEnv local
启动Alluxio:(在第一次启动Alluxio之前,需要格式化Alluxio的日志和worker存储目录)
$ ./bin/alluxio format
默认配置下,如下命令会在本地启动一个master和worker:
$ ./bin/alluxio-start.sh local SudoMount
启动完成之后,如下命令可以看到当前后台正在运行的进程 (-lmv 参数可以查看更加详细的进程参数):
$ jps
启动完成后,访问 http://localhost:19999 查看Alluxio master的运行状态;访问 http://localhost:30000 查看Alluxio worker的运行状态
导入IDEA
…