Spark随谈(二)—— 安装攻略

本来安装这件事情,不用单独开一篇谈的。但是Spark的安装实在是一件点蛋疼的事情,这和Spark的语言和框架两者有颇大的关系。

Spark是Scala语言写的,所以要先安装Java和Scala,而底层的调度框架是Mesos,Mesos是C++写的,所以又对机器的glibc和gcc环境有一定的要求。装好了Mesos和Spark,还要把2者衔接起来,版本要选择正确,这几个步骤,中间任何一步错了都Spark都不能以集群方式正常运行,所以Spark的安装,还是颇有点周折的,在这里把完整的过程记录下来,包括mesos 0.9的安装过程,希望后来者尽量不需要掉坑里。

本攻略基于版本是Spark 0.5 和Mesos 0.9,服务器是Redhat Enterprise 6.1 32位,其它服务器的命令可能会稍微有所区别

  1. 安装Spark
  2. 安装Mesos
  3. 启动Mesos
  4. 启动Spark On Mesos
  5. 集群部署
    1、安装Spark

1.1 安装Java

推荐版本是JDK1.6.0 u18,具体下载安装过程就不说了,最后一定要设定JAVA_HOME,这个是后面步骤,尤其是mesos安装必须


1.2 安装Scala


1.3 安装Spark


至此,Spark的基本安装已经完毕,可以尝试用本地模式运行


看到正确的Pi结果,表示Spark安装第一步完成,本地模式运行OK ## **2、安装Mesos** Mesos 0.9安装,必须具备下列条件: glibc 2.9(必须2.9以上) gcc-c++ 4.1 python 2.6 python-devel cppunit-devel libtool Redhat 6上述条件基本上已经具备了,Redhat 5的话,glibc有可能低于2.5,必须升级,才能完成mesos的编译安装,否则就别折腾了,洗洗睡吧 :)


祈祷吧,一切顺利的话,mesos就会被安装到/usr/local/mesos下,最后关键一步,设置MESOS_HOME


3、启动Mesos

手工模式启动:

3.1 启动Master

cd /usr/local/mesos
(sbin/mesos-master –log_dir=/usr/local/mesos/logs & ) &

出现下面的提示Master就成功

Starting Mesos master
Master started on :5050
Master ID: 

Elected as master!
Loading webui script at ‘/usr/local/new_mesos/share/mesos/webui/master/webui.py’
Bottle server starting up (using WSGIRefServer())…
Listening on http://0.0.0.0:8080/
Use Ctrl-C to quit.

3.2 启动Slave

(sbin/mesos-slave -m 127.0.0.1:5050 –log_dir=/home/andy/mesos/logs –work_dir=/home/andy/mesos/works & ) &

使用–resources=”mem:20240;cpus:10”参数,可以根据具体的机器情况,指定分配的资源

Starting Mesos slave
Slave started on :42584
Slave resources: cpus=16; mem=23123
New master detected at master@
:5050
Registered with master; given slave ID *
Loading webui script at ‘/usr/local/new_mesos/share/mesos/webui/slave/webui.py’
Bottle server starting up (using WSGIRefServer())…
Listening on http://0.0.0.0:8081/
Use Ctrl-C to quit.

4、启动Spark On Mesos

好了,终于来到最关键的一步了,在Mesos上运行Spark,要把Spark和Mesos连接到一起了。Spark是披着Scala外衣的Java,Mesos是C++,他们的通道,不可避免的就是JNI

配置的关键是Spark的配置文件,Spark带了样例文件conf/spark-env.sh.template,并有详细的解释,根据我们之前的安装路径,参考该文件,配置如下:


#新版本的配置项,直接指定libmesso.so的位置,该so和spark目录下的mesos-0.9.0.jar必须一致,是spark和mesos沟通的关键
export MESOS_NATIVE_LIBRARY=/usr/local/mesos/lib/libmesos.so

#旧版本的配置项,其它的so,目前看来不需要了
export SPARK_LIBRARY_PATH=/usr/local/mesos/lib

#自定义的程序jar包,可以放在该目录下
export SPARK_CLASSPATH=…

#保持与系统的SCALA_HOME一致
export SCALA_HOME=/usr/share/scala

#必须小于或者等于Slave中的mem,Slave resources: cpus=16; mem=23123

#本地模式下,运行大任务也需要修改该参数,默认是512m,很小
export SPARK_MEM=10g
好了,一切就绪之后,尝试运行下面的命令:


如果你再次成功的看到Pi值,恭喜,Spark的安装又成功了一步

参考资料

  1. Running Spark on Mesos · mesos/spark Wiki · GitHub
  2. Mesos安装详解(RedHat 6.1) - lisperl - 博客园
  3. MESOS–安装,配置,启动

本文来源于"阿里中间件团队播客",原文发表时间"  2012-06-13 "

时间: 2024-11-03 21:50:05

Spark随谈(二)—— 安装攻略的相关文章

PHP安装攻略:PHP+Apache在Win9X配置安装

