0

dataproc로 Jupyter 노트북을 설정하는 방법은 여기 https://cloud.google.com/dataproc/docs/tutorials/jupyter-notebook을 보았습니다. 대신 클라우드 쉘을 사용하기 위해 프로세스를 변경하는 방법을 알 수 없습니다. 로컬에서 SSH 터널을 만드는 방법. 클라우드 쉘에서클라우드 쉘에서 Jupyter 노트북으로 dataproc 클러스터에 연결하는 방법

datalab connect vmname 

을 실행 한 다음 미리보기 기능을 사용하여 데이터 랩 노트북에 연결할 수있었습니다. 나는 Jupyter 노트북과 dataproc 클러스터와 비슷한 것을하고 싶습니다.

답변

2

이론적으로, 당신은 대부분 같은 지침을 따를 수 있습니다 발견 :

당신은 당신의 마스터 노드와 ("vmname-m"클러스터 이름이 "vmname"인 경우) SSH 터널을 만들어야합니다 https://cloud.google.com/shell/docs/features#web_preview 로컬 포트 ​​포워딩을 사용하여 클라우드 쉘의 동일한 "웹 미리보기"기능을 통해 Dataproc의 Jupyter 노트북에 액세스 할 수 있습니다. 당신의 클라우드 쉘에서 다음과 같은 무언가 :

  1. 을 당신은 하단에 다음을 추가 할 Jupyter의 설정을 수정해야합니다

    gcloud compute ssh my-cluster-m -- -L 8080:my-cluster-m:8123 
    

    그러나, 작동이되지 않도록 두 가지 문제가있다 /root/.jupyter/jupyter_notebook_config.py :

    c.NotebookApp.allow_origin = '*' 
    
  2. 클라우드 쉘의 웹 미리보기가 WebSocket을위한 지원을 추가 할 필요가있다.

Jupyter가 클라우드 쉘 프록시 도메인을 거부하여 노트북을 만들 때 팝업 오류가 발생합니다. 불행히도 (2) Cloud Shell 자체의 지원이 더 필요합니다. A connection to the notebook server could not be established.

(2)를 기다리지 않고 가능한 또 다른 옵션은 Dataproc 클러스터에서 jupyter 초기화 작업의 일부로 자신의 nginx 프록시를 실행하는 것입니다 (프록시 웹 소켓으로 적절하게 가져올 수있는 경우). 이와 비슷한 상황을 보려면 다음 스레드를 참조하십시오. https://github.com/jupyter/notebook/issues/1311

일반적으로 프록시 레이어에서 이러한 유형의 깨진 웹 소켓 지원은 여전히 ​​비교적 새로운 문제이므로 일반적인 문제입니다. 시간이 지남에 따라 점점 더 많은 것들이 웹 스택을 즉시 지원할 것입니다.

대안 :

통해 Dataproc도 Datalab 초기화 동작을 지원하여, 이것은 웹 소켓 프록 싱이 이미 처리되도록 설정됩니다.특별히 단지 Jupyter에 너무 의존 있다면 따라서, 다음 클라우드 쉘에서 다음 작품 : 다음

gcloud dataproc clusters create my-datalab-cluster \ 
    --initialization-actions gs://dataproc-initialization-actions/datalab/datalab.sh 
gcloud compute ssh my-datalab-cluster-m -- -L 8080:my-datalab-cluster-m:8080 

그리고 포트 8080에 일반적인 "웹 미리보기"를 선택 또는 다른 클라우드 쉘이 지원 선택할 수 있습니다 같은 지역 바인딩에 대한 포트 : 웹 미리보기 포트로 8082을 선택할 것

gcloud compute ssh my-datalab-cluster-m -- -L 8082:my-datalab-cluster-m:8080 

하는 경우.

+0

나와있는 대안이 나를 위해 일했습니다! 정말 고맙습니다! – dobbysock1002

0

VM (GCE)에 설치된 Datalab을 통해 Dataproc에 연결할 수 없습니다.

당신이 언급 한 문서에서 Datalab 초기화 작업으로 Dataproc을 실행해야합니다.

Datalab connect 명령은 Datalab create 명령 덕분에 데이터 랩을 만든 경우에만 사용할 수 있습니다.

gcloud compute ssh --zone YOUR-ZONE --ssh-flag="-D 1080" --ssh-flag="-N" --ssh-flag="-n" "vmname-m" 
+0

SSH 터널을 포함하지 않는 옵션이있을 수 있기를 바랬습니다. – dobbysock1002

+0

내 전문 네트워크의 한계로 인해 거의 모든 것을 시도했지만 성공하지 못했습니다. 죄송합니다. – Olivier