spark安装
来源:互联网 发布:华南师范网络教育证书 编辑:程序博客网 时间:2024/05/22 03:43
环境:CentOS 6.4, Hadoop 1.1.2, JDK 1.7, Spark 0.8.0, Scala 2.9.3
1. 安装 JDK 1.7
yum search openjdk-develsudo yum install java-1.7.0-openjdk-devel.x86_64/usr/sbin/alternatives --config java/usr/sbin/alternatives --config javacsudo vim /etc/profile# add the following lines at the endexport JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.19.x86_64export JRE_HOME=$JAVA_HOME/jreexport PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar# save and exit vim# make the bash profile take effect immediately$ source /etc/profile# test$ java -version
参考我的另一篇博客,安装和配置CentOS服务器的详细步骤。
2. 安装 Scala 2.9.3
Spark 0.8.0 依赖 Scala 2.9.3, 我们必须要安装Scala 2.9.3.
下载 scala-2.9.3.tgz 并 保存到home目录.
$ tar -zxf scala-2.9.3.tgz$ sudo mv scala-2.9.3 /usr/lib$ sudo vim /etc/profile# add the following lines at the endexport SCALA_HOME=/usr/lib/scala-2.9.3export PATH=$PATH:$SCALA_HOME/bin# save and exit vim#make the bash profile take effect immediatelysource /etc/profile# test$ scala -version
3. 下载预编译好的Spark
下载预编译好的Spark, spark-0.8.0-incubating-bin-hadoop1.tgz.
如果你想从零开始编译,则下载源码包,但是我不建议你这么做,因为有一个Maven仓库,twitter4j.org, 被墙了,导致编译时需要翻墙,非常麻烦。如果你有DIY精神,并能顺利翻墙,则可以试试这种方式。
4. Local模式
4.1 解压
$ tar -zxf spark-0.8.0-incubating-bin-hadoop1.tgz
4.2 (可选)设置 SPARK_HOME环境变量
$ vim ~/.bash_profile# add the following lines at the endexport SPARK_HOME=$HOME/spark-0.8.0# save and exit vim#make the bash profile take effect immediately$ source /etc/profile
4.3 现在可以运行SparkPi了
$ cd $SPARK_HOME$ ./run-example org.apache.spark.examples.SparkPi local
5. Cluster模式
5.1 安装Hadoop
用VMware Workstation 创建三台CentOS 虚拟机,hostname分别设置为 master, slave01, slave02,设置SSH无密码登陆,安装hadoop,然后启动hadoop集群。参考我的这篇博客,在CentOS上安装Hadoop.
5.2 Scala
在三台机器上都要安装 Scala 2.9.3 , 按照第2节的步骤。JDK在安装Hadoop时已经安装了。
5.3 在master上安装并配置Spark
解压
$ tar -zxf spark-0.8.0-incubating-bin-hadoop1.tgz.tgz
在 in conf/spark-env.sh
中设置SCALA_HOME
$ cd ~/spark-0.8.0/conf$ mv spark-env.sh.template spark-env.sh$ vim spark-env.sh# add the following lineexport SCALA_HOME=/usr/lib/scala-2.9.3# save and exit
在conf/slaves
, 添加Spark worker的hostname, 一行一个。
$ vim slavesslave01slave02# save and exit
(可选)设置 SPARK_HOME环境变量,并将SPARK_HOME/bin加入PATH
$ vim ~/.bash_profile# add the following lines at the endexport SPARK_HOME=$HOME/spark-0.8.0export PATH=$PATH:$SPARK_HOME/bin# save and exit vim#make the bash profile take effect immediately$ source /etc/profile
5.4 在所有worker上安装并配置Spark
既然master上的这个文件件已经配置好了,把它拷贝到所有的worker即可。注意,三台机器spark所在目录必须一致,因为master会登陆到worker上执行命令,master认为worker的spark路径与自己一样。
$ cd$ scp -r spark-0.8.0 dev@slave01:~$ scp -r spark-0.8.0 dev@slave02:~
5.5 启动 Spark 集群
在master上执行
$ cd ~/spark-0.8.0$ bin/start-all.sh
检测进程是否启动
$ jps11055 Jps2313 SecondaryNameNode2409 JobTracker2152 NameNode4822 Master
浏览master的web UI(默认http://localhost:8080). 这是你应该可以看到所有的word节点,以及他们的CPU个数和内存等信息。
5.6 运行Spark自带的例子
运行SparkPi
$ cd ~/spark-0.8.0$ ./run-example org.apache.spark.examples.SparkPi spark://master:7077
运行 SparkLR
#Logistic Regression#./run-example org.apache.spark.examples.SparkLR spark://master:7077
运行 SparkKMeans
#kmeans$ ./run-example org.apache.spark.examples.SparkKMeans spark://master:7077 ./kmeans_data.txt 2 1
5.7 从HDFS读取文件并运行WordCount
$ cd ~/spark-0.8.0$ hadoop fs -put README.md .$ MASTER=spark://master:7077 ./spark-shellscala> val file = sc.textFile("hdfs://master:9000/user/dev/README.md")scala> val count = file.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_+_)scala> count.collect()
5.8 停止 Spark 集群
$ cd ~/spark-0.8.0$ bin/stop-all.sh
参考资料
- Spark Standalone Mode
- Running A Spark Standalone Cluster
- Lightning-Fast WordCount using Spark Alongside Hadoop
- SparK安装
- spark安装
- spark安装
- spark 安装
- Spark 安装
- spark安装
- Spark安装
- Spark 安装
- 安装spark
- spark安装
- 安装spark
- spark安装
- spark 安装
- 安装spark
- Spark安装
- Spark安装
- spark安装
- Spark安装
- 加快推进汽车安全自动保护器产业化
- Assert && De-assert
- 子类对象可以直接转化为基类,而基类对象不能直接转化为子类对象
- java 3.1
- tomcat 实例
- spark安装
- Struts2教程2:处理一个form多个submit
- flex--FlexGlobals.topLevelApplication使用
- 网络编程CFSocketRef
- ruby 存取器
- C#窗体程序在win7下运行时 控件无win7 方式
- tomcat6数据库连接池配置
- 17个常用代码整理
- 学习笔记 --- LINUX USB总线驱动框架分析