这可能是一个基本问题,但我有点困惑。
我在4核ubuntu机器上创建了一个独立的集群,其中包含一个主服务器和一个服务器。我打算在此运行一个火花流应用程序。现在我的问题是:
Q1.将要创建的DStream的分区数是多少?
Q2。另外,我可以在一台机器上创建两个从站吗?如果是的话怎么样?
由于
答案 0 :(得分:1)
考虑到你已经正确安装了火花。
在本地主机上启动Spark主服务器:
$> ./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
启动主人后,您可以查看http://localhost:8080/上的Spark界面。您将看到以下内容:
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文件末尾指定工作人员数量
echo "export SPARK_WORKER_INSTANCES=4" >> ./conf/spark-env.sh
现在你需要做的就是启动spark-slave s :
./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:
我认为这回答了你的第二个问题。
至于第一个问题,就像我说的那样,考虑到你的硬件配置和性能指标,你需要对分区数进行基准测试。没有秘密的食谱!
我希望这有帮助!