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
需要下载预编译版本
我当时直接从花圈的地方复制链接,然后迅雷下载,去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的启动真的好慢。
下面关于Hadoop的文章您也可能喜欢,不妨看看: