Spark应用程序怎么部署

74次阅读
没有评论

共计 3915 个字符,预计需要花费 10 分钟才能阅读完成。

这篇文章主要介绍“Spark 应用程序怎么部署”,在日常操作中,相信很多人在 Spark 应用程序怎么部署问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spark 应用程序怎么部署”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

Spark 应用程序的部署
local
spark standalone
hadoop yarn
apache mesos
amazon ec2
spark standalone 集群部署
standalonestandalone ha
SPARK 源码编译
SBT 编译
SPARK_HADOOP_VERSION=2.2.0 SPARK_YARN=true sbt/sbt assembly
export MAVEN_OPTS= -Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m
mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests clean package
Spark 部署包生成命令 make-distribution.sh
–hadoop VERSION:hadoop 版本号 不加此参数是 hadoop 版本为 1.0.4
–with-yarn 是否支持 hadoop yarn 不加参数时为不支持
–with-hive 是否在 sparksql 中支持 hive 不加此参数为不支持 hive
–skip-tachyon 是否支持内存文件系统 Tachyon,不加此参数时不生成 tgz 文件,只生成 /dist 目录
–name NAME 和 -tgz 结合可以生成 spark-¥VERSION-bin-$NAME.tgz 的部署包,不加此参数时 NAME 为 hadoop 的版本号
部署包生成
生成支持 yarn hadoop2.2.0 的部署包
./make-distribution.sh –hadoop 2.2.0 –with-yarn –tgz
生成支持 yarn hive 的部署包
./make-distribution.sh –hadoop 2.2.0 –with-yarn –with-hive –tgz

[root@localhost lib]# ls /root/soft/spark-1.4.0-bin-hadoop2.6/lib/spark-assembly-1.4.0-hadoop2.6.0.jar
/root/soft/spark-1.4.0-bin-hadoop2.6/lib/spark-assembly-1.4.0-hadoop2.6.0.jar

[root@localhost conf]# vi slaves【slave 节点,如果伪分布就是】
localhost

[root@localhost conf]# cp spark-env.sh.template spark-env.sh
[root@localhost conf]# vi spark-env.sh 拷贝到所有节点
文件 conf/spark-env.sh
export SPARK_MASTER_IP=localhost
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK__WORKER_INSTANCES=1
export SPARK__WORKER_MEMORY=1

[root@localhost conf]# ../sbin/start-all.sh
starting org.apache.spark.deploy.master.Master, logging to /root/soft/spark-1.4.0-bin-hadoop2.6/sbin/../logs/spark-root-org.apache.spark.deploy.master.Master-1-localhost.localdomain.out
localhost: starting org.apache.spark.deploy.worker.Worker, logging to /root/soft/spark-1.4.0-bin-hadoop2.6/sbin/../logs/spark-root-org.apache.spark.deploy.worker.Worker-1-localhost.localdomain.out
localhost: failed to launch org.apache.spark.deploy.worker.Worker:
localhost:  JAVA_HOME is not set
localhost: full log in /root/soft/spark-1.4.0-bin-hadoop2.6/sbin/../logs/spark-root-org.apache.spark.deploy.worker.Worker-1-localhost.localdomain.out
访问 http://192.168.141.10:8080/

[root@localhost conf]# ../bin/spark-shell –master  spark://localhost:7077

访问 http://192.168.141.10:8080/ 有 application id 生成

sparkstandalone HA 部署
基于文件系统的 HA
spark.deploy.recoveryMode 设成 FILESYSTEM
spark.deploy.recoveryDirecory Spark 保存恢复状态的目录
Spark-env.sh 里对 SPARK_DAEMON_JAVA_OPTS 设置
export SPARK_DAEMON_JAVA_OPTS= -Dspark.deploy.recoveryMode=FILESYSTEM -Dspark.deploy.recoveryDirecory=$dir
基于 zookeeper 的 ha
spark.deploy.recoveryMode 设成 ZOOKEEPER
spark.deploy.zookeeper.url Zookeeper url
spark.deploy.zookeeper.dir Zookeeper 保存恢复状态的目录缺省为 spark
spark-env 里对 SPARK_DAEMON_JAVA_OPTS 设置
export SPARK_DAEMON_JAVA_OPTS= -Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop1:2181,hadoop2:2181 -D=spark.deploy.zookeeper.dir=$DIR
启动 startall
然后在另外一台启动 start-master

[root@localhost ~]# jps
4609 Jps
4416 SparkSubmit
4079 Master
4291 SparkSubmit

ssh 免密
[root@localhost ~]# ssh-keygen -t rsa -P

[root@localhost ~]# cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
[root@localhost ~]# chmod 600 ~/.ssh/authorized_keys

[root@localhost conf]# ../bin/spark-shell –master  spark://localhost:7077 –executor-memory 2g

spark 工具简介
spark 交互工具 spark-shell
spark 应用程序部署工具 spark-submit
option
–master MASTER_URL spark://host:port mesos://host:port yarn or local
–deploy-mode DEPLOY_MODE driver 运行之处 client 运行在本机 cluster 运行在集群
–class CLASS_NAME 应用程序包要运行的 class
–name 应用程序名称
–jars 用逗号隔开的 driver 本地要运行的本地 jar 包以及 executor 类路径
–py-files PY_FILES 用逗号隔开的要放置在每个 executor 工作目录的文件列表
–properties-file FILE 设置应用程序属性的文件放置文字默认是 conf/spark-defaults.conf
–driver-memory MEMDRIVER 内存大小默认 512m
–driver-java-options driver 的 java 选项
–driver-library-path driver 库路径
–driver-class-path driver 类路径
–executor-memory MEM 设置内存大小默认 1G
[root@localhost sbin]# sh start-dfs.sh
scala   val rdd=sc.textFile(hdfs://localhost.localdomain:9000/20140824/test-data.csv)
scala val rdd2=rdd.flatMap(_.split()).map(x= (x,1)).reduceByKey(_+_)

到此,关于“Spark 应用程序怎么部署”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计3915字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)