gpt4 book ai didi

r - 如何设置 AWS 集群以与 openCPU 一起工作?

转载 作者:行者123 更新时间:2023-12-01 06:20:17 25 4
gpt4 key购买 nike

我有两台 EC2 机器:master 和 slave。 SSH key 是为用户 ubuntu 生成的,并保存到两台机器上的 ~/.ssh/authorized_keys。因此,我可以像这样以 ubuntu 用户身份使用来自主节点的集群:

library(doSNOW)

cluster_options <-
c(rep(list(
list(host = "ec2-xx-xx-xx-xx.compute-1.amazonaws.com",
snowlib = "/usr/local/lib/R/site-library")), 2))
cl <- makeCluster(cluster_options, type = "SOCK")
clusterApply(cl, 1:2, get("+"), 3)
stopCluster(cl)

但是当我通过 openCPU 调用它时,它给出了 permission denied 消息。

目前我正在考虑两种可能的解决方案:

  1. opencpu 用户添加 SSH key 。但我不知道该怎么做,因为 opencpu 是非交互式用户
  2. 使主服务器无需任何 SSH key 即可访问从服务器

我更喜欢第一种方式,这里绝对需要帮助。但是第二种方式也可以。

最佳答案

最后我找到了解决方案。它有几个方面:

  1. 应在两个 EC2 节点之间配置基于主机的身份验证。好的教程可以在这里找到:https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Host-based_Authentication
  2. OpenCPU 应该安装在两个节点上。
  3. 应该为 www-data 用户生成 SSH key (R 进程与该用户一起执行)。这里微妙的一点是 www-data 是非交互式用户,所以我们需要让它具有交互性(编辑 /etc/passwd),为 生成 SSH key 对www-data,将公钥添加到服务器节点并再次使www-data不可交互。

不是那么优雅,但它有效:)

关于r - 如何设置 AWS 集群以与 openCPU 一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33363723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com