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

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
需要下载预编译版本

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

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

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

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>时说明成功。

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

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

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

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

出现如图:

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

 四、总结
  spark-shell的启动真的好慢。

下面关于Hadoop的文章您也可能喜欢,不妨看看:

相关推荐