在虚拟机上运行时如何查看Dask仪表板?

Kor*_*ain 6 linux centos virtual-machine python-3.x dask

这是我现在正在做的事情:

  • 从我的 Windows 笔记本电脑上,我通过 Putty SSH 到 Linux 服务器:IP 地址是11.11.11.111
  • 启动 Jupyter 笔记本:nohup jupyter notebook --ip=0.0.0.0 --no-browser &

    • 终端输出显示 Jupyter 笔记本正在运行:
    • http://(11.11.11.111 or 127.0.0.1):8889/?token=blahblahblah
  • 在新笔记本中启动单机客户端:

    from dask.distributed import Client
    client = Client()
    
    Run Code Online (Sandbox Code Playgroud)

打印client显示仪表板位于http://127.0.0.1:8787/status,但是,我在该 URL 处找不到仪表板。我也尝试过http://11.11.11.111:8787/status,但也没有成功。

我仍然可以使用 Dask Dataframes 运行笔记本中的所有内容,但我就是不知道如何查看仪表板。Bokeh安装在服务器上,我通过 Anaconda 运行 Jupyter Notebook。

Kor*_*ain 3

最后通过一些 SSH 隧道解决了这个问题。

有关问题的更多背景:

  • 本地计算机是 Windows 笔记本电脑
  • 远程服务器是一个 CentOS 盒子

目标实际上有两个:

  1. 在包含 Dask 代码的远程服务器上运行 Jupyter Notebook

  2. 从 Notebook 中运行的代码查看 Dask 仪表板

以下是我采取的步骤:

  1. 对于本例,远程服务器的 IP 地址是11.11.11.111

  2. 按照端口隧道的一些说明,我使用8001的源端口和目标是localhost:8889

  3. 连接到远程服务器(具有16 个内核和 44.7GB RAM)后,我在 Putty 终端中运行了以下命令:dask-worker tcp://11.11.11.111:8786 --memory-limit=auto --nthreads=1 --nprocs=16 &

  4. 在服务器上启动 Jupyter Notebook:jupyter notebook --ip=0.0.0.0 --port=8889 --no-browser &

    A。运行上述命令后,输出显示 Jupyter 笔记本正在运行http://(hostname or 127.0.0.1):8889/?token=blahblahblah

    b. 打开浏览器并访问上面的 URL ( http://hostname:8889/?token=blahblahblah) 将进入 Jupyter Notebook 主页

  5. 创建新的笔记本并运行以下代码:

    import dask.dataframe as dd
    from dask.distributed import Client
    client = Client('11.11.11.111:8786')
    print(client)
    
    Run Code Online (Sandbox Code Playgroud)

输出显示仪表板

    Client
    Scheduler: tcp://11.11.11.111:8786
    Dashboard: http://11.11.11.111:36124/status
    client = Client('11.11.11.111:8786')

    Cluster
    Workers: 16
    Cores: 16
    Memory: 44.70 GB
Run Code Online (Sandbox Code Playgroud)

现在,http://11.11.11.111:36124/status在浏览器窗口中输入内容会将我带到 Dask 仪表板。