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

时间:2019-01-01 21:27:10

标签: linux python-3.x centos virtual-machine 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()
    

打印client显示仪表板位于http://127.0.0.1:8787/status,但是,我在该URL上找不到仪表板。我也尝试过http://11.11.11.111:8787/status,但是那也不起作用。

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

1 个答案:

答案 0 :(得分:0)

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

更多有关问题的背景:

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

目标实际上有两个:

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

  2. 从笔记本中运行的代码查看Dask仪表板

这是我采取的步骤:

  1. 在此示例中,远程服务器的IP地址为11.11.11.111

  2. 按照Port Tunneling的一些说明,我使用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 --ip=0.0.0.0 --port=8889 --no-browser &上启动Jupyter Notebook

    a。运行上述命令后,输出显示Jupyter Notebook在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)
    

输出显示仪表板

    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

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