spark官网学习文档

Spark集群的安装及高可用配置
前期需求:Hadoop和Scala必须已经安装完成
步骤:
①进入spark下载网站中https://spark.apache.org/downloads.html
(红框的部分是选择tar包的版本,选择完毕之后点击绿框的部分下载)

②下载完成之后用xftp将安装包传服务器的opt文件夹下。然后用tar命令解压。解压完成之后删除安装包。再然后进入/etc/profile配置环境变量。加入下面的两条语句,然后保存并退出用source命令使其生效。

export SPARK_HOME=/opt/spark-2.4.0-bin-hadoop2.7
在export PATH的末尾加上 :

S

P

A

R

K

H

O

M

E

/

b

i

n

:

SPARK_HOME/bin:

SPARKH​OME/bin:SPARK_HOME/sbin

③进入/opt/spark-2.4.0-bin-hadoop2.7/conf文件夹下,执行下面两条语句

cp  spark-env.sh.template  spark-env.sh
cp slaves.template slaves

④用vi命令分别修改spark-env.sh和slaves

spark-env.sh的末尾添加如下语句

前三个都指的是对应的安装目录,这个不多赘述,后面五个的意思如下

HADOOP_CONF_DIR:hadoop集群的配置文件的目录 

SPARK_MASTER_IP:spark集群的Master节点的ip地址 

SPARK_WORKER_MEMORY:每个worker节点能够最大分配给exectors的内存大小 

SPARK_WORKER_CORES:每个worker节点所占有的CPU核数目 

SPARK_WORKER_INSTANCES:每台机器上开启的worker节点的数目

slaves的末尾修改为(工作者节点,我这里选择2号和3号机,1号作为Master)


修改$SPARK_HOME/conf/spark_defaults.conf
在其尾部添加

