设为首页 收藏本站
查看: 949|回复: 0

[经验分享] spark 2.2.0 高可用搭建

[复制链接]

尚未签到

发表于 2019-1-30 11:28:17 | 显示全部楼层 |阅读模式
  一、概述
  1.实验环境基于以前搭建的haoop HA;
  2.spark HA所需要的zookeeper环境前文已经配置过,此处不再重复。
  3.所需软件包为:scala-2.12.3.tgz、spark-2.2.0-bin-hadoop2.7.tar
  4.主机规划
  bd1
  bd2
  bd3
  Worker
  bd4
  bd5
  

  Master、Worker
  二、配置Scala
  1.解压并拷贝
[root@bd1 ~]# tar -zxf scala-2.12.3.tgz
[root@bd1 ~]# cp -r scala-2.12.3 /usr/local/  2.配置环境变量
[root@bd1 ~]# vim /etc/profile
export SCALA_HOME=/usr/local/scala
export PATH=:$SCALA_HOME/bin:$PATH
[root@bd1 ~]# source /etc/profile  3.验证
[root@bd1 ~]# scala -version
Scala code runner version 2.12.3 -- Copyright 2002-2017, LAMP/EPFL and Lightbend, Inc.  三、配置Spark
  1.解压并拷贝
[root@bd1 ~]# tar -zxf spark-2.2.0-bin-hadoop2.7.tgz
[root@bd1 ~]# cp spark-2.2.0-bin-hadoop2.7 /usr/local/spark2.配置环境变量
[root@bd1 ~]# vim /etc/profile
export SCALA_HOME=/usr/local/scala
export PATH=:$SCALA_HOME/bin:$PATH
[root@bd1 ~]# source /etc/profile  3.修改spark-env.sh    #文件不存在需要拷贝模板
[root@bd1 conf]# vim spark-env.sh
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SCALA_HOME=/usr/local/scala
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=bd4:2181,bd5:2181 -Dspark.deploy.zookeeper.dir=/spark"
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_CORES=2
export SPARK_WORKER_INSTANCES=1  4.修改spark-defaults.conf    #文件不存在需要拷贝模板
[root@bd1 conf]# vim spark-defaults.conf
spark.master                     spark://master:7077
spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://master:/user/spark/history
spark.serializer                 org.apache.spark.serializer.KryoSerializer  5.在HDFS文件系统中新建日志文件目录

hdfs dfs -mkdir -p /user/spark/history
hdfs dfs -chmod 777 /user/spark/history  6.修改slaves
[root@bd1 conf]# vim slaves
bd1
bd2
bd3
bd4
bd5  四、同步到其他主机

  1.使用scp同步Scala到bd2-bd5
scp -r /usr/local/scala root@bd2:/usr/local/
scp -r /usr/local/scala root@bd3:/usr/local/
scp -r /usr/local/scala root@bd4:/usr/local/
scp -r /usr/local/scala root@bd5:/usr/local/  2.同步Spark到bd2-bd5
scp -r /usr/local/spark root@bd2:/usr/local/
scp -r /usr/local/spark root@bd3:/usr/local/
scp -r /usr/local/spark root@bd4:/usr/local/
scp -r /usr/local/spark root@bd5:/usr/local/  五、启动集群并测试HA

  1.启动顺序为:zookeeper-->hadoop-->spark
  2.启动spark
  bd4:
[root@bd4 sbin]# cd /usr/local/spark/sbin/
[root@bd4 sbin]# ./start-all.sh
starting org.apache.spark.deploy.master.Master, logging to /usr/local/spark/logs/spark-root-org.apache.spark.deploy.master.Master-1-bd4.out
bd4: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-bd4.out
bd2: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-bd2.out
bd3: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-bd3.out
bd5: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-bd5.out
bd1: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-bd1.out
[root@bd4 sbin]# jps
3153 DataNode
7235 Jps
3046 JournalNode
7017 Master
3290 NodeManager
7116 Worker
2958 QuorumPeerMain  bd5:

[root@bd5 sbin]# ./start-master.sh
starting org.apache.spark.deploy.master.Master, logging to /usr/local/spark/logs/spark-root-org.apache.spark.deploy.master.Master-1-bd5.out
[root@bd5 sbin]# jps
3584 NodeManager
5602 RunJar
3251 QuorumPeerMain
8564 Master
3447 DataNode
8649 Jps
8474 Worker
3340 JournalNode


  3.停掉bd4的Master进程
[root@bd4 sbin]# kill -9 7017
[root@bd4 sbin]# jps
3153 DataNode
7282 Jps
3046 JournalNode
3290 NodeManager
7116 Worker
2958 QuorumPeerMain


  五、总结
  一开始时想把Master放到bd1和bd2上,但是启动Spark后发现两个节点上都是Standby。然后修改配置文件转移到bd4和bd5上,才顺利运行。换言之Spark HA的Master必须位于Zookeeper集群上才能正常运行,即该节点上要有JournalNode这个进程。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-669565-1-1.html 上篇帖子: Spark 整合hive 实现数据的读取输出 下篇帖子: 知识点
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表