如何在10个节点集群上运行Spark SqlSql数据库
我第一次使用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使用完整群集?
您需要集群管理器来管理主人和工人。您可以选择单独的火花或纱线或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面对任何错误,我可以帮你出来。
@Thanks作者Srini, 我已经安装了所有节点上的Spark,开始了集群,现在在网页上我可以看到我的主人和所有工人都活着。 我有一套Spark Sql查询需要在HDFS上存在的文件上并行执行,并且需要将组合输出写入文件中。你能告诉我该怎么办? –
嗨,mayank。请接受答案,如果它解决了你的问题,这样它就不会存在未解决的问题。所以,要完成SQL语句有2种方法1)打开spark-sql并创建外部表并运行所有查询。在启动spark-sql时,请确保给出了 - 您可以在主网页中看到的
取决于您的Spark环境是如何设置的。 – morfious902002
Hi @ morfious902002: 我使用下面的链接进行设置。 https://www.quora.com/How-do-I-install-Apache-Spark-on-Yarn-Cluster –