这里记录一下腾讯angel框架的初步体验。事实上其git上的文档中也有描述。
### 编译安装
环境依赖
- Jdk >= 1.8
- Maven >= 3.0.5
- Protobuf >= 2.5.0 (需与hadoop环境自带的protobuf版本保持一致)
- 如果要运行PyAngel,Python >=3.6
-
下载源码
git clone https://github.com/tencent/angel
编译
编译后(或者直接下载发布好的包)
- bin:Angel任务提交脚本
- conf:系统配置文件
- data:简单测试数据
- lib:Angel的jar包 & 依赖jar包
- python: Python相关脚本
-
### 依赖项的安装
- jdk8 网上随便搜搜
- protobuf-2.5.0。下载好后依次执行 ./configure && make && make install
-
在本地测试:
```shell
```
在yarn环境提交:
```shell
data_path=/data/lr_data
log_path=/data/lr_log
model_path=/data/lr_model
HADOOP_BIN=hadoop
hadoop fs -rmr $
hadoop fs -rmr $
JAVA_DIR="/home/java8"
export JDK=java8
export HADOOP_USER_NAME=hdp
echo "start"
./angel-submit \
--angel.app.submit.class com.tencent.angel.ml.core.graphsubmit.GraphRunner \
--action.type train \
--queue root.default \
echo "end"
```
如果集群环境不是jdk8的,可以按照文档中所述,指定jdk8的路径
在执行过程中,如果脚本报错,可以先看看是不是编码格式问题,先用dos2unix转换一下文件格式。
angel-submit 脚本可以直接查看,如果有的变量路径不对,或者配置项没有,可以自行补充。
当用yarn调度的时候,遇到Permission denied: user=yarn的错误,这和当前提交的用户不同,对提交用户的目录yarn用户没有写权限,因此执行失败
查找com/tencent/angel/utils/UGITools.class中代码,发现可以改angel的conf。
配置在angel-site.xml里面
```
hdp,hdp
```
领取专属 10元无门槛券
私享最新 技术干货