作为hadoop / Spark的初学者,我已经按照本website中的教程进行了操作,并在我的单机(CentOS 6)上成功部署了一个hadoop框架。现在我想在同一台机器上安装Spark 1.2,让它在我的机器上使用单节点Yarn集群,这意味着在我的单机器上执行存储在hdfs上的文件上的Spark SQL并将结果输出到hdfs。我没有在线找到这个场景的好教程,以便完成所需的其余步骤。
到目前为止我做的是:(1)从Scala官方网站下载scala 2.9.3并安装。 " scala -version"命令有效!
(2)从Apache Spark网站下载了Spark 1.2.1(预先为Hadoop 2.4或更高版本构建)并且已经解压缩了它。
下一步该怎么做?如何更改Spark目录中的配置文件?有人可以提供一步一步的教程吗?特别是如何配置 spark-env.sh 。越详细越好。谢谢! (如果您对我如何配置我的hadoop和纱线有疑问,我会完全遵循我之前提到的那个网站中列出的步骤)
答案 0 :(得分:1)
如果你想使用YARN,那么你必须使用maven编译spark。根据您需要的支持(hadoop版本,配置单元兼容性等),有各种参数。以下是参数详细信息的链接:http://spark.apache.org/docs/1.2.1/building-spark.html
以下是我在Apache Hadoop 2.6.0上使用hive支持安装spark的命令:
mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4 -Phive -Phive-0.12.0 -Phive-thriftserver -DskipTests clean package
要运行单节点群集,您无需更改spark-env.sh。只需在您的环境中设置HADOOP_CONF_DIR或YARN_CONF_DIR即可。对于非纱线模式,您甚至不需要。 spark-env.sh允许在一个地方设置各种环境变量,因此您可以将hadoop配置,内存调整设置等放在一个地方。该模板已有详细记录。
使用sbin目录中的脚本启动集群组件(通常start-all.sh就足够了)。还有一点 - 如果你希望你的sparkSQL使用Hive Metastore,那么你必须将hive-site.xml放在conf目录中,并将hive.metastore.uris
的值设置为指向你的Metastore服务器。