关于spark的standalone以及高可用安装配置

StandAlone模式的spark部署:

第一步:获取spark的安装包

1) **下载地址:**

http://spark.apache.org/downloads.html

		1) 选择spark的发布版本 2.2.0
		2) 选择支持的Hadoop版本支持2.7和以后
		3) 上述两部选择好之后,会生成一个下载链接.点击下载链接即可.
		如果我们在公司遇到这样一种情况,公司以前的大数据平台使用的Hadoop版本是2.3.0,Scala版本是2.10
		现在呢,我想使用spark2.0,去官网一看,哎,没有符合的安装包
		怎么办呢?没有别的办法,只能自己手动编译
		1) 下载spark的source code
		2) 根据官网的构建指导进行编译
			1) maven的版本  3.3.9 or newer
			2) jDk环境 1.8+
			3) 执行一个脚本
				./dev/make-distribution.sh --name custom-spark --pip --r --tgz -Psparkr -Phadoop-2.3 -Phive -Phive-thriftserver -Pmesos -Pyarn
			*执行脚本之后,等待编译成功即可.但是呢,一般第一次都不会成功的.遇到问题,稳住,不要慌,看清楚是什么问题,解决即可.最后一定可以成功的.*

第二步:spark开发环境的搭建和部署
目录规划
/opt/softwares/ 主要放置各种组件的安装包
/opt/modules/ 主要放置各种安装组件
/opt/datas/ 主要放置一些测试文件
/opt/jars/ 主要放置我们编写的应用程序达成的jar包
节点规划
spark-node01.alps.com Master Worker
spark-ndoe02.alps.com Worker
spark-node03.alps.com Worker

	1) 将安装包上传至/opt/softwares/目录下
	2) 将压缩包解压至/opt/modules/目录下
		tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz -C /opt/modules/
		mv spark-2.2.0-bin-hadoop2.7/ spark-2.2.0
	3) 对spark进行配置(spark-env.sh slaves)
		spark-env.sh
			conf目录下没有这个文件,需要将模板文件进行修改
			mv spark-env.sh.tempalte spark-env.sh
			配置参照 http://spark.apache.org/docs/2.2.0/spark-standalone.html

			#配置Java环境
			export JAVA_HOME=/opt/modules/jdk1.8.0_144
			#配置SPark的Master的地址
			export SPARK_MASTER_HOST=spark-node01.alps.com
			export SPARK_MASTER_PORT=7077
		slaves
			conf/slaves.template,需要修改
			mv slaves.tempalte slaves
			spark-node01alps.com
			spark-node02.alps.com
			spark-node03.alps.com
	4) 将节点1 的spark安装好的环境远程copy至节点2节点3
		scp -r spark-2.2.0/ spark-node02.alps.com:$PWD
		scp -r spark-2.2.0/ spark-node03.alps.com:$PWD
3) 验证spark开发环境是否成功
	1) 启动spark集群
		./sbin/start-all.sh
	2) 查看是否启动成功
		1) 使用jps命令
			在节点1上要有一个Master进程和一个Worker进程,节点2上要有一个Worker进程,节点3上要有一个Worker进程
		2) 访问spark集群的WEBUI界面
			http://spark-nod01.alps.com:8080

spark高可用部署

1) 我们搭建的Standalone模式的spark集群环境有什么问题?
	我要知道一点,Standalone模式的spark集群是Master-slaves架构的,一般都有单点故障的问题
2) 针对这些问题我们有什么解决方案
	如何解决单点故障的问题,很简单,启动两个Master,但是这两个Master有一个是主的,另外一个是备用的.
	1) 基于zookeeper实现spark集群的高可用(生产环境下使用)
	2) 基于文件系统的高可用部署(只能用来测试和试验),手动HA,MAster挂掉之后,会将状态信息保存起来.只需要再次启动Master即可.不推荐使用.
3) 基于zookeeper实现spark的高可用部署
	1) 首先保证要有zookeeper集群,并启动
		zkServer.sh start
	2) 修改spark集群的配置文件
		spark-env.sh
			

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER 
-Dspark.deploy.zookeeper.url=spark-node01.alps.com:2181,spark-node02.alps.com:2181,spark-node03.alps.com:2181 
-Dspark.deploy.zookeeper.dir=/spark2"
	3) 验证高可用
		启动spark集群
		./sbin/start-all.sh 只能启动一台Master,另外一台需要手动启动./sbin/start-master.sh

		kill -9 pid

注意:状态的切换需要1~2分钟.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值