Sparkhive on yarn配置怎么配置的

豆丁微信公众号
君,已阅读到文档的结尾了呢~~
spark on yarn环境搭建
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
spark on yarn环境搭建
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口后使用快捷导航没有帐号?
查看: 10048|回复: 5
Spark on YARN怎么配置的?
论坛徽章:16
本帖最后由 peter_zhang921 于
17:39 编辑
老师第一堂课只讲了Spark standalone 集群配置,第三次课演示的Spark on YARN的运行方式,具体配置要怎么做啊,有同学能分享下经验吗
设置了环境变量_CONF_DIR#!/usr/bin/env bash
export HADOOP_HOME=/opt/hadoop-2.2.0
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_JAR=hdfs://ubuntu0:8000/jar/spark/spark-assembly-1.0.0-hadoop2.2.0.jar
SPARK_EXECUTOR_INSTANCES=4
SPARK_EXECUTOR_CORES=1
SPARK_EXECUTOR_MEMORY=1G
SPARK_DRIVER_MEMORY=2G
SPARK_YARN_APP_NAME=&Spark 1.0.0&
export SPARK_MASTER_IP=ubuntu0
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=2
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=2g
export _HOME=/usr/java/jdk1.7
export SPARK_HOME=/opt/spark100复制代码
/etc/profile
export JAVA_HOME=/usr/java/jdk1.7
export HADOOP_HOME=/opt/hadoop-2.2.0
#export HADOOP_HOME=/opt/hadoop-1.2.1
export HADOOP_CONF_DIR=/opt/hadoop-2.2.0/etc/hadoop
export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH复制代码
bin/spark-shell --master yarn-client --executor-memory 1g --num-executors 3
废解啊,为什么找不到这个类呢
Exception in thread &main& java.lang.NoClassDefFoundError: org/apache/spark/deploy/yarn/ExecutorLauncher
Caused by: java.lang.ClassNotFoundException: org.apache.spark.deploy.yarn.ExecutorLauncher
& && &&&at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
& && &&&at java.security.AccessController.doPrivileged(Native Method)
& && &&&at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
& && &&&at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
& && &&&at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
& && &&&at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.spark.deploy.yarn.ExecutorLauncher.&&Program will exit.复制代码
论坛徽章:12
你的节点上有没有安装spark和scala?因为为了方便,在演示的虚拟集群中都已经安装了spark和scala,所以在程序打包的时候就没有将spark和scala相应的JAR包打进去。看你的提示应该是spark的开发包找不到造成的。
论坛徽章:16
本帖最后由 peter_zhang921 于
17:48 编辑
mmicky 发表于
你的节点上有没有安装spark和scala?因为为了方便,在演示的虚拟集群中都已经安装了spark和scala,所以在程 ...
安装了Spark,
Scala需要每个节点都装吗?
详细的日志如下,前面的那个Class not found 是Yarn Resource Manager里面的
14/07/28 17:43:21 INFO spark.SecurityManager: Changing view acls to: peter
14/07/28 17:43:21 INFO spark.SecurityManager: SecurityManager: aut users with view permissions: Set(peter)
14/07/28 17:43:22 INFO slf4j.Slf4jLogger: Slf4jLogger started
14/07/28 17:43:22 INFO Remoting: Starting remoting
14/07/28 17:43:23 INFO Remoting: R listening on addresses :[akka.tcp://spark@ubuntu0:34340]
14/07/28 17:43:23 INFO Remoting: Remoting now listens on addresses: [akka.tcp://spark@ubuntu0:34340]
14/07/28 17:43:23 INFO spark.SparkEnv: Registering MapOutputTracker
14/07/28 17:43:23 INFO spark.SparkEnv: Registering BlockManagerMaster
14/07/28 17:43:23 INFO storage.DiskBlockManager: Created local directory at /tmp/spark-local-23-fdcf
14/07/28 17:43:23 INFO storage.MemoryStore: MemoryStore started with capacity 1178.1 MB.
14/07/28 17:43:23 INFO network.ConnectionManager: Bound socket to port 35790 with id = ConnectionManagerId(ubuntu0,35790)
14/07/28 17:43:23 INFO storage.BlockManagerMaster: Trying to register BlockManager
14/07/28 17:43:23 INFO storage.BlockManagerInfo: Registering block manager ubuntu0:35790 with 1178.1 MB RAM
14/07/28 17:43:23 INFO storage.BlockManagerMaster: Registered BlockManager
14/07/28 17:43:23 INFO spark.HttpServer: Starting HTTP Server
14/07/28 17:43:23 INFO server.Server: jetty-8.y.z-SNAPSHOT
14/07/28 17:43:23 INFO server.AbstractConnector: Started SocketConnector@0.0.0.0:36609
14/07/28 17:43:23 INFO broadcast.HttpBroadcast: Broadcast server started at http://192.168.1.100:36609
14/07/28 17:43:23 INFO spark.HttpFileServer: HTTP File server directory is /tmp/spark-fd521516-aeec-48c6-87be-a
14/07/28 17:43:23 INFO spark.HttpServer: Starting HTTP Server
14/07/28 17:43:23 INFO server.Server: jetty-8.y.z-SNAPSHOT
14/07/28 17:43:24 INFO server.AbstractConnector: Started SocketConnector@0.0.0.0:35794
14/07/28 17:43:29 INFO server.Server: jetty-8.y.z-SNAPSHOT
14/07/28 17:43:29 INFO server.AbstractConnector: Started SelectChannelConnector@0.0.0.0:4040
14/07/28 17:43:29 INFO ui.SparkUI: Started SparkUI at http://ubuntu0:4040
14/07/28 17:43:31 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
--args is deprecated. Use --arg instead.
14/07/28 17:43:32 INFO client.RMProxy: Connecting to ResourceManager at ubuntu0/192.168.1.100:8032
14/07/28 17:43:32 INFO yarn.Client: Got Cluster metric info from ApplicationsManager (ASM), number of NodeManagers: 3
14/07/28 17:43:32 INFO yarn.Client: Queue info ... queueName: default, queueCurrentCapacity: 0.0, queueMaxCapacity: 1.0,
& && &queueApplicationCount = 7, queueChildQueueCount = 0
14/07/28 17:43:32 INFO yarn.Client: Max mem capabililty of a single resource in this cluster 8192
14/07/28 17:43:32 INFO yarn.Client: Preparing Local resources
14/07/28 17:43:33 INFO yarn.Client: Setting up the launch environment
14/07/28 17:43:33 INFO yarn.Client: Setting up container launch context
14/07/28 17:43:34 INFO yarn.Client: Command for starting the Spark ApplicationMaster: List($JAVA_HOME/bin/java, -server, -Xmx2048m, -Djava.io.tmpdir=$PWD/tmp, -Dspark.tachyonStore.folderName=\&spark-1f0-456f-b4a8-8d97f8151877\&, -Dspark.executor.memory=\&1g\&, -Dspark.executor.instances=\&3\&, -Dspark.yarn.secondary.jars=\&\&, -Dspark.home=\&/opt/spark100\&, -Dspark.repl.class.uri=\&http://192.168.1.100:36187\&, -Dspark.driver.host=\&ubuntu0\&, -Dspark.app.name=\&Spark shell\&, -Dspark.jars=\&\&, -Dspark.fileserver.uri=\&http://192.168.1.100:35794\&, -Dspark.master=\&yarn-client\&, -Dspark.driver.port=\&34340\&, -Dspark.httpBroadcast.uri=\&http://192.168.1.100:36609\&,&&-Dlog4j.configuration=log4j-spark-container.properties, org.apache.spark.deploy.yarn.ExecutorLauncher, --class, notused, --jar , null,&&--args&&'ubuntu0:34340' , --executor-memory, 1024, --executor-cores, 1, --num-executors , 4, 1&, &LOG_DIR&/stdout, 2&, &LOG_DIR&/stderr)
14/07/28 17:43:34 INFO yarn.Client: Submitting application to ASM
14/07/28 17:43:34 INFO impl.YarnClientImpl: Submitted application application_4_0008 to ResourceManager at ubuntu0/192.168.1.100:8032
14/07/28 17:43:34 INFO cluster.YarnClientSchedulerBackend: Application report from ASM:
& & & &&&appMasterRpcPort: 0
& & & &&&appStartTime: 1
& & & &&&yarnAppState: ACCEPTED
14/07/28 17:43:35 INFO cluster.YarnClientSchedulerBackend: Application report from ASM:
& & & &&&appMasterRpcPort: 0
& & & &&&appStartTime: 1
& & & &&&yarnAppState: ACCEPTED
14/07/28 17:43:36 INFO cluster.YarnClientSchedulerBackend: Application report from ASM:
& & & &&&appMasterRpcPort: 0
& & & &&&appStartTime: 1
& & & &&&yarnAppState: ACCEPTED
14/07/28 17:43:37 INFO cluster.YarnClientSchedulerBackend: Application report from ASM:
& & & &&&appMasterRpcPort: 0
& & & &&&appStartTime: 1
& & & &&&yarnAppState: FAILED
org.apache.spark.SparkException: Yarn application already ended,might be killed or not able to launch application master.
& & & & at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.waitForApp(YarnClientSchedulerBackend.scala:105)
& & & & at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:82)
& & & & at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:136)
& & & & at org.apache.spark.SparkContext.&init&(SparkContext.scala:318)
& & & & at org.apache.spark.repl.SparkILoop.createSparkContext(SparkILoop.scala:957)
& & & & at $iwC$iwC.&init&(&console&:8)
& & & & at $iwC.&init&(&console&:14)
& & & & at &init&(&console&:16)
& & & & at .&init&(&console&:20)
& & & & at .&clinit&(&console&)
& & & & at .&init&(&console&:7)
& & & & at .&clinit&(&console&)
& & & & at $print(&console&)
& & & & at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
& & & & at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
& & & & at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
& & & & at java.lang.reflect.Method.invoke(Method.java:606)
& & & & at org.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:788)
& & & & at org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1056)
& & & & at org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:614)
& & & & at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:645)
& & & & at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:609)
& & & & at org.apache.spark.repl.SparkILoop.reallyInterpret$1(SparkILoop.scala:796)
& & & & at org.apache.spark.repl.SparkILoop.interpretStartingWith(SparkILoop.scala:841)
& & & & at org.apache.spark.repl.SparkILoop.command(SparkILoop.scala:753)
& & & & at org.apache.spark.repl.SparkILoopInit$anonfun$initializeSpark$1.apply(SparkILoopInit.scala:121)
& & & & at org.apache.spark.repl.SparkILoopInit$anonfun$initializeSpark$1.apply(SparkILoopInit.scala:120)
& & & & at org.apache.spark.repl.SparkIMain.beQuietDuring(SparkIMain.scala:263)
& & & & at org.apache.spark.repl.SparkILoopInit$class.initializeSpark(SparkILoopInit.scala:120)
& & & & at org.apache.spark.repl.SparkILoop.initializeSpark(SparkILoop.scala:56)
& & & & at org.apache.spark.repl.SparkILoop$anonfun$process$1$anonfun$apply$mcZ$sp$5.apply$mcV$sp(SparkILoop.scala:913)
& & & & at org.apache.spark.repl.SparkILoopInit$class.runThunks(SparkILoopInit.scala:142)
& & & & at org.apache.spark.repl.SparkILoop.runThunks(SparkILoop.scala:56)
& & & & at org.apache.spark.repl.SparkILoopInit$class.postInitialization(SparkILoopInit.scala:104)
& & & & at org.apache.spark.repl.SparkILoop.postInitialization(SparkILoop.scala:56)
& & & & at org.apache.spark.repl.SparkILoop$anonfun$process$1.apply$mcZ$sp(SparkILoop.scala:930)
& & & & at org.apache.spark.repl.SparkILoop$anonfun$process$1.apply(SparkILoop.scala:884)
& & & & at org.apache.spark.repl.SparkILoop$anonfun$process$1.apply(SparkILoop.scala:884)
& & & & at scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135)
& & & & at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:884)
& & & & at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:982)
& & & & at org.apache.spark.repl.Main$.main(Main.scala:31)
& & & & at org.apache.spark.repl.Main.main(Main.scala)
& & & & at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
& & & & at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
& & & & at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
& & & & at java.lang.reflect.Method.invoke(Method.java:606)
& & & & at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:292)
& & & & at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:55)
& & & & at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Spark context available as sc.复制代码
论坛徽章:12
如果没安安装scala和spark的话,可以将应用程序打包的时候将这相关的几个jar包一起打进去。在视频中是特意删除了的,
论坛徽章:16
本帖最后由 peter_zhang921 于
18:27 编辑
mmicky 发表于
如果没安安装scala和spark的话,可以将应用程序打包的时候将这相关的几个jar包一起打进去。在视频中是特意删 ...
现在scala和spark都装好了
spark standalone能正常启动
现在是yarn-client的形式运行的,没提交任何包bin/spark-shell --master yarn-client --executor-memory 1g --num-executors 3
dataguru.cn All Right Reserved.
扫一扫加入本版微信群Spark2.0.1 on yarn with hue 集群搭建部署(二)spark on yarn搭建
spark on yarn搭建
一、hadoop集群搭建
如未指出,以下用户均以hadoop用户运行命令
cd /data/soft
tar –xvzf hadoop-2.6.5.tar.gz –C /bigdata
mv hadoop-2.6.5 hadoop
修改配置 hadoop-env.sh文件
cd /bigdata/hadoop/etc/hadoop
vim hadoop-env.sh
export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/bigdata/jdk
保存退出。
修改配置文件core-site.xml
vim core-site.xml
添加如下:
&fs.defaultFS&
&hdfs://bigdata1:8020&
&hadoop.tmp.dir&
&/bigdata/hadoop/storage/tmp/${user.name}&
修改hdfs-site.xml文件
vim hdfs-site.xml
添加内容如下:
&dfs.namenode.name.dir&
&/bigdata/hadoop/storage/name/${user.name},/data/dfs-storage/name/${user.name}&
&dfs.datanode.data.dir&
&/bigdata/hadoop/storage/data/${user.name}&
&dfs.replication&
&dfs.secondary.http.address&
&bigdata1:50090&
&dfs.namenode.http-address&
&bigdata1:50070&
如果你的服务器挂载了两块硬盘可以设置两个路径,以逗号隔开,这样namenode的数据将保存两份,如果其中一份硬盘坏了,便可使用备份的数据进行恢复。
修改mapred-site.xml 文件
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
修改内容如下:
&mapreduce.framework.name&
修改yarn-site.xml文件
vim yarn-site.xml
添加内容如下:
&yarn.resourcemanager.hostname&
&bigdata1&
&yarn.nodemanager.aux-services&
&mapreduce_shuffle&
修改salves文件
vim salves
添加内容如下:
修改日志存储路径
vim $HADOOP_HOME/etc/hadoop
修改HADOOP_LOG_DIR为:
export HADOOP_LOG_DIR=/data/logs/hadoop
将hadoop-2.6.5文件夹复制到bigdata2、bigdata3、bigdata4节点中去
cd /bigdata
scp –r hadoop hadoop@bigdata2:$PWD
scp –r hadoop hadoop@bigdata3:$PWD
scp –r hadoop hadoop@bigdata4:$PWD
设置环境变量
在bigdata1服务器执行如下命令:
sudo vim /etc/profile
添加如下内容:
export HADOOP_HOME=/bigdata/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
格式化namenode
hadoop namenode -format
1)、验证hdfs
在bigdata1启动hdfs,输入命令:
start-dfs.sh
然后输入:
在bigdata2、bigdata3、bigdata4输入命令:
测试文件上传:
输入一些单词,以空格隔开。保存上传至hdfs中。
hadoop fs –put test /
hadoop fs –ls /
2)、验证yarn
在bigdata1启动yarn,使用命令:
start-yarn.sh
出入jps命令查看进程:
在bigdata2、bigdata3、bigdata4输入jps命令可查看到:
3)、mapreduce测试
cd $HADOOP_HOME
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar wordcount /test /testout
二、scala安装
由于livy仅支持scala2.10版本编译的spark,所以scala版本选择为scala2.10.6。
cd /date/soft
tar -xvf scala-2.10.6.tgz -C /bigdata
mv scala-2.10.6 scala
配置环境变量
sudo vim /etc/profile
文件末尾添加:
export SCALA_HOME=/bigdata/scala
export PATH=$PATH:$SCALA_HOME/bin
保存退出。
source /etc/profile
安装Apache-Maven
cd /data/soft
tar -xvzf apache-maven-3.3.9-bin.tar.gz -C /bigdata
mv apache-maven-3.3.9 maven
设置环境变量
sudo vim /etc/profile
在文件末尾添加:
export MAVEN_HOME=/bigdata/maven
export PATH=$PATH:$MAVEN_HOME/bin
保存退出。
source /etc/profile
mvn –version
显示如下内容:
Apache Maven 3.3.9 (bb52da5a3f4c23dc5; T00:41:47+08:00)
Maven home: /bigdata/maven
Java version: 1.7.0_79, vendor: Oracle Corporation
Java home: /bigdata/jdk/jre
Default locale: en_US, platform encoding: UTF-8
OS name: “linux”, version: “3.10.0-327.el7.x86_64”, arch: “amd64”, family: “unix”
spark on yarn编译安装
livy目前版本只支持scala2.10编译的spark版本,且spark2.0以后仅提供基于scala2.11的预编译版本,所以需基于scala2.10手动编译spark2.0.1,所以采用可联通外网的linux服务器进行编译spark,不过目前github主干上的livy已经支持scala2.11编译的spark了。
maven3.3.9
上传至本地可联网服务器/home/hadoop目录解压:
cd /data/soft
tar -xvzf spark-2.0.1.tgz -C /bigdata
mv /bigdata/spark-2.0.1 /bigdata/spark
1)、设置maven编译内存:
export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m -XX:MaxPermSize=512M"
注:如果不设置编译过程导致内存溢出。
2)、设置编译scala的版本
cd /bigdata/spark
./dev/change-version-to-2.10.sh
注:该命令将所有pom.xml文件的中scala版本依赖改成2.10版本,相应的也有change-version-to-2.11.sh的文件,该文件将所有的scala依赖更改为2.11版本。如果编译前不执行该命令,编译出错,错误如下:
3)、设置json4s的jar包版本
cd /bigdata/spark
vim pom.xml
搜索:/json4s
当spark整合livy的时候,如果不修改json4s的版本的话,由于使用默认的版本为3.2.11,导致整合失败,因此在编译过程中需要更改该jar包的版本号为3.2.10。如果使用3.2.11版本,livy整合spark错误信息如下:
4)、编译:
编译有两种方式。
cd /bigdata/spark
mvn -Psparkr -Pyarn -Phadoop-2.6 -Dhadoop.version=2.6.5 -Phive -Phive-thriftserver -Dscala-2.10 -DskipTests clean package
直接在spark目录下进行编译,这样导致的编译后的文件和源码全都在同一个包内,且编译后的jar包全部存放在各个子项目的target文件夹下,不推荐使用。
执行spark自带的编译脚本
cd /bigdata/spark
./dev/make-distribution.sh --name custom-spark --tgz -Psparkr -Pyarn -Phadoop-2.6 -Dhadoop.version=2.6.5 -Phive -Phive-thriftserver -Dscala-2.10 -DskipTests
编译结果将在编译目录下生成可分布部署的压缩包:
spark-2.0.1-bin-custom-spark.tgz
建议使用方式二进行编译。
编译参数说明:
-Psparkr:
支持sparkR
-Phadoop-2.6
支持hadoop版本
-Phadoop.version=2.6.5
支持hadoop的具体版本
-Phive-thriftserver
支持thriftserver发布sparksql server
-Dscala-2.10
基于scala编译版本
-DskipTests
编译过程忽略测试类
至此spark编译成功。
注:编译过程常常因为网络原因导致编译失败,只要重新运行编译代码即可,耐心等待,总会成功。
无法联网环境编译spark
可以在联网的环境下编译成功spark,如果采用方式二编译的spark,可以将该分布式部署包上传到不可联网的环境下进行部署。如果为了追求最佳性能,希望能在无法联网的环境下也编译成功spark,可以进行如下操作:
1)、将编译成功spark的linux环境下的maven本地仓库打包
vim $MAVEN_HOME/conf/settings.xml
查看本地仓库的位置。此处的设置为:/home/hadoop/.m2/repository
cd /home/hadoop/.m2/repository
tar –xvcf repository.spark.tar.gz repository
2)、上传至不可联网的集群服务器
a、如果本地服务器能够联通集群服务器,直接使用如下命令:
scp repository.spark.tar.gz 用户名@主机名或ip:存放路径
b、如果无法联通,可以借助secureCRT工具,从本地linux环境将相应的软件包下载至可联通集群服务器器bigdata1的系统环境中,然后借助secureCRT工具上传至集群服务器。
c、如果未安装secureCRT工具,可以使用ftp服务器进行进行拉取。首先在本地linux服务器安装ftpd服务,具体安装步骤请自行查阅资料。
本次使用方法a直接上传至集群服务器。
3)、覆盖maven仓库
查看集群maven仓库
vim $MAVEN_HOME/conf/settings.xml
未设置,未默认存储路径: $HOME/.m2/repository
将上传的到集群服务器的repository.tar.gz解压到该目录并覆盖repository:
cd $HOME/.m2
tar -xvzf /data/soft/repository.spark.tar.gz –C .
find ~/.m2/repository -name _remote.repositories |xargs rm –rf
注:如果不执行find ~/.m2/repository -name _remote.repositories |xargs rm –rf该命令直接进行编译,maven依旧会从远程服务器更新版本,而无法编译。主要是因为maven的repository中的每个jar包所在目录都会存在一个这样的文件:_maven.repositories。这个文件存放着原始repository的相关信息,由于移动了repository仓库,编译过程中,maven发现原始记录的repository信息与实际不一致,便会试着去更新相关的pom文件。
因此执行该命令,删除所有的_maven.repositories文件,便可阻止maven更新。
4)、集群编译
cd /bigdata/
tar -xvf /date/soft/spark-2.0.1.tar -C .
mv spark-2.0.1 spark
编译前的设置参照前文设置。
执行mvn命令进行编译。使用./dev/make-distribution.sh该脚本编译始终要下载些文件,导致无法编译,可能还需要拷贝maven的什么设置才行,具体没有研究。
mvn -Psparkr -Pyarn -Phadoop-2.6 -Dhadoop.version=2.6.5 -Phive -Phive-thriftserver -Dscala-2.10 -DskipTests clean package
配置spark-env.conf
cd /bigdata/spark/conf
mv spark-env.sh.template spark-env.sh
vim spark-env.sh
文件末尾添加如下内容:
export JAVA_HOME=/bigdata/jdk
export SCALA_HOME=/bigdata/scala
export HADOOP_HOME=/bigdata/hadoop
如果/etc/profile设置了也可以跳过此步骤
修改日志存储路径
vim spark-env.sh
添加以下内容:
export SPARK_LOG_DIR=/data/logs/spark
配置/etc/profile
sudo vim /etc/profile
文件末尾添加以下内容:
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib/native"
export HADOOP_PREFIX=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HDFS_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native
export SPARK_HOME=/bigdata/spark
保存退出。
source /etc/profile
cd /bigdata/spark
运行Pi测试:
./bin/spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster\
--driver-memory 2g \
--executor-memory 3g \
--executor-cores 3 \
examples/jars/spark-examples_2.10-2.0.1.jar \
主节点进程:
子节点进程:
子节点会出现ApplicationMaster、ExecutorLauncher、CoarseGraineExecutorBackend相关进程,ApplicationMaster就相当于driver端了,一个sparkContext在集群中对应生成一个ApplicationMaster。随着任务结束,进程最终消失。
输出结果:
./bin/spark-submit –class org.apache.spark.examples.SparkPi \
–master yarn \
–deploy-mode client \
–driver-memory 2g \
–executor-memory 3g \
–executor-cores 3 \
examples/jars/spark-examples_2.10-2.0.1.jar \
client模式,那spark-submit就相当于driver端了,结果可以直接在控制台看到。输出结果:
限水平有限,哪里说的不对,欢迎拍砖,相互学习,相互进步
看过本文的人也看了:
我要留言技术领域:
取消收藏确定要取消收藏吗?
删除图谱提示你保存在该图谱下的知识内容也会被删除,建议你先将内容移到其他图谱中。你确定要删除知识图谱及其内容吗?
删除节点提示无法删除该知识节点,因该节点下仍保存有相关知识内容!
删除节点提示你确定要删除该知识节点吗?

我要回帖

更多关于 大众arteon配置 的文章

 

随机推荐