【问题标题】:How many RDD Partitions and Slaves on a Standalone custer一个独立的 custer 上有多少个 RDD 分区和从站
【发布时间】:2015-10-17 05:07:52
【问题描述】:

这可能是一个基本问题,但我有点困惑。

我在 4 核 ubuntu 机器上创建了一个独立集群,其中一个主服务器和一个从服务器。我打算在此运行火花流应用程序。现在我的问题是:

Q1.DStream 的分区数量是多少?

第二季度。另外,我可以在一台机器上创建两个从站吗?如果是怎么办?

谢谢

【问题讨论】:

  • A1.基准是一种开始的方式,没有秘诀! A2。是的你可以。到目前为止,您尝试过什么?
  • 我尝试通过运行 sbin/start-slave.sh 来启动两个从站,但是这个命令只启动一个,第二次失败
  • 分区的数量将取决于消费者、批处理间隔和块间隔,或者在直接 Kafka 消费者的情况下的 kafka 分区数。见virdata.com/tuning-spark

标签: apache-spark spark-streaming


【解决方案1】:

考虑到您已经正确安装了 spark。

启动 Spark 主机:

在您的本地主机上启动 Spark master:

$> ./sbin/start-master.sh
starting org.apache.spark.deploy.master.Master, logging to /home/eliasah/utils/spark/spark-1.5.1-bin-hadoop2.6/sbin/../logs/spark-eliasah-org.apache.spark.deploy.master.Master-1-eliasah-XPS-L501X.out

启动 master 后,您可以在 http://localhost:8080/ 上查看 Spark UI。您将看到以下内容:

启动奴隶工人

spark master 需要无密码的 ssh 登录到它的 slave,由于我们正在构建一个独立的 Spark 集群,我们需要一个无密码的 localhost 连接。

如果您的私钥有密码,您需要生成一个新密钥并将其公共部分复制到 ~/.ssh/authorized_keys。 (这部分会很长,写一个答案,所以我会跳过它。我相信你已经足够大了)

这就是有趣的地方:

您使用提供的模板创建 spark-env.sh 文件:

cp ./conf/spark-env.sh.template ./conf/spark-env.sh

你需要在spark-env.sh文件的最后指定worker的数量

echo "export SPARK_WORKER_INSTANCES=4" >> ./conf/spark-env.sh

您现在需要做的就是启动 spark-slaves

./sbin/start-slaves.sh
localhost: starting org.apache.spark.deploy.worker.Worker, logging to /home/eliasah/utils/spark/spark-1.5.1-bin-hadoop2.6/sbin/../logs/spark-eliasah-org.apache.spark.deploy.worker.Worker-1-eliasah-XPS-L501X.out
localhost: starting org.apache.spark.deploy.worker.Worker, logging to /home/eliasah/utils/spark/spark-1.5.1-bin-hadoop2.6/sbin/../logs/spark-eliasah-org.apache.spark.deploy.worker.Worker-2-eliasah-XPS-L501X.out
localhost: starting org.apache.spark.deploy.worker.Worker, logging to /home/eliasah/utils/spark/spark-1.5.1-bin-hadoop2.6/sbin/../logs/spark-eliasah-org.apache.spark.deploy.worker.Worker-3-eliasah-XPS-L501X.out
localhost: starting org.apache.spark.deploy.worker.Worker, logging to /home/eliasah/utils/spark/spark-1.5.1-bin-hadoop2.6/sbin/../logs/spark-eliasah-org.apache.spark.deploy.worker.Worker-4-eliasah-XPS-L501X.out

您还可以查看 Spark UI:

我认为这回答了您的第二个问题。

至于第一个问题,就像我说的那样,您需要根据您的硬件配置和性能指标对分区数量进行基准测试。没有秘方!

我希望这会有所帮助!

【讨论】:

  • 感谢您的回答,因为它确实对我的第二部分问题有所帮助。但是我不确定第 1 部分,根据我的理解,DStream 是一个 RDD,我想知道在上述情况下,RDD 是否会有 4 个分区(每个工人 1 个)或其他一些数字?
  • DStream 不是 RDD。它是 RDD 的序列。你在说什么场景?
猜你喜欢
  • 1970-01-01
  • 2015-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-28
  • 1970-01-01
  • 2018-04-22
相关资源
最近更新 更多