【问题标题】:Spark notebook worksheets not saved with dockerSpark 笔记本工作表未使用 docker 保存
【发布时间】:2015-02-09 08:40:55
【问题描述】:

当我使用 docker 启动 spark-notebook 并创建一个新工作表时。下次我启动它时,工作表就不在那里了。

命令如下:

docker run -v /Users/pkerp/projects/chairliftplot/:/mnt -p 9000:9000 andypetrella/spark-notebook:0.2.0-spark-1.2.0-hadoop-1.0.4

这是警告/信息:

15/02/09 08:38:12 WARN Remoting: Tried to associate with unreachable remote address [akka.tcp://Remote@127.0.0.1:41602]. Address is now gated for 5000 ms, all messages to this address will be delivered to dead letters. Reason: Connection refused: /127.0.0.1:41602
15/02/09 08:38:12 INFO remote.RemoteActorRefProvider$RemoteDeadLetterActorRef: Message [akka.remote.RemoteWatcher$Heartbeat$] from Actor[akka://NotebookServer/system/remote-watcher#-457307005] to Actor[akka://NotebookServer/deadLetters] was not delivered. [8] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.

这是配置错误还是其他问题?

编辑:

所以这个问题有几个方面。

  1. 当使用 ctrl-c 关闭正在运行的 docker 容器时,它实际上仍然存在。当我使用上面的命令重新运行它时,它会启动一个单独的新容器,该容器没有新创建的笔记本。

这可以通过使用docker ps 查看正在运行的容器列表、找到正在运行的容器并使用docker attach process_id 附加到它来缓解。数据仍然存在。

  1. 使用已安装的卷来存储笔记本会导致权限问题。容器内挂载的目录只有所有者写权限,所有者为用户1000。 spark-notebook 以用户 daemon 运行(用户 ID 1)。

这是一个关于这个问题on github,的长线程,但没有明确的解决方案。

【问题讨论】:

    标签: scala spark-notebook


    【解决方案1】:

    Dockerfile 将继续发展,但现在至少我们可以在 docker 容器之外备份我们的 notebook。

    这可以解决问题: docker run --rm -v /Users/pkerp/projects/chairliftplot:/opt/docker/notebooks/ext -p 9000:9000 andypetrella/spark-notebook:0.6.0-scala-2.10.4-spark-1.4.1-hadoop-2.6.0

    这样Users/pkerp/projects/chairliftplot 文件夹将包含 spark-notebook 列表中ext 文件夹中的所有笔记本。

    这意味着:

    • Users/pkerp/projects/chairliftplot 中的所有笔记本都将在 ext 文件夹中可见
    • 所有新创建的笔记本ext 文件夹将在主机文件夹Users/pkerp/projects/chairliftplot 上可用。

    当然,您也可以使用: docker run --rm -v /Users/pkerp/projects/chairliftplot:/opt/docker/notebooks -p 9000:9000 andypetrella/spark-notebook:0.6.0-scala-2.10.4-spark-1.4.1-hadoop-2.6.0 这将丢弃所有默认笔记本并仅显示/Users/pkerp/projects/chairliftplot 的内容。但是,这样所有新创建的笔记本都将在主机中可用,无论它们是在哪个文件夹中创建的

    【讨论】:

      猜你喜欢
      • 2018-11-01
      • 2020-05-24
      • 2023-01-09
      • 1970-01-01
      • 2022-08-16
      • 2016-09-29
      • 2021-06-30
      • 2016-05-01
      • 1970-01-01
      相关资源
      最近更新 更多