utc wordpress,刷关键词排名seo,深圳app定制开发报价单,腾讯体育Spark的本地安装配置#xff1a;
我们用scala语言编写和操作spark#xff0c;所以先要完成scala的环境配置
1、先完成Scala的环境搭建
下载Scala插件#xff0c;创建一个Maven项目#xff0c;导入Scala依赖和插件 scala依赖
dependencygroupIdorg.scal…Spark的本地安装配置
我们用scala语言编写和操作spark所以先要完成scala的环境配置
1、先完成Scala的环境搭建
下载Scala插件创建一个Maven项目导入Scala依赖和插件 scala依赖
dependencygroupIdorg.scala-lang/groupIdartifactIdscala-library/artifactIdversion2.11.12/version/dependencydependencygroupIdorg.scala-lang/groupIdartifactIdscala-compiler/artifactIdversion2.11.12/version/dependencydependencygroupIdorg.scala-lang/groupIdartifactIdscala-reflect/artifactIdversion2.11.12/version/dependency
scala插件
buildpluginsplugingroupIdorg.scala-tools/groupIdartifactIdmaven-scala-plugin/artifactIdversion2.15.2/versionexecutionsexecutiongoalsgoalcompile/goalgoaltestCompile/goal/goals/execution/executions/plugin/plugins/build
2、导入spark-core依赖
!--导入spark-core依赖--dependencygroupIdorg.apache.spark/groupIdartifactIdspark-core_2.11/artifactIdversion2.4.5/version/dependency 3、使用spark--(代码操作)
以下是用spark处理单词统计任务
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}object Demo1WordCount {def main(args: Array[String]): Unit {//1、创建spark的执行环境val conf new SparkConf()//设置运行模式conf.setMaster(local)conf.setAppName(wc)val sc new SparkContext(conf)//2、读取数据//RDD:弹性的分布式数据集相当于Listval linesRDD: RDD[String] sc.textFile(data/lines.txt)//一行转换多行val wordsRDD: RDD[String] linesRDD.flatMap(_.split(,))val kvRD: RDD[(String, Int)] wordsRDD.map(word (word, 1))//统计单词的数量val countRDD: RDD[(String, Int)] kvRD.reduceByKey((x, y) x y)//保存结果countRDD.saveAsTextFile(data/word_count)}
}
搭建Spark独立集群
## 1、独立集群 Spark自己搭建一个资源管理框架不依赖yarn### 1、上传解压配置环境变量shell
# 家业安装包
tar -xvf spark-3.1.3-bin-hadoop3.2.tgz -C /usr/local/soft
# 重命名解压目录
mv spark-3.1.3-bin-hadoop3.2/ spark-3.1.3# 配置环境变量
vim /etc/profileexport SPARK_HOME/usr/local/soft/spark-3.1.3
export PATH$PATH:$SPARK_HOME/binsource /etc/profile
### 2、修改配置文件shell
# 1、修改spark-env.sh
cd /usr/local/soft/spark-3.1.3/conf/
mv spark-env.sh.template spark-env.sh
# 在spark-env.sh中增加配置
export HADOOP_CONF_DIR/usr/local/soft/hadoop-3.1.1/etc/hadoop
export SPARK_MASTER_HOSTmaster
export SPARK_MASTER_PORT7077
export SPARK_WORKER_CORES2
export SPARK_WORKER_MEMORY4G
export JAVA_HOME/usr/local/soft/jdk1.8.0_171# 2、修改workers
mv workers.template workers# 增加配置
node1
node2# 3、同步到所有节点
cd /usr/local/soft/
scp -r spark-3.1.3/ node1:pwd
scp -r spark-3.1.3/ node2:pwd
### 3、启动集群shell
# 启动集群
cd /usr/local/soft/spark-3.1.3/sbin
./start-all.sh # spark webUI
http://master:8080
### 4、提交任务shell
# 进入样例代码所在的目录
/usr/local/soft/spark-3.1.3/examples/jars# 提交任务
spark-submit --master spark://master:7077 --class org.apache.spark.examples.SparkPi spark-examples_2.12-3.1.3.jar 100# 代码提交到集群运行方式
#1、注释local
#2、修改数据路径改成HDFS的路径输入输出目录都需要修改i
#3、将代码打包上传到服务器运行
# 提交任务
spark-submit --master spark://master:7077 --class com.company.core.Demo15Submit spark-1.0-SNAPSHOT.jar
## 2、Spark on Yarn yarn是一个分布式资源管理管家负责管理集群的CPU和内存### 1、关闭独立集群shell
# 进入spark脚本目录
cd /usr/local/soft/spark-3.1.3/sbin
./stop-all.sh
### 2、启动hadoopshell
start-all.sh
### 3、提交任务shell
# --num-executors 2: 指定Executor的数量
# --executor-cores 1 : 指定executor的核数
# --executor-memory 2G 指定executoe的内存# yarn client模式
# 1、会在本地打印详细的执行日志可以看到全部执行错误日志
# 2、一般用于测试使用如果大量的任务都使用client模式去提交会导致本地节点压力大
# 3、client模式Driver、在本地启动所以再本地可以看详细日志
spark-submit --master yarn --deploy-mode client --num-executors 2 --executor-cores 1 --executor-memory 2G --class com.company.core.Demo15Submit spark-1.0-SNAPSHOT.jar# yarn cluster模式
# 1、在本地不打印详细的执行日志只能看到部分错误日志
# 2、任务执行报错会重试一次
# 3、一般用于上线使用Driver是随机节点不会导致某一个系欸但压力大
# 4、Driver不在本地启动所在再本地看不到详细日志
spark-submit --master yarn --deploy-mode cluster --num-executors 2 --executor-cores 1 --executor-memory 2G --class com.company.core.Demo15Submit spark-1.0-SNAPSHOT.jar# 获取yarn任务的详细日志
yarn logs -applicationId [appid]spark-submit --master yarn --deploy-mode client --class org.apache.spark.examples.SparkPi spark-examples_2.12-3.1.3.jar 100