高可用spark集群搭建

spark有多种模式:主要有以下几种

Standalone Deploy Mode: simplest way to deploy Spark on a private cluster
Apache Mesos
Hadoop YARN
Kubernetes

下面介绍在高可用(HA)集群上搭建standalone的spark集群

搭建前提你已经有了一个高可用的HA集群,如果没有可以参考高可用集群搭建

第一步:下载对应版本的spark,下载地址这里

第二步:解压到相应的目录文件

第三步:修改配置文件,有且仅有三个

    (1)spark-env.sh.template

        将文件重命名cp spark-env.sh.template spark-env.sh

#java路径,必须配置
export JAVA_HOME=/usr/local/jdk1.8.0_73
#主节点端口号,默认7077
export SPARK_MASTER_PORT=7077
#执行程序的内核数量(默认值:1)
export SPARK_EXECUTOR_CORES = 1
#每个执行程序的内存(例如1000M,2G)(默认值:1G)
export SPARK_EXECUTOR_MEMORY = 1000m
#驱动程序内存(例如1000M,2G)(默认值:1G)
export SPARK_DRIVER_MEMORY = 1000m
#配置zookeeper,必须配置,不能换行
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop02:2181,hadoop0
3:2181,hadoop04:2181 -Dspark.deploy.zookeeper.dir=/spark2.3"
#将Spark指向Hadoop配置文件,必须配置,方便spark加载高可用配置
export HADOOP_CONF_DIR=/home/hadoop/apps/hadoop-2.7.5/etc/hadoop

(2)spark-defaults.conf.template

    将文件重命名cp spark-defaults.conf.template spark-defaults.conf

#指定spark的主节点,可以指定多个,用","分割,作为standby,可以进行切换
 spark.master                     spark://hadoop03:7077,hadoop02:7077

如果不指定,默认为本地模式(local)

!!!!将其注释后,可以在命令行手动指定master节点,

(3)slaves.template

重命名文件cp slaves.template slaves

输入worker的节点主机映射名称

hadoop02
hadoop03
hadoop04
hadoop05

第四步:分发测试,如果想方便使用可以配置环境变量

启动测试:

首先启动zookeeper

然后启动hdfs

最后启动spark集群,在sbin目录下使用./start-all.sh命令,备用节点需要手动启动,命令为start-master.sh

至此高可用集群搭建完毕。

通过测试,主备节点可以顺利切换,任务执行时,主节点挂掉,任务任然可以继续运行


yarn集群搭建,在配置文件中将下面去掉注释即可

export YARN_CONF_DIR=/home/hadoop/apps/hadoop-2.7.5/etc/hadoop

修改yarn-site.xml的配置文件,添加

<property>
                <name>yarn.nodemanager.vmem-check-enabled</name>
                <value>false</value>
                <description>Whether virtual memory limits will be enforced for containers</description>
        </property>
        <property>
                <name>yarn.nodemanager.vmem-pmem-ratio</name>
                <value>4</value>
                <description>Ratio between virtual memory to physical memory when setting memory limits for containers</description>
        </property>
	
	<property>
		<name>yarn.resourcemanager.webapp.address</name>
		<value>${yarn.resourcemanager.hostname}:8088</value>
	</property>
使用命令:
spark-shell --master yarn --deploy-mode client

启动即可


完整搭建连接:

http://www.cnblogs.com/qingyunzong/p/8888080.html











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值