如何配置JetBrains DataSpell连接Google Cloud Dataproc集群运行Notebook任务
如何配置JetBrains DataSpell连接Google Cloud Dataproc集群运行Notebook任务
当然可以实现!我自己试过这个配置,下面是一步步的实操方法,帮你用DataSpell连接Dataproc集群跑Notebook任务:
1. 准备本地与集群的基础配置
- 先确保你本地已经安装并配置好Google Cloud CLI(gcloud):
- 完成账号登录:
gcloud auth login - 设置默认项目:
gcloud config set project 你的项目ID
- 完成账号登录:
- 确认你的Dataproc集群主节点可以被访问——如果集群创建时没分配外部IP,推荐用Cloud IAP做SSH转发(更安全),避免直接开放公网端口。
2. 建立本地到Dataproc主节点的SSH隧道
- 运行以下命令建立端口转发,把本地的8888端口映射到集群主节点的8888端口(Jupyter默认端口):
gcloud compute ssh --zone 你的集群可用区 集群主节点名称 --tunnel-through-iap -- -L 8888:localhost:8888 - 这条命令执行后,会保持SSH连接状态,不要关闭这个终端窗口,隧道需要一直运行。
3. 在Dataproc主节点部署Jupyter服务
- 如果你的集群主节点还没装Jupyter,先通过SSH连接进去(上面的命令其实已经建立了SSH连接),执行以下命令安装:
sudo apt-get update && sudo pip3 install jupyter - 安装完成后启动Jupyter服务,允许所有IP访问并禁用浏览器启动:
jupyter notebook --ip=0.0.0.0 --no-browser - 启动后会输出包含令牌(token)的链接,把这个令牌记下来,后面DataSpell连接要用到。
4. 在DataSpell中配置远程Jupyter服务器
- 打开DataSpell,点击顶部菜单栏的
File→Settings(Mac上是DataSpell→Settings)。 - 在设置面板里找到
Tools→Jupyter→Servers,点击+号添加新服务器。 - 选择
Existing server,在URL栏填入http://localhost:8888(因为我们通过隧道把本地端口映射到了主节点)。 - 点击
Next,输入刚才记录的Jupyter令牌(或者你设置的Jupyter密码),完成配置。
5. 验证连接并运行任务
- 配置好后,新建一个Jupyter Notebook,选择刚添加的远程服务器作为运行环境。
- 可以用一段简单的PySpark代码测试:
from pyspark.sql import SparkSession spark = SparkSession.builder.appName("DataSpell-Dataproc-Test").getOrCreate() # 替换成你GCS存储桶里的测试文件路径 df = spark.read.csv("gs://你的存储桶名称/sample.csv") df.show() - 如果代码能正常执行并返回结果,说明连接成功啦!
小提示
- 可以把SSH隧道的命令保存成脚本,每次需要连接时直接运行,省得重复输入。
- 不用集群的时候记得暂停,避免不必要的成本消耗。
- 用IAP转发的话,不需要在防火墙里开放8888端口到公网,安全性更高。
备注:内容来源于stack exchange,提问作者Anant Furia
相关产品推荐
相关产品推荐

