Я пытаюсь поэкспериментировать с небольшим виртуальным кластером машин, чтобы изучить hadoop. Я использую LXD для этой цели. Я установил ssh-серверы на каждой виртуальной машине, и теперь мне нужно подключиться с одной виртуальной машины к другой. Используя IP-адреса, которые я получаю из lxc list
я не могу подключиться (появляется ошибка «Соединение отказано»).
Вот (что должно быть) воспроизводимый набор команд:
Создать машины
for n in 1 2 3 4 5;do
sudo lxc launch images:centos/7/amd64 hadoop$n
done
Установите OpenSSH
for n in 1 2 3 4 5;do
sudo lxc exec hadoop$n -- apt-get update
sudo lxc exec hadoop$n -- apt-get upgrade -y
sudo lxc exec hadoop$n -- yum -y install openssh openssh-server openssh-clients openssl-libs;
done
Перезагрузите машины
for n in 1 2 3 4 5;do
sudo lxc stop hadoop$n
sudo lxc start hadoop$n
done
Создать пароль меньше подключений SSH
На машине хостинг установщик (hadoop1)
(MapR 5.1 требует, чтобы скрипт установки запускался с одного из узлов, где будет установлен hadoop, поэтому я запускаю этот скрипт с одной из виртуальных машин, а не с моего ноутбука)
ssh-keygen
ОС хоста
sudo lxc file pull hadoop1/root/.ssh/id_rsa.pub .
for n in 2 3 4 5;do
sudo lxc file push ./id_rsa.pub hadoop$n/root/.ssh/authorized_keys -p
sudo lxc exec hadoop$n -- chmod 600 /root/.ssh/authorized_keys
sudo lxc exec hadoop$n -- sudo chown root: /root/.ssh/authorized_keys;
done
ssh root@<ip from lxc list>
...Connection refused