考虑到您已经正确安装了 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:
我认为这回答了您的第二个问题。
至于第一个问题,就像我说的那样,您需要根据您的硬件配置和性能指标对分区数量进行基准测试。没有秘方!
我希望这会有所帮助!