-
Notifications
You must be signed in to change notification settings - Fork 1.6k
工程常见问题
在任务提交后,客户端日志会打印出Angel 任务的URL:
复制该URL,在浏览器中打开就可以看到任务的运行信息。 点击页面的log链接就可以打开Master日志页面了:
如果任务还在运行中,查看Worker和PS日志比较简单,直接点击页面的Worker和PS的连接就可以了:
如果任务已经运行完成,查看Worker和PS日志会稍微麻烦一些。 首先需要找到运行Worker和PS的节点地址和container id,查找方式是打开Master日志,以Worker和PS id为关键字搜索:
然后,组装日志链接,就可以在页面上看到具体的Worker和PS日志了:
Angel目前在提交任务时只会上传自己编译出来的jar包和一些依赖的但是hadoop环境中没有的jar包。这样做是为了尽量减少需要上传的包大小,加快任务提交速度。但是由于hadoop版本原因可能会出现一些类找不到的问题。出现这个问题时首先找到这些类属于哪些jar包,然后在Angel的lib目录下找到它,通过angel.job.libjars
参数上传。如果你需要上传的包是系统相关的,建议修改Angel系统配置文件的angel.job.libjars
参数(conf目录下的angel-site.xml); 如果是任务相关的,建议直接在命令行使用angel.app.user.resource.files
。
Angel目前使用了一些Java 8的特性,所以编译和运行使用的JDK版本只能是JDK1.8。 但是如果我的Hadoop集群上只有JDK1.7时,可以通过下述方法运行Angel:
- 上传JDK1.8到Hadoop计算节点
- 使用Angel环境变量参数指定JAVA_HOME环境变量
--angel.am.env "JAVA_HOME=/data/jdk1.8.0_101"
--angel.worker.env "JAVA_HOME=/data/jdk1.8.0_101"
--angel.ps.env "JAVA_HOME=/data/jdk1.8.0_101"
这个主要是为了和Hadoop环境兼容。目前官方的Hadoop和Spark包都包含有probobuf相关jar包,且版本为2.5.0,如果Angel使用其他版本的会导致Angel Master启动时需要加载两个版本的probobuf,这会导致一些兼容性问题。如果想使用更新的版本,请先升级Hadoop环境的probobuf包,Angel和它保持一致即可。