apache|攻略 在PHP邮件列表中问得最多的问题可能就是:"如何在我的Windows机器上安装PHP?",那么也许我可以帮助回答这个问题.当你正确安装完成后,你会发现在Windows下开发PHP程序还是不错的. 本教程的目的是向你展示如何用"Apache和Windows"的组合来开发PHP程序. 教程中如未指明具体版本,则PHP为PHP3或PHP4 Beta 2或3,Apache为 1.3.x. 一.安装Apache 首先,你须要一个WEB服务器,我推荐Apac

PHP安装攻略:在Windows 9x下的安装和配置

window|攻略 在PHP邮件列表中问得最多的问题可能就是:"如何在我的Windows机器上安装PHP?",那么也许我可以帮助回答这个问题.当你正确安装完成后,你会发现在Windows下开发PHP程序还是不错的. 本教程的目的是向你展示如何用"Apache和Windows"的组合来开发PHP程序. 教程中如未指明具体版本,则PHP为PHP3或PHP4 Beta 2或3,Apache为 1.3.x. 一.安装Apache 首先,你须要一个WEB服务器,我推荐Apac

PHP安装攻略:NT+Apache+PHP3

apache|攻略 本文只讨论如何在Windows NT 4.0或Windows 2000下安装Apache+PHP3. 我使用的Apache为apache_1_3_12_win32.exe. 注意您得先安装PHP3哦,有关PHP3的安装,可查阅前面介绍的相关文章. 二.安装Apache 1.双击下载的Apache可执行文件(如apache_1_3_12_win32.exe)进行安装,安装的时候您可以选择安装的目的地,缺省为C:\Program Files\Apache Group\Apache

PHP安装攻略:PHP3+NT+IIS

iis|攻略 本机环境采用默认的安装NT4+IIS4,IIS的根目录为C:\Inetpub\wwwroot. 一.软件下载 您可以从<a href=http://www.php.net/download-php.php3>http://www.php.net/download-php.php3</a>下载到php最新的Win32 binary版本. 二.软件安装 你可以从<a href=http://www.php.net/manual/install-windows95-n

PHP安装攻略:常见问题解答

攻略|解答|问题 一. 问:我已经按步骤安装了Unix版的APACHE模块,但是我的PHP脚本源码显示在浏览器当中,或者浏览器提示我保存文件.为什么? 答: 这是由于PHP模块没有正常工作引起的.请检查下列三个地方: 请确认正在运行的APACHE执行文件是你最后编译成功的那一个.输入如下命令: /path/to/binary/httpd -l 如果你没有看到mod_php3.c在列表中,那你就没有运行一个正确的执行文件. 请确认你已经加入了正确的"Mime Type"在你的某个.con

PHP安装攻略:PostgreSQL

攻略 以下将说明使用Apache+PHP3+PostgreSQL作为基于Web的数据库平台的安装和配置方法.关于Apache.PHP3和PostgreSQL的更多内容可以从软件的附带文档.Linux的HOWTO文件以及以下站点处找到: Apache: http://www.apache.org PHP3: http://www.php.net PostgreSQL: http://www.postgresql.org 1. PostgreSQL的安装和设置 1.1 获得源程序 PostgreSQ

J2EE应用服务器(Jboss+Tomcat)安装攻略

j2ee|服务器|攻略 JBoss+Tomcat已经成为一个免费的开源的稳定的J2EE服务器,虽然在JBoss中部署J2EE没有商用J2EE服务器那么方便,基本都是通过手工编写XML配置文件,但是这样可以让我们更容易理解J2EE的来龙去脉. 注意,正如Tomcat3 和Tomcat 4两个版本差异很大一样,Jboss 2和Jboss 3两者差异较大,本处是以Jboss 2为例,建议安装JBoss 3. Jboss 3 安装其实更简单,下载解压就可运行,部署应用方式也一样. 1.从JBoss主页h

超级服务器apache+mysql+php+ssl之完全安装攻略(2)

apache|mysql|服务器|攻略 PHP安装(UNIX) 现在安装PHP语言.你下载了最新的beta版,但是你可能必须下载非beta版本.记住beta版本需要GNU make. 你仍然假定是root,如果不是,su回到root. PHP要求你已经预先配置好的Apache,以便它能知道所需的东西在哪儿.在以后你安装Apache服务器时,你将会回到这里.改变到你有源代码的目录. # cd /tmp/DOWNLOAD # gunzip -c apache_1.3.x.tar.gz | tar x

超级服务器apache+mysql+php+ssl之完全安装攻略(1)

apache|mysql|服务器|攻略 目的我们的目标是安装一个允许我们托管多个网站的web服务器,其中一些是针对电子商务的安全解决方案,而大部分网站是通过连接一个数据库服务器并且提取其数据的脚本驱动的. 为了这个任务所需的工具是: Apache-一个网站服务器 Mod_SSL-一个安全套接字层(SSL)的模块 OpenSSL-开放源代码工具箱(mod_ssl所需) RSARef-仅对美国用户 MySQL-一个数据库服务器 PHP-一种脚本语言 "条条大路通罗马"--因此这只是很多能达