Spark官网提供的Tachyon版本不是最新的Tachyon 0.6.3版本,因此,根据当前环境,基于Tachyon 0.6.3版本和Hadoop 2.6.0版本重新编译部署包。
1.Tachyon版本的修改需要修改pom.xml和代码。
1)修改core/pom.xml中Tachyon的版本为0.6.3。
2)同时修改代码,修改类的路径如下:
3)修改前的编译错误如下:
由于Tachyon 0.6.3版本对外提供的文件系统访问接口的变更,导致Spark 1.3的访问代码编译失败。根据接口的变更,将其中所有String类型的path等信息修改为new TachyonURI(path)等,同时在文件头部添加导入语句:import tachyon.TachyonURI。
使用diff工具查看修改前后的文件差异,修改后的差异如下(Spark-1.3.0.new是修改后的):
2.修改后,使用部署脚本make-distribution.sh重新编译、部署,命令如下:(www.xing528.com)
3.出现以下信息时,表示编译成功。
由于Maven仓库(http∶//maven.oschina.net)中缺少一些依赖包,需要自己手动下载,或修改相关的版本依赖信息,或用其他仓库。比如org.eclipse.paho.client.mqttv3的1.0.1版本和Hive 1.1.0版本的依赖包在仓库中不存在,如图5.6所示。
图5.6 mqttv3的1.0.1版本缺失
仓库中的Hive依赖版本信息,如图5.7所示。
图5.7 Hive的1.1.0版本缺失
这里手动下载了org.eclipse.paho.client.mqttv3的1.0.1版本,直接使用Hive的0.13.1版本。手动下载后放置的目录根据jar包的坐标放置,如org.eclipse.paho.client.mqttv3的jar包在本机中放置的路径为:.m2/repository/org/eclipse/paho/org.eclipse.paho.client.mqttv3/1.0.1。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。