spark.executor.extraClassPath=/opt/flume_tar_dir/libs/*
spark.driver.extraClassPath=/opt/flume_tar_dir/libs/*

主要是为了spark-submit 提交时不用指定jars,但是需要自己在idea打jar包时指定类打包,将打包好的jar传入该入境下,提交时不用写–class
例:spark-submit --master spark://hadoop1:7077,hadoop2:7077 OfflineProject.jar

配置Spark高可用

vi /usr/etc/spark-2.3.0-bin-hadoop2.7/conf/spark-evn.sh
  
  修改内容如下:
  
  #export SPARK_MASTER_IP=Master #注释掉该行,Spark自己管理集群的状态  
  
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=Master:2181,Worker1:2181,Worker2:2181 -Dspark.deploy.zookeeper.dir=/spark" #通过Zookeeper管理集群状态
/spark 自己定义一个保存数据的路径

实现高可用得先在前两个节点上启动 spark-master.sh

然后停掉一个节点 访问8080 查看状态

⑤将/etc/profile以及Spark文件夹用scp命令分发到其他两台机子上。发送过去之后到其他两台机子的窗口里,用source命令使环境变量生效

⑥回到一号机,开启Zookeeper,然后执行start-dfs.sh命令(开不开zookeeper其实没什么影响,也没要求说必须开,但是作为平常的习惯还是开启了Zk)。执行之后进入/opt/spark-2.4.0-bin-hadoop2.7文件夹下,执行 ./sbin/start-all.sh(进入这里执行的目的是为了防止和hadoop里的同名文件冲突)

然后查看三台机子的节点(多了一个Master和两个Worker)




⑦进入Master所在机器的8080端口,可以查看Worker的信息

⑧在Master机器上执行 spark-shell命令。会出现如下语句

同样,在开启之后,也可以访问4040端口查看当前任务

至此,Spark集群安装就算圆满完成了。

Spark集群的安装及高可用配置的更多相关文章

  1. Apache shiro集群实现 (六)分布式集群系统下的高可用session解决方案---Session共享

    Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...

  2. Apache shiro集群实现 (五)分布式集群系统下的高可用session解决方案

    Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...

  3. Spark集群 + Akka + Kafka + Scala 开发(1) : 配置开发环境

    目标 配置一个spark standalone集群 + akka + kafka + scala的开发环境. 创建一个基于spark的scala工程,并在spark standalone的集群环境中运 ...

  4. Spark系列—01 Spark集群的安装

    一.概述 关于Spark是什么.为什么学习Spark等等,在这就不说了,直接看这个:http://spark.apache.org, 我就直接说一下Spark的一些优势: 1.快 与Hadoop的Ma ...

  5. openstack高可用集群21-生产环境高可用openstack集群部署记录

    第一篇 集群概述 keepalived + haproxy +Rabbitmq集群+MariaDB Galera高可用集群   部署openstack时使用单个控制节点是非常危险的,这样就意味着单个节 ...

  6. k8s集群中部署Rook-Ceph高可用集群

    先决条件 为确保您有一个准备就绪的 Kubernetes 集群Rook,您可以按照这些说明进行操作. 为了配置 Ceph 存储集群,至少需要以下本地存储选项之一: 原始设备(无分区或格式化文件系统) ...

  7. Docker namespace,cgroup,镜像构建,数据持久化及Harbor安装、高可用配置

    1.Docker namespace 1.1 namespace介绍 namespace是Linux提供的用于分离进程树.网络接口.挂载点以及进程间通信等资源的方法.可以使运行在同一台机器上的不同服务 ...

  8. kubeadm安装集群系列-2.Master高可用

    Master高可用安装 VIP负载均衡可以使用haproxy+keepalive实现,云上用户可以使用对应的ULB实现 准备kubeadm-init.yaml文件 apiVersion: kubead ...

  9. HAProxy+keepalived+MySQL 实现MHA中slave集群负载均衡的高可用

    HAProxy+keepalived+MySQL实现MHA中slave集群的负载均衡的高可用 Ip地址划分: 240    mysql_b2 242    mysql_b1 247    haprox ...

  10. Cluster基础(四):创建RHCS集群环境、创建高可用Apache服务

    一.创建RHCS集群环境 目标: 准备四台KVM虚拟机,其三台作为集群节点,一台安装luci并配置iSCSI存储服务,实现如下功能: 使用RHCS创建一个名为tarena的集群 集群中所有节点均需要挂 ...

随机推荐

  1. Week 0

    Day 0 我8:00与lsh前往济南,在大约11:40左右抵达济南高铁站. 等高铁期间,我在庞大的济南高铁站中找到了我心心念念的而DY却没有的赛百味三明治,买了27的西式火腿三明治和34的香烤牛肉三 ...

  2. Ubuntu本地安装Docker

    Ubuntu本地安装Docker 目录 Ubuntu本地安装Docker 查看Ubuntu系统版本代号 安装 修改镜像源 官方文档:Install Docker Engine on Ubuntu | ...

  3. springsecurity:权限与异常处理

    权限即不同用户可以使用不同功能 实现前置: 在上一次登录与校验中,我们将authentication存入到SecurityContextHolder中,后续我们需要从FilterSecurityInt ...

  4. 如何在本地修改Hosts文件设置域名访问?

    网站在未上线的时候,我们一般会在本地搭建Web环境并安装WordPress来设计页面.测试插件.数据备份.网站搬家. 为了能够在本地通过域名访问网站,就需要在修改hosts文件来绑定域名,方法如下: ...

  5. 关于在windows系统下使用Linux子系统

    今天意外刷到一个短视频,介绍了如何在windows下方便的使用系统自带的Linux子系统,本人抱着好奇的心理,也因为最近碰到了只使用windows操作系统解决不了的问题,还有想到以后测试项目大概率也要 ...

  6. 大模型时代该用什么样的显卡 —— 实验室新进两块A800显卡

    具体如图: (这两个显卡是专为实验室的大模型方向提供的) 关于A800显卡的性能参数: (上图源自:https://www.zhihu.com/question/618932114/answer/32 ...

  7. vue-表单与v-model

    使用 v-model 后,表羊控件显示的值只依赖所绑定的数据,不再关心初始化时的 value 属性,对于 textarea></textarea> 之间插入的值,也不会生效. 使用 ...

  8. 5. RCC

  9. C# 使用特性的方式封装报文

    在编写上位机软件时,需要经常处理命令拼接与其他设备进行通信,通常对不同的命令封装成不同的方法,扩展稍许麻烦. 本次拟以特性方式实现,以兼顾维护性与扩展性. 思想: 一种命令对应一个类,其类中的各个属性 ...

  10. 2023 ICPC 香港

    gym 开场发现 E 是传统数据结构题很高兴,不过先跳了.F 知道相邻两段的长度差 \(\le1\),以为最终每段长度只有 \(\lfloor\frac{n}{m+1}\rfloor,\lceil\f ...