Ray 是 UC berkley 提出的分布式机器学习。sklearn 是运行在单机上的机器学习,虽然支持多线程,但分布式并不支持。Ray 也支持 tensorflow,pytorch 和其他机器学习包。本文是建立Ray 集群的先前步骤的博文,是在Linux下,怎样ssh登入免密码输入。本文主要命令来自upload的原文。
建立Ray集群,那么ray的版本和python版本最好在head 和 worker 机器里一致。然后,各机器之间,ssh登入能互相免密码输入。本文会介绍head 到 worker之间的ssh登入免密码输入的步骤。
假设我们有head 的IP内部地址是 192.168.1.230,登入名是 ray, worker的IP内部地址是192.168.1.231,登入名是jupyter。
设置head机器
我们假设head机器内部地址是192.168.1.230, 登入名是ray。
- 本目录下,建立目录 .ssh
mkdir -p ~/.ssh
chmod 700 ~/.ssh
第二个命令是仅限于owner可以有读写,执行的权力
2. 产生公钥,私钥。
ssh-keygen -t rsa
敲入命令后,会有要求输入公钥,私钥的目录,默认值就可以,也会要求设置密码,按 回车键就可以,不要设置密码。
设置worker机器
- 建立.ssh目录
mkdir -p ~/.ssh
chmod 700 ~/.ssh
配置和验证
回到head机器,即192.168.1.230的机器里,
1. 复制公钥至worker机器里
ssh-copy-id -i ~/.ssh/id_rsa.pub jupyter@192.168.1.231
会要求输入ray用户名的密码,输入即可。
2. 验证
在192.168.1.230机器上,验证是否可以ssh登入免密
ssh jupyter@192.168.1.231
通过即可。
其他
1. 命令来源,译自 https://upcloud.com/community/tutorials/use-ssh-keys-authentication/