标签:
因为Spark与Hadoop是关联的,所以在安装Spark前应该根据已安装的Hadoop版本来选择待安装的Sqark版本,要不然就会报“Server IPC version X cannot communicate with client version Y”的错误。
我安装的Hadoop版本为Hadoop2.4.0(下载),选择的Spark版本为spark-1.2.0-bin-hadoop2.4.tgz(下载)。
Spark依赖与Scala,所以还需要预装Scala,我下载的版本为scala-2.11.5.tgz,配置Scala的环境变量:
export SCALA_HOME=/opt/scala/scala-2.11.5
export PATH=$PATH:$SCALA_HOME/bin
修改后使环境变量生效,查看Scala版本:
然后配置Spark的环境变量:
export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin
配置后使环境变量修改生效。
在 ${SPARK_HOME}/conf 目录下做如下操作:
cp spark-env.sh.template spark-env.sh
修改 spark-env.sh ,在文件最后添加(视具体配置路径而定):
export SCALA_HOME=/opt/scala/scala-2.11.5 export SPARK_MASTER_IP=127.0.0.1 export SPARK_WORKER_MEMORY=2G export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_75 export HADOOP_HOME=/usr/local/hadoop export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
配置完毕。
启动Spark前,先启动Hadoop:
hadoop@tinylcy:/usr/local/hadoop$ sbin/start-all.sh
然后启动Spark:
hadoop@tinylcy:/opt/spark$ sbin/start-all.sh
切换到Spark的bin目录,进入交互模式:
hadoop@tinylcy:/opt/spark$ bin/spark-shell
测试:
scala> val textFile=sc.textFile("hdfs://localhost:9000/user/hadoop/input/words.txt")
scala> val count=textFile.flatMap(line=>line.split(" ")).map(word=>(word,1)).reduceByKey(_+_)
scala> count.collect()
先把Spark跑起来,然后慢慢研究。
标签:
原文地址:http://www.cnblogs.com/Murcielago/p/4657501.html