紧跟时代的步伐,安装个spark玩玩,不然,2G的阿里云主机就浪费了
环境说明:
1、 centos 6.5 64位
2、 spark 1.3.1
3、 scala-2.10.5
4、 python 2.7
5、 jdk-7u67-linux-x64 oracle
安装步骤如下:
一、 JDK
系统自带的JDK,通常都是openjdk,所有能找到的有关spark安装的帖子里都说,这个openjdk不行的,最好换成oracle公司的jdk,所以得先卸载openjdk
(1)卸载openjdk
(1.1)先查看已经安装的 ,输入命令 rpm -qa | grep java 你可能会看到下面的内容:
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
大家的机器不同,你看到的也会不同
(1.2)接着卸载,输入命令 rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115 这样,就把第一个卸载掉了,上面显示的内容,逐个的用这种方式卸载,直到 rpm -qa | grep java查看不到内容为止
(2) 安装oracle的jdk
(2.1) 下载:http://pan.baidu.com/s/1bncVBmn 这个是oracle jdk的下载地址
开始安装:
(2.2)sudo tar zxvf jdk-7u67-linux-x64.tar.gz -C /usr/lib/jvm
(2.3)cd /usr/lib/jvm
(2.5)vim /etc/profile
在文件的最后面添加
export JAVA_HOME=/usr/lib/jvm/jdk7
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
(2.6) source /etc/profile ,最后执行这句话,让配置生效
(2.7)执行 java -version ,能看到下面的内容,就说明之前的安装是正确滴:
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
二、 安装scala
(1)下载 wget http://downloads.typesafe.com/scala/2.10.5/scala-2.10.5.tgz
(2)解压 tar -zxvf scala-2.10.5.tgz -C /home/jediael/setupfile/
(3)vim /etc/profile 进入文件进行配置
#SCALA VARIABLES START
export SCALA_HOME=/home/jediael/setupfile/scala-2.10.5
export PATH=$PATH:$SCALA_HOME/bin
#SCALA VARIABLES END
(4) source /etc/profile 让配置生效
(5) 验证 scala -version 能看到下面的内容就说明安装成功了
Scala code runner version 2.10.5 -- Copyright 2002-2013, LAMP/EPFL
三、 安装spark
(1) wget http://mirror.bit.edu.cn/apache/spark/spark-1.3.1/spark-1.3.1-bin-hadoop2.6.tgz
(3) vim /etc/profile 进入文件进行配置
#SPARK VARIABLES START
export SPARK_HOME=/mnt/jediael/spark-1.3.1-bin-hadoop2.6
export PATH=$PATH:$SPARK_HOME/bin
#SPARK VARIABLES END
(4) source /etc/profile 让配置生效
(5)配置spark
(5.2)mv spark-env.sh.template spark-env.sh
(5.3)vim spark-env.sh
编辑内容:
export SCALA_HOME=/home/jediael/setupfile/scala-2.10.5
export JAVA_HOME=/usr/lib/jvm/jdk7
export SPARK_MASTER_IP=[这里放你服务器的外网地址]
export SPARK_WORKER_MEMORY=512m
export master=spark://[这里放你服务器的外网地址]:7070
export SPARK_MASTER_WEBUI_PORT=8099
(5.4)vim slaves 写入内容为 localhost
(5.6) 执行 jsp 命令,你应该看到下面的内容:
27739 Master
5779 Jps
27911 Worker
(6) 验证安装情况
(6.1)运行自带示例
$ bin/run-example org.apache.spark.examples.SparkPi
(6.2)查看集群环境
http://[你服务器的外网地址]:8080/
(6.3)进入spark-shell
$spark-shell
(6.4)http://[你服务器的外网地址]:8080/ 查看worker
(6.5)查看jobs等信息
http://[你服务器的外网地址]:4040/jobs/
这一步,我的机器上无法查看,不知道是哪一步配置的有问题
四、实际使用
(1) vim /etc/profle
加入一行配置 export PYTHONPATH=$SPARK_HOME/python/:$SPARK_HOME/python/lib/py4j-0.8.2.1-src.zip:$PYTHONPATH
进入Spark的conf目录,把log4j.properties.template修改为log4j.properties,修改log4j.properties里的内容,将 log4j.rootCategory=INFO, console改为log4j.rootCategory=WARN, console
(2) 编辑testspark.py文件,内容为
from pyspark import SparkContext
from pyspark.streaming import StreamingContext
sc = SparkContext("local", "NetworkWordCount")
data = [1, 2, 3, 4, 5]
distData = sc.parallelize(data)
print distData.reduce(lambda a, b: a + b)
(3) spark-submit testspark.py
最后会输出15
OK,到此,配置,使用都成功了,继续研究吧