我已完成Apache Spark 1.2.1独立群集的以下配置:
我在独立集群管理器中运行Spark:
SELECT [VAR1], [VAR2], [VarName] = 'Score1', [Value] = [Score1]
FROM [dbo].[UnknownMe]
UNION ALL
SELECT [VAR1], [VAR2], [VarName] = 'Score2', [Value] = [Score2]
FROM [dbo].[UnknownMe]
UNION ALL
SELECT [VAR1], [VAR2], [VarName] = 'Score3', [Value] = [Score3]
FROM [dbo].[UnknownMe]
我的工作是成功执行,即从文件中读取数据并将其插入Cassandra。
Spark文档说,在独立群集中使用所有可用内核,但我的群集每个应用程序仅使用1个内核。此外,在Spark UI上启动应用程序后,它显示Applications:0 running和Drivers:1 running。
我的查询是:
代码:
./spark-submit --class com.b2b.processor.ProcessSampleJSONFileUpdate \
--conf num-executors=2 \
--executor-memory 2g \
--driver-memory 3g \
--deploy-mode cluster \
--supervise \
--master spark://abc.xyz.net:7077 \
hdfs://abc:9000/b2b/b2bloader-1.0.jar ds6_2000/*.json
答案 0 :(得分:7)
如果您要将应用中的主人设置为本地(通过.setMaster("local")
),则无法连接到spark://abc.xyz.net:7077
。
如果使用spark-submit
命令进行设置,则无需在应用程序中设置主控。
答案 1 :(得分:2)
发生的事情是您认为您使用的是独立模式,默认情况下使用所有可用节点,但实际上使用“本地”作为主节点,您使用的是本地模式。在本地模式下,即使设置了local [*],Spark也将始终只使用1个核心,因为本地模式是非分布式单JVM部署模式。这也是为什么当您将主参数更改为“spark://abc.xyz.net:7077”时,一切都按照您的预期进行。
答案 2 :(得分:0)
尝试将master设置为local [*],这将使用所有核心。