Questions tagged «distributed-computing»

5
解释Apache ZooKeeper
我试图了解ZooKeeper,其工作原理以及功能。有没有可以与ZooKeeper媲美的应用程序? 如果您知道,那么您将如何向外行描述ZooKeeper? 我已经尝试过Apache Wiki,Zookeeper Sourceforge ...,但是我仍然无法与之联系。 我只是通过http://zookeeper.sourceforge.net/index.sf.shtml阅读,所以没有更多这样的服务吗?它像复制服务器服务一样简单吗?

13
Spark-Repartition()与Coalesce()
根据Learning Spark 请记住,对数据重新分区是一项相当昂贵的操作。Spark还具有repartition()称为的优化版本,coalesce()可以避免数据移动,但前提是要减少RDD分区的数量。 我得到的一个区别是repartition()分区数可以增加/减少,但是coalesce()分区数只能减少。 如果分区分布在多台计算机上并coalesce()运行,那么如何避免数据移动?

2
什么是Spark Standalone集群中的工作者,执行者,核心?
我阅读了《集群模式概述》,但仍然无法理解Spark Standalone集群中的不同进程和并行性。 工作者是不是JVM进程?我运行bin\start-slave.sh,发现它产生了工作程序,该工作程序实际上是一个JVM。 按照上面的链接,执行程序是为运行任务的工作程序节点上的应用程序启动的进程。执行者也是JVM。 这些是我的问题: 执行器是每个应用程序。那么,工人的角色是什么?它是否与执行程序协调并将结果传达给驱动程序?还是驾驶员直接与执行者对话?如果是这样,那么工人的目的是什么? 如何控制应用程序的执行者数量? 可以使任务在执行程序内部并行运行吗?如果是这样,如何配置执行程序的线程数? 工作者,执行者和执行者核心(--total-executor-cores)之间是什么关系? 每个节点上有更多工人意味着什么? 更新 让我们以例子来更好地理解。 示例1: 具有5个工作节点(每个节点具有8个核心)的独立群集当我使用默认设置启动应用程序时。 示例2 与示例1相同的群集配置,但是我运行具有以下设置的应用程序--executor-cores 10 --total-executor-cores 10。 示例3 与示例1相同的群集配置,但是我运行具有以下设置的应用程序--executor-cores 10 --total-executor-cores 50。 示例4 与示例1相同的群集配置,但是我运行具有以下设置的应用程序--executor-cores 50 --total-executor-cores 50。 示例5 与示例1相同的群集配置,但是我运行具有以下设置的应用程序--executor-cores 50 --total-executor-cores 10。 在每个示例中,有多少执行者?每个执行程序有多少个线程?多少个核心?如何确定每个申请的执行人数量?它总是与工人人数相同吗?


3
是什么决定了卡夫卡的消费者补偿?
我对Kafka比较陌生。我已经做了一些实验,但是对于消费者补偿我有些不清楚。根据到目前为止的了解,使用方启动时,它将开始读取的偏移量由配置设置确定auto.offset.reset(如果我错了,请纠正我)。 现在说,例如,该主题中有10条消息(偏移量0到9),一个消费者在崩溃之前(或我杀死该消费者之前)碰巧消耗了其中的5条消息。然后说我重新启动该使用者进程。我的问题是: 如果将auto.offset.reset设置为smallest,它是否总是从偏移量0开始消耗? 如果将auto.offset.reset设置为largest,它将从偏移量5开始消耗吗? 关于这种情况的行为是否总是确定性的? 如果我的问题不清楚,请随时发表评论。提前致谢。

25
计算十亿个数字的中位数
如果您有十亿个数字和一百台计算机,那么找到这些数字的中位数的最佳方法是什么? 我有一个解决方案是: 在计算机之间平均分配集合。 对它们进行排序。 找到每组的中位数。 对中位数进行排序。 一次从最低到最高中值合并两套。 如果我们m1 < m2 < m3 ...先合并Set1,Set2然后在结果集中,我们可以丢弃所有低于Set12(合并)中位数的数字。因此,在任何时间点我们都有相等大小的集合。顺便说一下,这不能以并行方式完成。有任何想法吗?

5
是否可以将分区添加到Kafka 0.8.2中的现有主题
我有一个带有2个分区的Kafka集群。我一直在寻找一种将分区数增加到3的方法。但是,我不想丢失该主题中的现有消息。我尝试停止Kafka,修改server.properties文件以将分区数增加到3,然后重新启动Kafka。但是,这似乎并没有改变任何东西。使用Kafka ConsumerOffsetChecker,我仍然看到它仅使用2个分区。我正在使用的Kafka版本是0.8.2.2。在0.8.1版中,曾经有一个名为的脚本kafka-add-partitions.sh,我想可能可以解决问题。但是,我在0.8.2中看不到任何这样的脚本。有什么办法可以做到这一点?我确实尝试过创建一个全新的主题,为此,它似乎确实根据server.properties文件中的更改使用了3个分区。但是,对于现有主题,似乎并不在乎。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.