2016-03-08 72 views
0

我第一次使用spark。我已经在具有10个节点的群集上安装了Hadoop 2.7。在我的主节点,以下是流程运行:如何在10个节点集群上运行Spark SqlSql数据库

[email protected]:~$ jps 
20102 ResourceManager 
19736 DataNode 
20264 NodeManager 
24762 Master 
19551 NameNode 
24911 Worker 
25423 Jps 

现在,我想写星火SQL以1 GB的文件,这是在HDFS已经存在做了一定的计算。

如果我进入火花贝壳我的主节点上: spark-shell

,并编写以下查询,将它只是在我的主机上运行,​​还是会使用所有10个节点的工人呢?

scala> sqlContext.sql("CREATE TABLE sample_07 (code string,description string,total_emp int,salary int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TextFile") 

如果不是,我需要做些什么才能使我的Spark Sql使用完整群集?

+0

取决于您的Spark环境是如何设置的。 – morfious902002

+0

Hi @ morfious902002: 我使用下面的链接进行设置。 https://www.quora.com/How-do-I-install-Apache-Spark-on-Yarn-Cluster –

回答

1

您需要集群管理器来管理主人和工人。您可以选择单独的火花或纱线或mesos集群管理器。我会建议引发独立的集群管理器而不是纱线来启动这些事情。

只需启动它, 在所有节点上下载spark分发(为hadoop预编译),并在spark-env.sh中设置Hadoop类路径和其他重要配置。

1)使用/sbin/start-master.sh

它将创建与端口(默认为8080)的网络界面启动主。打开火花大师网页并收集页面中提到的火花大师uri。 2)去所有节点,包括机器启动主机,并运行从机。

./sbin/start-slave.sh。

再次检查主网页。它应该列出页面上的所有工作人员。如果它没有列出,那么你需要从日志中找出错误。 3)请检查机器所具有的核心&,并在每个工作人员的主网页上显示相同的内存。如果它们不匹配,您可以使用命令分配它们。

转到火花1.5.2或更高版本 请遵循细节here

正如它只是一个起点,让我知道如果u面对任何错误,我可以帮你出来。

+0

@Thanks作者Srini, 我已经安装了所有节点上的Spark,开始了集群,现在在网页上我可以看到我的主人和所有工人都活着。 我有一套Spark Sql查询需要在HDFS上存在的文件上并行执行,并且需要将组合输出写入文件中。你能告诉我该怎么办? –

+0

嗨,mayank。请接受答案,如果它解决了你的问题,这样它就不会存在未解决的问题。所以,要完成SQL语句有2种方法1)打开spark-sql并创建外部表并运行所有查询。在启动spark-sql时,请确保给出了 - 您可以在主网页中看到的。并根据需要执行 - 执行程序 - 内存和内核。这将做2)创建火花Scala/Java程序。读取程序中的文件并创建数据框并执行所需的查询。这需要从你身边进行更多的调查,你可以检查火花SQL网页的最好 – Srini

相关问题