一、环境
CentOS-6.8-x86_64/jdk1.8/spark-2.3.1-bin-hadoop2.6.tgz
二、组建方案:
-----1--------2--------3-------4-------5-------- -----N1-----N2-------D-------D------D-------- -----R1------R2-------Z-------Z-------Z-------- -----Hi-------Hi--------------------------------- -----M-------W-------W------------------------ N:namenode/D:datanode/Z:zookeeper/R:resourcemanager/Hi:hive/M:spark master/W:spark slave
三、环境变量
/etc/profile export JAVA_HOME=/usr/local/runtime/jdk export HADOOP_PREFIX=/usr/local/runtime/hadoop export HIVE_HOME=/usr/local/runtime/hive export HBASE_HOME=/usr/local/runtime/hbase export ZOOKEEPER_HOME=/usr/local/runtime/zookeeper export JRE_HOME=/usr/local/runtime/jdk/jre export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNAMENODE_USER=root export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$HADOOP_PREFIX/bin:$HIVE_HOME/bin:$HBASE_HOME/bin:$HADOOP_PREFIX/sbin
/etc/hosts 192.168.2.71 spark1 192.168.2.72 spark2 192.168.2.73 spark3 192.168.2.74 spark4 192.168.2.75 spark5
四、搭建集群
1、standlone方式
步骤一:解压文件 改名 tar -zxvf spark-2.3.1-bin-hadoop2.6.tgz -C /usr/local/runtime mv spark-2.3.1-bin-hadoop2.6 spark-2.3.1 步骤二:修改配置文件 1、修改slaves cd /usr/local/spark-1.6.0/conf cp slaves.template slaves vi slaves ---------------------------- spark1 spark2 ---------------------------- 2、修改 spark-config.sh 设置java_home cd spark-2.3.1/sbin export JAVA_HOME=/usr/local/runtime/jdk 3、spark-env.sh mv spark-env.sh.template spark-env.sh vi spark-env.sh #SPARK_MASTER_HOST:master的HOSTNAME export SPARK_MASTER_HOST=spark1 #SPARK_MASTER_PORT:提交任务的端口,默认是7077 export SPARK_MASTER_PORT=7077 #SPARK_WORKER_CORES:每个worker从节点能够支配的core的个数 export SPARK_WORKER_CORES=2 #SPARK_WORKER_MEMORY:每个worker从节点能够支配的内存数 export SPARK_WORKER_MEMORY=3g #SPARK_MASTER_WEBUI_PORT:sparkwebUI端口 默认8080 或者修改spark-master.sh export SPARK_MASTER_WEBUI_PORT=8080 步骤三、分发spark到另外两个节点 scp -r spark-1.6.0 root@spark2:`pwd` scp -r spark-1.6.0 root@spark3:`pwd` 步骤四:启动集群(注意与hadoop冲突,带路径使用) spark-1.6.0/sbin/start-all.sh 步骤五:关闭集群 spark-1.6.0/sbin/stop-all.sh 步骤六:执行代码 (非集群模式) spark-2.3.1/bin/spark-submit --master spark://spark1:7077 --class we.we.WordCount c.jar 10000 (集群模式) spark-2.3.1/bin/spark-submit --master spark://spark1:7077 --deploy-mode cluster--class we.we.WordCount c.jar 10000 步骤七:客户端执行方式 复制现有配置的spark-2.3.1(原配置不做修改)及环境到新机 (非集群模式) spark-2.3.1/bin/spark-submit --master spark://spark1:7077 --class we.we.WordCount c.jar 10000 (集群模式) spark-2.3.1/bin/spark-submit --master spark://spark1:7077 --deploy-mode cluster --class we.we.WordCount c.jar 10000
-----------------------------------------
注意所有“集群提交模式”:必须保证集群每台机器都有jar文件,否则报错java.nio.file.NoSuchFileException: c.jar。对于jar文件存放在hdfs中的不会报错
master界面:端口默认8080/ job界面,端口是4040:
----------------------------------------------
2、Yarn方式
注意:如果数据来源于HDFS或者需要使用YARN提交任务,那么spark需要依赖HDFS,否则两者没有联系
如果不使用客户端方式提交hdfs或yarn,则在集群每台机器上做以下配置,也可以(根据具体情况配置)
一、在spark在客户端中----提交hdfs文件----或----使用yarn提交任务----的配置:
vi spark-2.3.1/conf/ spark-env.sh 添加配置 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop 提交任务: (非集群模式) spark-2.3.1/bin/spark-submit --master yarn --class we.we.WordCount c.jar 10000 (集群模式) spark-2.3.1/bin/spark-submit --master yarn --deploy-mode cluster --class we.we.WordCount c.jar 10000 spark-2.3.1/bin/spark-submit --master yarn-cluster --class we.we.WordCount c.jar 10000
二、使用spark-shell
SparkShell是Spark自带的一个快速原型开发工具,也可以说是Spark的scala REPL(Read-Eval-Print-Loop),即交互式shell。支持使用scala语言来进行Spark的交互式编程。
1、运行
步骤一:启动standalone集群和HDFS集群(spark1上HDFS伪分布),之后启动spark-shell /usr/local/spark-1.6.0/bin/spark-shell --master spark://spark1:7077 步骤二:运行wordcount scala>sc.textFile("hdfs://spark1:8082/spark/test/wc.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).foreach(println)
2、配置historyServer
步骤一: 临时配置,对本次提交的应用程序起作用 [root@spark04 bin]# spark-1.6.0/bin/spark-shell --master spark://spark1:7077 --name myapp1 --conf spark.eventLog.enabled=true --conf spark.eventLog.dir=hdfs://spark1:8082/spark/test 注意:停止程序,在Web UI中Completed Applications对应的ApplicationID中能查看history 步骤二: spark-default.conf配置文件中配置HistoryServer,对所有提交的Application都起作用 如果想看历史事件日志,可以新搭建一个HistoryServer专门用来看历史应用日志,跟当前的集群没有关系, 这里我们新启动客户端spark4节点,进入../spark-1.6.0/conf/spark-defaults.conf最后加入: //开启记录事件日志的功能 spark.eventLog.enabled true //设置事件日志存储的目录 spark.eventLog.dir hdfs://PCS102:9820/spark/test //设置HistoryServer加载事件日志的位置 恢复查看 spark.history.fs.logDirectory hdfs://PCS102:9820/spark/test //日志优化选项,压缩日志 spark.eventLog.compress true
相关推荐
hadoop-3.0.0.jar安装包;spark-2.4.0.gz安装包;scala-2.13.3.zip安装包;apache-maven-3.6.3-bin.zip安装包
spark-3.1.2.tgz版本 & spark-3.1.2-bin-hadoop2.7.tgz版本
【Spark大数据习题】习题_Spark SQL&&&Kafka&& HBase&&HivePDF资源路径-Spark2PDF资源路径-Spark2
本文档详细的介绍了spark的shell启动命令,具体细节等要求
ubuntu16.04_spark2.2.1集群搭建------------------------------------------------------------------------------------------------------------------
毕业设计&课设--毕业设计源码-基于Spark的Kmeans聚类算法优化
3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--IDEA搭建及实战.pdf 4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介...
Spark安装包:spark-3.1.3-bin-without-hadoop.tgz
内容概要:由于cdh6.3.2的spark版本为2.4.0,并且spark-sql被阉割,现基于cdh6.3.2,scala2.12.0,java1.8,maven3.6.3,,对spark-3.2.2源码进行编译 应用:该资源可用于cdh6.3.2集群配置spark客户端,用于spark-sql
3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--IDEA搭建及实战.pdf 4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介...
毕业设计&课设--就业推荐系统 spark ml 推荐系统 协同过滤 招聘平台 爬虫 毕业设计 大数据技术 招聘信息
3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--IDEA搭建及实战.pdf 4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介...
Spark standalone 分布式集群搭建,Spark standalone运行模式,Spark Standalone运行架构解析---Spark基本工作流程,Spark Standalone运行架构解析---Spark local cluster模式
3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--IDEA搭建及实战.pdf 4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介...
文件名: spark-3.4.1-bin-hadoop3.tgz 这是 Apache Spark 3.4.1 版本的二进制...Spark 是一种快速、通用的集群计算系统,用于大规模数据处理。这个文件包含了所有必要的组件,可以直接下载并在 Hadoop 3 环境中使用。
3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--IDEA搭建及实战.pdf 4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介...
基于Linux平台下的Hadoop和Spark集群搭建研究.pdf
1.Spark及其生态圈简介.pdf2.Spark编译与部署(上)--基础环境搭建.pdf2.Spark编译与部署(下)--Spark编译安装.pdf2.Spark编译与部署(中)--Hadoop编译安装.pdf3.Spark编程模型(上)--概念及SparkShell实战.pdf3....
Spark集群及开发环境搭建,适合初学者,一步一步并配有截图。 目录 一、 软件及下载 2 二、 集群环境信息 2 三、 机器安装 2 1. 安装虚拟机VirtualBox 2 2. 安装CentOs7 2 四、 基础环境搭建(hadoop用户下)...
Spark 这个诞生了7年的开源框架已经成为了今天大数据市场上最炙手可热的词汇。而即将到来的Spark 2.0 将会成为这个项目的一个重大的里程碑。也许你会感兴趣新的版本中那些激动人心的特性:DataFrame、SparkR、...