小编irb*_*ull的帖子

失败的火花执行者是否值得关注?

我知道Apache Spark是围绕弹性数据结构设计的,但是在运行的系统中是预期的故障还是这通常表明存在问题?

当我开始了扩展系统以不同的配置,我看到ExecutorLostFailureNo more replicas(见下文).系统恢复并且程序结束.

我是否应该关注这一点,我们通常可以采取哪些措施来避免这种情况; 或者这是因为遗嘱执行人数增加了吗?

18/05/18 23:59:00 WARN TaskSetManager: Lost task 87.0 in stage 4044.0 (TID 391338, ip-10-0-0-68.eu-west-1.compute.internal, executor 11): ExecutorLostFailure (executor 11 exited caused by one of the running tasks) Reason: Container marked as failed: container_1526667532988_0010_01_000012 on host: ip-10-0-0-68.eu-west-1.compute.internal. Exit status: -100. Diagnostics: Container released on a *lost* node
18/05/18 23:59:00 WARN BlockManagerMasterEndpoint: No more replicas available for rdd_193_7 !
18/05/18 23:59:00 WARN BlockManagerMasterEndpoint: No more replicas available for rdd_582_50 !
18/05/18 23:59:00 …
Run Code Online (Sandbox Code Playgroud)

apache-spark

9
推荐指数
1
解决办法
2897
查看次数

Kubernetes 在调度 pod 时是否考虑当前内存使用情况

https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/上的 Kubernetes 文档状态:

调度器保证,对于每种资源类型,被调度的Container的资源请求总和小于节点的容量。

Kubernetes 在计算容量时会考虑节点的当前状态吗?为了强调我的意思,这里有一个具体的例子:

假设我有一个具有 10Gi RAM 的节点,运行 10 个 Pod,每个 Pod 具有 500Mi 的资源请求,并且没有限制。假设它们正在“爆发”,并且每个 Pod 实际上都在使用 1Gi 的 RAM。在这种情况下,节点被充分利用(10 x 1Gi = 10Gi),但资源请求仅为10 x 500Mi = 5Gi。Kubernetes 会考虑在该节点上调度另一个 pod,因为该节点上只有 50% 的内存容量已经被占用requested,还是会使用当前 100% 的内存正在被使用,并且该节点已满负荷运行的事实?

memory-management kubernetes

8
推荐指数
2
解决办法
2225
查看次数

在CouchDB的AuthSession cookie中设置域

在CouchDB中使用基于cookie的身份验证时,域似乎设置为主机的域; 例如foo.com.如果我们希望从子域访问此会话; 例如,bar.foo.com会失败.

根据我管理cookie的有限经验,如果您将域设置为.foo.com(注意前导点.),则可以在子域上访问这些cookie.

在设置cookie以包含前导点时,是否可以更改CouchDB使用的域?

authentication couchdb

7
推荐指数
1
解决办法
294
查看次数

一个应用程序可以有多少个SparkSession?

我发现当Spark运行时,表的大小(通过Joins)增长,火花执行器最终会耗尽内存并导致整个系统崩溃.即使我尝试将临时结果写入Hive表(在HDFS上),系统仍然没有释放大量内存,并且我的整个系统在大约130个连接后崩溃.

但是,通过实验,我意识到如果我将问题分解成更小的部分,将临时结果写入hive表,并停止/启动Spark会话(和spark上下文),则系统的资源被释放.我能够使用这种方法加入超过1,000列.

但是我找不到任何文档来理解这是否被认为是一种好的做法(我知道你不应该同时获得多个会话).大多数系统在开始时获取会话并在最后关闭它.我也可以将应用程序分解为较小的应用程序,并使用像Oozie这样的驱动程序在Yarn上安排这些较小的应用程序.但是这种方法会在每个阶段启动和停止JVM,这似乎有点重量级.

所以我的问题是:在单个spark应用程序运行期间不断启动/停止spark会话以释放系统资源是不好的做法吗?


但是,您能详细说明单个JVM上单个SparkContext的含义吗?我能够调用sparkSession.sparkContext().stop(),同时也stopSparkSession.然后我创建了一个新的SparkSession并使用了新的sparkContext.没有抛出任何错误.

我也能在JavaSparkPi没有任何问题的情况下使用它.

我已经测试了这个yarn-clientlocal安装了火花.

停止火花环境究竟做了什么,为什么一旦你停止了它就不能创建一个新的?

hadoop-yarn apache-spark apache-spark-sql

5
推荐指数
1
解决办法
4232
查看次数

Spark UI 中的“红色”执行程序是什么意思?

我运行了一个 Spark Job 并查看了历史服务器上的结果。一些执行者被标记为红色;他们没有被杀。红色的是什么意思?在此处输入图片说明

我的第一个想法是这些花费的时间更长,但 ID 16 标记为红色,而 ID 15 花费的时间更长(2.2 小时(12 分钟))但未标记为红色。

那么红色代表什么呢?

apache-spark

1
推荐指数
1
解决办法
1090
查看次数