问题标签 [checkpoint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - 来自守护进程的错误响应:无法检查点容器 CONTAINERID:无法执行 CRIU 命令:criu
在 Ubuntu 14.04 上成功安装 docker 1.10.0-dev 后。我注意到了一些麻烦。无法从 docker-dev:cr-combined 映像创建容器。我无法为基于 Ubuntu Image 的简单容器设置检查点,并且出现以下错误:
来自守护程序的错误响应:无法检查点容器 CONTAINERID:无法执行 CRIU 命令:criu。
安装 docker 1.10 引擎的正确步骤是什么?
hadoop2 - Secondary NameNode 和 Checkpoint Node 的区别
检查点节点定期从 NameNode 获取 fsimage 和编辑并将它们合并。结果状态称为检查点。在此之后将结果上传到 NameNode。
Hadoop 2.x 版本中是否使用了检查点名称节点?如果是,是否仍需要辅助名称节点?
此外,当 Hadoop 版本 2 中有多个名称节点时,检查点名称节点如何工作?
谁能澄清这些令人困惑的概念?
hadoop - Hadoop 框架何时在垃圾箱中为其“当前”目录创建检查点(删除)?
长期以来,我观察到 Hadoop 框架在垃圾当前目录上设置了一个检查点,而不考虑时间间隔,而在创建自动检查点后在指定的删除间隔内永久删除文件/目录。这是我测试过的内容:
fs.TrashPolicyDefault:Namenode 垃圾配置:删除间隔 = 5 分钟,Emptier 间隔 = 0 分钟。移动:'hdfs://hacluster/LICENSE.txt' 到垃圾箱:hdfs://hacluster/user/hduser/.Trash/Current
hdfs dfs -ls -R /user/hduser
/user/hduser/.Trash/当前
/user/hduser/.Trash/Current/LICENSE.txt
一段时间后:
/user/hduser/.Trash/160229140000
/user/hduser/.Trash/160229140000/LICENSE.txt
我创建了一个示例 bash 脚本来跟踪 Hadoop 在什么时候将“当前”目录设置为检查点,以及在检查点之后它是否在指定的垃圾间隔中删除:
垃圾间隔:5分钟
- 自动检查点 - 大约 30 秒
- 永久删除 - 大约 5 分钟
垃圾间隔:10分钟
- 自动检查点 - 大约 90 秒
- 永久删除 - 大约 10 分钟
垃圾间隔:15分钟
- 自动检查点 - 大约 630 秒
- 永久删除 - 大约 15 分钟
垃圾间隔:20分钟
- 自动检查点 - 大约 1080 秒
- 永久删除 - 大约 20 分钟
垃圾箱间隔 - 20 分钟(删除 - 手动检查点)
- 手动检查点 - 一次
- 永久删除 - 大约 20 分钟
任何人都可以帮助了解 Hadoop 何时创建此检查点。采用什么机制来创建垃圾检查点?如果是资源可用性,那么我的测试环境在此测试期间的开销为零。
scala - 具有长沿袭 RDD 的迭代代码导致 Apache Spark 中的 stackoverflow 错误
我是 Apache Spark 的初学者。我目前正在开发一个机器学习程序,该程序需要迭代更新 RDD,然后从执行程序收集近 10KB 的数据到驱动程序。不幸的是,当它运行超过 600 次迭代时,我得到一个 StackOverFlow 错误!以下是我的代码。当迭代次数超过 400 时,collectAsMap 函数发生 stackoverflow 错误!其中 indexedDevF 和 indexedData 是 indexedRDD(由 AMPLab 作为库开发,提供https://github.com/amplab/spark-indexedrdd)
====================
原来的问题如下,我发现checkpoint没用,程序会以stackoverflow errer结束!!我写了一个测试简单的代码来描述我的问题。还好有好心人帮我解决问题,你可以在下面找到答案!但是,即使检查点确实有效,我的程序仍然会出现 stackoverflow 错误:(
mpi - MPI 检查点使用
我想利用 MPI 检查点功能来挽救我的工作。根据https://wiki.mpich.org/mpich/index.php/Checkpointing的建议
我应该能够将 SIGUSR1 发送到 mpiexec (在我的情况下,我将其发送到 mpirun )以触发检查点。但是,当我这样做时,我没有看到我用 -ckpoint-prefix 指定的检查点目录中保存的任何文件
这是我的 mpirun -info 输出
HYDRA build details:
Version: 4.1 Update 1
Release Date: 20130522
Process Manager: pmi
Bootstrap servers available: ssh rsh fork slurm srun ll llspawn.stdio lsf blaunch sge qrsh persist jmi
Resource management kernels available: slurm srun ll llspawn.stdio lsf blaunch sge qrsh pbs
Checkpointing libraries available: blcr
Demux engines available: poll select
我的命令行是:
mpirun -ckpointlib blcr -ckpoint-prefix /home/user/temp/ckpoint -ckpoint-interval 1800 -np 274 $PROGPATH/myapp
我发送信号的方式是kill -s USR1 1900
,1900是miprun的pid。每当我发送信号时,程序就会结束。虽然没有崩溃。有人有 MPI 检查点的经验吗?
git - 检查点/恢复功能在 Docker 中不起作用
我对 docker 完全陌生,也不习惯从 github 构建软件。我想在 docker 中启用检查点恢复功能。
我从这里安装了 CRIU:
这就是我从以下存储库构建 docker 的方式: https ://github.com/boucher/docker/tree/boucher-cr
Docker 服务器版本:1.10.3
Docker 客户端版本:1.10.3
在新克隆的“Docker”文件夹中运行 make 命令后,我得到了以下输出。
---> 制作包:二进制(在 bundles/1.7.0-dev/binary 中) 构建:/go/src/github.com/docker/docker/bundles/1.7.0-dev/binary/docker-1.7.0 -开发
创建的二进制文件:/go/src/github.com/docker/docker/bundles/1.7.0-dev/binary/docker-1.7.0-dev
运行 make 命令后我没有做任何其他事情。docker 中尚未启用检查点还原功能。我错过了任何命令吗?
c - 功能级检查点恢复
我正在阅读有关检查点的信息。根据我现在阅读的内容,有两个主要的检查点:
系统级检查点 (SLC) – core-dump 风格的计算快照
应用程序级检查点(ALC)——程序是自检查点和自重启的
我有兴趣在 C 中实现函数级别的检查点恢复算法。我想知道是否可以在“应用程序级”类别中考虑这一点。
其次,是否有可用的开源库。
我在这里举一个简单的添加函数作为例子:
添加(int a0,int a1,int b0,int b1,int * res0,int * res1)
算法策略如下:
有没有办法以一般格式编写“存储”部分(第一行)。如果函数获得不同的参数类型怎么样。
r - R:在集群的 Worker 上设置“检查点”
我使用以下代码...
1. 创建一个并行集群
2. 源 test.R
3. 并使用“test.R”中定义的函数进行一些并行工作
不幸的是,我依赖旧包 :-(
可以使用“检查点”来利用 CRAN 包的过去快照
我的问题是......
我怎样才能利用集群工作人员上的旧包?
以下不起作用:
命令
返回 TRUE。但是第二个
只是挂起。我不知道为什么工人们会坚持这个命令。我可以以某种方式调查工作人员,看看他们是否只是在等待用户输入左右?
docker - 码头恢复;缺乏 go-dockerclient 的指示 - 已修复
我按照 Saied Kazemi 关于使用 criu 的 docker 暂停和恢复的说明,并使用https://github.com/boucher/docker/tree/cr-defunct(基于 Ross Boucher 的反馈)从源代码构建 1.10.0-dev 以获取检查点/恢复功能。
我现在正在尝试使用 docker-proxy (github.com/edmodo/docker-proxy),后者又依赖 go-dockerclient (github.com/fsouza/go-dockerclient) 来获取有关正在创建的容器的指示等.
我的问题更具体到 docker 守护进程发送到 go-dockerclient 的底层触发器。当容器被创建、启动或停止时,会收到相应的指示符。
但是,当我使用还原时,我没有看到我希望看到的内容。也许我不完全理解恢复是如何工作的。我在调试模式下运行了 docker 守护进程,看看发生了什么
我首先检查一个正在运行的容器a1
作为
守护程序的相应调试是
a2
然后,我创建一个新容器
守护进程中创建的相应调试日志为:
此时,a2
容器已创建,但未运行。此创建会向 dockerclient 指示已创建容器,但未运行。docker ps -a
并分别docker ps
显示两个 (a1
和a2
) 和一个 ( a1
) 容器;正如预期的那样。
之后,我a2
使用检查点图像恢复
相应的还原调试是:
这将启动容器。但是,通过 dockerclient 的守护程序看不到任何指示符。两个容器都正常工作。
这是设计上缺乏指示吗?是否有其他方法可以触发容器已启动?我必须深入挖掘 go-dockerclient 看看我是否遗漏了什么
任何帮助都感激不尽。提前致谢