我正在创建一个使用Datalab的Dataproc集群。要在Dataproc集群上初始化Datalab,我将从云控制台创建集群,并指向初始化脚本列表中来自Google的datalab.sh Github存储库的dataproc-initialization-actions初始化脚本。但是,当我这样做时,没有创建云源存储库来对版本控制笔记本。我能够成功连接到VM实例并打开Datalab,但是当我创建一个新笔记本(在notebooks/
文件夹中)时,输入一些命令,然后单击Notebook>保存和检查点,没有任何反应。当我点击图标打开ungit时,ungit说"什么都没有提交"并且"没有指定遥控器":
我正在使用的Datalab初始化脚本的预期行为是什么?
其他信息:运行datalab create VM-instance-name
的{{3}}州应创建datalabs-notebook
云源存储库。我为创建的集群运行此命令,然后销毁,所以当我在控制台中打开Cloud Source Repository时,我确实看到了datalabs-notebook
源存储库。但是,当我从云控制台打开该存储库时,我看不到任何笔记本。
如果我SSH进入VM,并在运行Datalab的Docker容器中获得一个shell,我看到已经创建了一个git存储库,但是没有远程控制器:
/content> cd datalab/notebooks
/content/datalab/notebooks> ls
/content/datalab/notebooks> git status .
On branch master
Initial commit
nothing to commit (create/copy files and use "git add" to track)
/content/datalab/notebooks> git remote -v
/content/datalab/notebooks>
(注意,这与通过Cloud Source Repository看到的datalab-notebook
存储库的内容不匹配 - 它具有README.md
fille,其内容为# Project Notebooks
。)< / p>
我是否需要在Datalab documentation脚本中添加datalab create VM-instance-name
命令以在Datalab容器中创建git存储库?我正在经历的数据工程培训视频意味着这应该是默认情况下发生的。
编辑/更新1:要查看这是否是特定于Dataproc的问题(剧透:它是),我尝试使用datalab create my-new-vm
从Cloud Shell创建Datalab实例。这创建了一个运行Datalab实例的虚拟机,我能够通过浏览器连接到这个实例。在notebooks
目录中正确创建了一个git存储库,其功能通常与我预期的一样。这表明Datalab笔记本git存储库没有初始化特定于在Dataproc集群上运行datalab.sh
初始化脚本的问题。
编辑/更新2:我尝试使用ungit在/content/datalabs/notebooks
中手动创建新的git存储库,然后为现有的datalab-notebooks
存储库添加git远程URL云存储库。但是,当我这样做时,ungit要求我使用远程存储库进行身份验证(输入我的用户名/密码)。我与ungit页面的连接是不安全的HTTP,而不是HTTPS,并且将URL更改为HTTPS会导致&#34;安全连接失败&#34;错误。因此,我无法测试是否可以手动添加现有的datalab-notebooks
存储库(因为我不愿意通过HTTP连接发送我的Google Cloud用户名/密码)。
编辑/更新3:我尝试在数据加载集群启动之前将命令CLUSTERNAME=/usr/share/google/get_metadata_value name; datalab create ${CLUSTERNAME}
添加到Dataproc Datalab初始化脚本datalab.sh
,但这会导致{{1 }}。不确定为什么完整的Google Cloud SDK在Dataproc群集上不可用,但这是另一个问题......同时,Dataproc团队正在调查我发送的诊断tarball。
编辑/更新4: Google的Dataproc和Datalab团队已经提出帮助并查看该问题,因此将使用任何解决方案或其他信息更新此问题它们。