Spark2.0.2 Hadoop2.6.4全分布式配置详解

一、Scala安装

  下载目录http://www.scala-lang.org/download/ 

  修改/etc/profile。

export SCALA_HOME=/usr/local/scala/scala-2.0.2
export PATH=/usr/local/scala/scala-2.0.2/bin:$PATH

 然后测试

scala -version
Scala code runner version 2.0.2-- Copyright 2002-2013, LAMP/EPFL

  

二、安装Spark

官网下载地址:http://spark.apache.org/downloads.html 
需要下载预编译版本 

  我当时直接从花圈的地方复制链接,然后迅雷下载,去linux下tar解压,一直不行,高了几个小时,后来我仔细看了看发现才17k,也用了tgz解压工具在win下也是打不开,说是未知类型,感觉下载有问题,需要点击

2.1 spark-env.sh

安装后,需要在 ./conf/spark-env.sh 中修改 Spark 的 Classpath,执行如下命令拷贝一个配置文件:

cp ./conf/spark-env.sh.template ./conf/spark-env.sh

  这样就有了spark-env.sh,否则只有.template。

编辑 ./conf/spark-env.sh(gedit ./conf/spark-env.sh) ,在最后面加上如下(里面的具体路径我没改动):

export JAVA_HOME=/usr/local/java/jdk1.8.0_73
export SCALA_HOME=/usr/local/scala/scala-2.11.7
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SPARK_MASTER_IP=192.168.58.180
export SPARK_WORKER_INSTANCES=2  #删掉
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_CORES=1
export SPARK_HOME=/usr/local/spark
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)

2.2 slaves

然后修改slaves

cd conf/
cp slaves.template slaves
vim slaves

#insert
CentOSMaster
StandByNameNode

  吧同样的配置拷贝到StandByNameNode上,这样启动spark后发现有四个worker,webui上显示每台有两个worker,然后启动spark shell时候提示SPARK_WORKER_INSTANCES他已经废弃,中间改成EXECTOR就好,我看其他人没配置,我直接删除了,然后就是两个worker了,jps看到一个Master和一个Worker,否则是两个Worker。

2.3 spark-defaults.conf

cp  spark-defaults.conf.template  spark-defaults.conf

#加入
spark.executor.extraJavaOptions     -XX:+PrintGCDetails -DKey=value -Dnumbers="one two three"
spark.eventLog.enabled              true
spark.eventLog.dir                  hdfs://CentOSMaster:8020/historyserverforSpark
spark.yarn.historySever.address     Master:18080
spark.history.fs.logDirectory       hdfs://CentOSMaster:8020/historyserverforSpark

  在hdfs上穿件历史服务器文件夹

hdfsdfs -mkdir /historyserverforSpark

  否则打不开18080,开启的时候不提示,关闭的时候提示没有historyserver来关闭。

  hadoop的历史服务器是JHistoryServer,Spark的服务器是HistoryServer。

三、测试Spark

sbin目录下
start-all.sh
./start-history-server.sh

  启动之前需要启动hadoop的dfs和yarn。

bin/spark-shell

    注意后边没有.sh

出现scala>时说明成功。

    在浏览器中输入192.168.10.1:8080时,会看到如下图,有两个Worker

在浏览器中输入192.168.10.1:4040(必须先启动spark-shell,否则打不开4040)

出现如图:

 四、总结

  spark-shell的启动真的好慢。

 五、补充配置

5.1 环境配置

  拷贝hadoop配置文件至${SPARK_HOME}/conf目录下

  需要在/etc/profile下配置了SPARK_HOME

cp $HADOOP_HOME/etc/hadoop/core-site.xml $SPARK_HOME/conf/
cp $HADOOP_HOME/etc/hadoop/hdfs-site.xml $SPARK_HOME/conf/

  同时更改classpath

export SPARK_HOME=/root/workspace/software/spark1.6.1_hadoop2.6/
export PATH=$PATH:XXX其他软件的环境变量:$SPARK_HOME/bin# 在最后添加:$SPARK_HOME/bin
或者
PATH=$PATH:/home/....spark..../bin

5.2 spark.yarn.archive

存放的是spark安装目录下jars中的jar包,用来存放运行spark所需的jar包,

spark-defaults.conf中

spark.yarn.archive      hdfs://master:8020/sparkjars  

5.3 spark.local.dir

Spark中暂存空间的使用目录。在Spark1.0以及更高的版本中,这个属性被SPARK_LOCAL_DIRS(Standalone, Mesos)和LOCAL_DIRS(YARN)环境变量覆盖。

5.4

六、此外

win下配置winutils和hadoop.dll找对应版本

 

posted @ 2016-11-20 16:03  加拿大小哥哥  阅读(303)  评论(0编辑  收藏  举报