Я установил ноутбук Cloud Datalab в кластер Cloud Dataproc, следуя инструкциям, указанным в официальной документации
После создания кластера я создал туннель SSH к главному узлу в Cloud Shell и подключился к интерфейсу кластера с помощью Cloud Shell. Инструкция . Я мог получить доступ к ноутбукам Jupyter после этого. Я использовал опцию -v
verbose для просмотра журналов SSH-соединений:
gcloud compute ssh cluster-datalab-m --project=abcxyz-123 --zone us-west1-a \
-- -v -4 -N -L 8080:cluster-datalab-m:8080
Но через некоторое время у меня появилось всплывающее окно с сообщением: «Не удалось установить соединение с сервером ноутбука. Ноутбук продолжит пытаться восстановить соединение. Проверьте сетевое соединение или конфигурацию сервера ноутбука». и мой кластер перестал отвечать на любые команды.
Когда я посмотрел на вывод SSH в Cloud Shell, я увидел, что в этот момент запрашивается несколько каналов.
Предварительный просмотр журналов SSH непосредственно во время точки останова:
debug1: channel 1: new [direct-tcpip]
debug1: Connection to port 8080 forwarding to cluster-datalab-m port 8080 requested.
debug1: channel 2: new [direct-tcpip]
debug1: channel 1: free: direct-tcpip: listening port 8080 for cluster-datalab-m port 8080, connect from 127.0.0.1 port 52832 to 127.0.0.1 port 8080, nchannels 3
debug1: channel 2: free: direct-tcpip: listening port 8080 for cluster-datalab-m port 8080, connect from 127.0.0.1 port 52833 to 127.0.0.1 port 8080, nchannels 2
debug1: Connection to port 8080 forwarding to cluster-datalab-m port 8080 requested.
debug1: channel 1: new [direct-tcpip]
debug1: Connection to port 8080 forwarding to cluster-datalab-m port 8080 requested.
debug1: channel 2: new [direct-tcpip]
debug1: channel 2: free: direct-tcpip: listening port 8080 for cluster-datalab-m port 8080, connect from 127.0.0.1 port 52837 to 127.0.0.1 port 8080, nchannels 3
debug1: Connection to port 8080 forwarding to cluster-datalab-m port 8080 requested.
debug1: channel 2: new [direct-tcpip]
debug1: Connection to port 8080 forwarding to cluster-datalab-m port 8080 requested.
debug1: channel 3: new [direct-tcpip]
debug1: Connection to port 8080 forwarding to cluster-datalab-m port 8080 requested.
debug1: channel 4: new [direct-tcpip]
debug1: Connection to port 8080 forwarding to cluster-datalab-m port 8080 requested.
debug1: channel 5: new [direct-tcpip]
debug1: Connection to port 8080 forwarding to cluster-datalab-m port 8080 requested.
debug1: channel 6: new [direct-tcpip]
debug1: Connection to port 8080 forwarding to cluster-datalab-m port 8080 requested.
Я закрыл это соединение SSH вручную, а затем попытался подключиться к главному узлу по SSH, нажав кнопку SSH
на консоли Compute Engine, но даже это заняло много времени и не завершилось успешно.
Я смотрел на этот вопрос stackoverflow , но я не смог найти ни одной папки /etc/sshguard
в главном узле, поэтому я не думаю, что это проблема для моего случая. Главный узел работал под управлением Debian 8.10.
Есть ли способ обеспечить непрерывную работу SSH-соединения (и ноутбука Jupyter)?