如何在10节点集群上运行Spark Sql

时间:2016-03-08 14:26:16

标签: apache-spark apache-spark-sql

我第一次使用火花。我在具有10个节点的集群上在Hadoop 2.7上设置了spark。在我的主节点上,以下是正在运行的进程:

hduser@hadoop-master-mp:~$ jps
20102 ResourceManager
19736 DataNode
20264 NodeManager
24762 Master
19551 NameNode
24911 Worker
25423 Jps

现在,我想编写Spark Sql来为1 GB的文件执行某个计算,这已经存在于HDFS中。

如果我在主节点上进入spark shell: 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使用完整集群?

1 个答案:

答案 0 :(得分:1)

您需要集群管理员来管理主人和员工。您可以使用spark standalone或yarn或mesos集群管理器。我建议使用spark独立集群管理器而不是纱线来启动这些事情。

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

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

启动主控

它将创建带端口的Web界面(默认为8080)。打开spark master网页并收集页面中提到的spark master uri。

2)转到所有节点,包括你启动master的机器,并运行slave。

./ sbin / start-slave.sh。

再次检查主网页。它应列出页面上的所有工作人员。如果它没有列出,那么你需要从日志中找出错误。

3)请检查核心&机器具有的内存以及每个工作人员在主网页上显示的内存。如果它们不匹配,您可以使用命令来分配它们。

去火花1.5.2或更高版本 请按照详细信息here

进行操作

由于它只是一个起点,请告诉我你是否面临任何可以帮助你的错误。