Tencent / plato

腾讯高性能分布式图计算框架Plato
Other
1.9k stars 330 forks source link

plato和hadoop整合 #137

Open yangyi423 opened 3 years ago

yangyi423 commented 3 years ago

如果需要读取hdfs的数据,需要把plato安装在hadoop的节点上吗? 还是说单独装在一个节点上,通过配置文件去访问hdfs? 期待大佬们的回复~

ustcyu commented 3 years ago

Plato不需要和hdfs在同一个节点上,远程访问hdfs即可。

yangyi423 commented 3 years ago

那plato集群模式该如何搭建呢 比如装个10节点的plato集群 有没有对应的脚本 期待大佬回复

jievince commented 3 years ago

那plato集群模式该如何搭建呢 比如装个10节点的plato集群 有没有对应的脚本 期待大佬回复

我是这样做的:假设我有三台机器, 192.168.8.5, 8.6, 8.7, 想在每台机器跑一个plato进程.

  1. 在scripts目录下创建一个servers文件, 内容是: 192.168.8.5:1 192.168.8.6:1 192.168.8.7:1 然后在run_pagerank.sh的 ${MPIRUN_CMD} -n ${WNUM} ./${MAIN} ${PARAMS}这一行加一个参数 -f servers: ${MPIRUN_CMD} -f servers -n ${WNUM} ./${MAIN} ${PARAMS}
yangyi423 commented 3 years ago

要先配免密吗? 我用你的方式操作 然后报错了 [mpiexec@master] HYDU_parse_hostfile (utils/args/args.c:319): unable to open host file: servers [mpiexec@master] mfile_fn (ui/mpich/utils.c:336): error parsing hostfile [mpiexec@master] match_arg (utils/args/args.c:152): match handler returned error [mpiexec@master] HYDU_parse_array (utils/args/args.c:174): argument matching returned error [mpiexec@master] parse_args (ui/mpich/utils.c:1596): error parsing input array [mpiexec@master] HYD_uii_mpx_get_parameters (ui/mpich/utils.c:1648): unable to parse user arguments [mpiexec@master] main (ui/mpich/mpiexec.c:149): error parsing parameters

yangyi423 commented 3 years ago

Plato不需要和hdfs在同一个节点上,远程访问hdfs即可。

大佬你好 我目前在三个服务器上部署了柏拉图 并配置了免密登录 ,请问该如何调起柏拉图集群运行? 目前还是单节点运行。期待您的回复

actcwlf commented 3 years ago

从上面的报错信息看可能是servers文件没有找到,-f参数后要指定servers文件的路径,另可参考Linux多节点下MPI集群环境搭建的第三部分

jievince commented 3 years ago

Plato不需要和hdfs在同一个节点上,远程访问hdfs即可。

大佬你好 我目前在三个服务器上部署了柏拉图 并配置了免密登录 ,请问该如何调起柏拉图集群运行? 目前还是单节点运行。期待您的回复

-f 后面写servers文件的绝对路径吧

jsycdut commented 3 years ago

我在谷歌云上启动了同一个地区的两台虚拟机(IP为10.170.0.3和10.170.0.4),可以相互访问,配置了ssh免密登录,并且修改了两台机器的/etc/hosts文件,具体内容为

manager 10.170.0.3
worker 10.170.0.4

在run_pagerank.sh中,将 ${MPIRUN_CMD} -n ${WNUM} ./${MAIN} ${PARAMS},改为${MPIRUN_CMD} -n ${WNUM} -hosts manager,worker ./${MAIN} ${PARAMS},之后就可以启动了。通过ps和pstree,确实可以看见两台机器上的进程派生关系,证明了plato确实是分布式计算。