软件版本Scala2.10.6。
Spark-1.6.0-bin-hadoop2.6.tgz。Javajre1.7。
注:spark依赖jre和scala。行为计算的spark集群依赖hadoop集群,所以请先部署hadoop集群。
安装前准备在每台机添加hosts(root用户)修改文件/etc/hosts,添加各节点IP和主机名映射。
安装jre。1.安装jre。2.配置环境变量。
3.验证安装是否成功,执行命令java-version查看java版本。
安装scala1.安装Scala。2.配置环境变量:
12配置SCALA_HOME,值为安装后的scalahome目录。配置PATH,添加上$SCALA_HOME/bin。
3.验证安装是否成功,执行命令scala-version,查看scala版本。
配置SSH免密码登录集群各个节点之间最好配置免密码登录。
集群的master节点到zookeeper集群节点配置免密码登录。
SPARK安装1.解压安装包到安装目录。2.配置环境变量。
12配置SPARK_HOME,值为安装后的sparkhome目录。配置PATH,添加上$SPARK_HOME/bin。
SPARK配置配置文件所在目录:sparkhome目录下conf目录下。
配置运行时环境
1.基于spark-env.sh.template复制出一份新文件spark-env.sh。2.修改spark-env.sh添加如下环境变量:exportSPARK_DAEMON_JAVA_OPTS=\"-Dspark.deploy.recoveryMode=ZOOKEEPER-Dspark.deploy.zookeeper.url=master:2181-Dspark.deploy.zookeeper.dir=/spark\"exportJAVA_HOME=/data/jdk7exportSCALA_HOME=/data/scala
exportHADOOP_CONF_DIR=/data/hadoop-2.5.2/etc/hadoopexportSPARK_LOCAL_DIRS=/data/spark/tempdatas/spark_local_dirsexportSPARK_PID_DIR=/data/spark/tempdatas/spark_local_dirs/pid各个参数变量的含义见下表,请按实际值修改:SPARK_DAEMON_JAVA_OPTS
spark.deploy.zookeeper.url
口号
zookeeper主机名和端
SPARK_DAEMON_JAVA_OPTS
SPARK_DAEMON_JAVA_OPTS
JAVA_HOMESCALA_HOMEHADOOP_CONF_DIR
SPARK_LOCAL_DIRS
SPARK_PID_DIR
DIR
spark.deploy.zookeeper.dir
java.io.tmpdir
zookeeper中存储spark元数据的目录
临时io文件目录
JAVA_HOMESCALA_HOMEHADOOP_CONF_
Java安装目录Scala安装目录Hadoop配置文件目录
SPARK_LOCAL_DIRS
SPARK_PID_DIR
位置目录
Spark运行时临时数据
Pid信息存储文件存放
功能参数配置
1.基于spark-defaults.conf.template复制出一份新的文件spark-defaults.conf2.修改spark-defaults.conf添加参数变量配置:spark.eventLog.enabledspark.eventLog.dirspark.history.fs.logDirectoryspark.deploy.retainedApplications15spark.worker.cleanup.enabledspark.worker.cleanup.intervalspark.executor.memory112gspark.driver.memory
5g
true3600true
hdfs://master:9000/spark/logshdfs://master:9000/spark/logs
spark.driver.maxResultSize4g
spark.serializerorg.apache.spark.serializer.KryoSerializerspark.executor.cores32
spark.worker.timeoutspark.network.timeoutspark.logConf
spark.eventLog.compress
300300truetrue
spark.shuffle.service.enabledtruespark.rpc.numRetries
6
spark.cleaner.ttl86400spark.executor.extraClassPath
/data/spark/hbaselib/sdk_hbase_dependency-jar-with-dependencies.jar
spark.driver.extraClassPath
/data/spark/hbaselib/sdk_hbase_dependency-jar-with-dependencies.jar
各个功能参数描述见下表,:spark.master
spark.eventLog.enabledspark.eventLog.dir
集群master所在节点名和端口号Job运行日志记录开关Job运行日志目录,
与spark.history.fs.logDirectory配置位置一致
spark.history.fs.logDirectoryspark.deploy.retainedApplicationsspark.worker.cleanup.enabledspark.worker.cleanup.intervalspark.executor.memoryspark.driver.memoryspark.driver.maxResultSize
阈值
spark.serializer
发送到网络的数据对象或者缓存的数据对象的序列化方式。
spark.executor.coresspark.worker.timeout
单个executor占用核心数Worker通信超时时间历史日志目录
WEBUI中展示的完成job数。Worker端临时文件清理开关Worker端临时文件清理间隔时间单个executor的内存占用大小Driver端内存占用大小
Driver端存储RDD的内存最大值
spark.akka.timeoutspark.network.timeoutspark.rpc.lookupTimeoutspark.rpc.askTimeoutspark.logConf
spark.eventLog.compressspark.shuffle.service.enabledspark.rpc.numRetriesspark.cleaner.ttl
间。
spark.executor.extraClassPathspark.driver.extraClassPath
Akka通信超时时间
各个节点之间网络通信超时时间Rpc通信过程查找操作超时时间Rpc通信过程请求操作超时时间自定义日志配置开关Job日志压缩开关
额外Shuffle过程守护线程开关Rpc超时后重试次数
Job元数据保留时间、RDD过期时
Executor运行时,使用的外部类库Driver运行时,使用的外部类库
slave节点配置
1.基于slaves.template复制一份新文件slaves
2.将所有计算节点(非master节点)的主机名配置到slaves文件中示例截图:
至此,单机配置完成,将spark整个目录复制到其他主机。
启动集群修改附件中start-dfs.sh、start-standbymaster.sh、stop-dfs.sh、deleteClusterMet.sh,配置正确的hostname.
将脚本文件start-dfs.sh、start-standbymaster.sh、stop-dfs.sh,复制到master节点的spark安装目录下的sbin目录下。
启动集群命令:$SPARK_HOME/sbin/start-dfs.sh。
停止集群命令:$SPARK_HOME/sbin/stop-dfs.sh。
启动日志服务:$SPARK_HOME/sbin/start-history-server.sh。启动集群验证:
WEBUI验证,通过master节点的http8080端口查看集群节点状态:主masterWEBUI截图示例:
Master备机WEBUI截图示例:
日志服务WEBUI截图示例:
因篇幅问题不能全部显示,请点此查看更多更全内容