Spark2.0.2 Hadoop2.6.4全分布式配置详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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找对应版本
以上是关于Spark2.0.2 Hadoop2.6.4全分布式配置详解的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu14.04或16.04下安装JDK1.8+Scala+Hadoop2.7.3+Spark2.0.2
[0008] Windows 7 下 eclipse 的hadoop2.6.4 插件安装使用
[整理]Centos6.5 + hadoop2.6.4环境搭建