前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >带你理解并亲手实践 Spark HA 部署配置及运行模式

带你理解并亲手实践 Spark HA 部署配置及运行模式

作者头像
数人之道
修改于 2022-03-28 09:52:05
修改于 2022-03-28 09:52:05
2.4K00
代码可运行
举报
文章被收录于专栏:数据技术数据技术
运行总次数:0
代码可运行

公众号『数人之道』原创文章,欢迎关注获取更多数据知识、干货、资讯!

 文章大纲
文章大纲

由于 Spark 是计算框架,还需要有底层存储系统、资源协调管理、分布式协作管理等框架等进行支撑,因此我们这里使用在《万字+50图,详解 Hadoop HA 完全分布式部署配置及运行调试》中部署的 Hadoop 作为 Spark 的存储及管理系统,在此基础上以 HA 模式来安装部署并运行 Spark 集群。

1.安装 Spark

使用 hadoop 用户将下载的 Spark 压缩包上传到 hadoop100 机器的 /opt/softwares 目录,这里使用的是 3.2.1 最新版本。

官网下载地址:

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

若速度太慢,可到国内的镜像站点下载,例如清华的:

https://mirrors.tuna.tsinghua.edu.cn/apache/spark

将 Spark 压缩包解压到 /opt/modules 目录下安装:

代码语言:shell
AI代码解释
复制
tar -zxvf /opt/softwares/spark-3.2.1-bin-without-hadoop.tgz -C /opt/modules/
图1-1:注意选择 Spark 安装包版本及类型
图1-1:注意选择 Spark 安装包版本及类型

注意按照 Hadoop 的版本来选择 Spark 安装包类型。由于这里用的是之前已经安装好的 Hadoop,因此选择的是不带 Hadoop 的 Spark 安装包。

2.配置 Spark

服务器规划如下:

hadoop100 作为主节点、hadoop101 作为备用主节点及从节点,运行 Master 及 Worker 服务;hadoop102 作为从节点,运行 Worker 服务。

2.1.配置 spark-env.sh

修改 Spark 的 /conf 目录下 spark-env.sh 文件中的参数配置:

代码语言:shell
AI代码解释
复制
cp spark-env.sh.template spark-env.sh
vim spark-env.sh

在文件末尾添加配置内容:

代码语言:shell
AI代码解释
复制
export JAVA_HOME=/opt/modules/jdk1.8.0_301
export HADOOP_HOME=/opt/modules/app/hadoop-2.10.1
export SPARK_DIST_CLASSPATH=$(/opt/modules/app/hadoop-2.10.1/bin/hadoop classpath)
export HADOOP_CONF_DIR=/opt/modules/app/hadoop-2.10.1/etc/hadoop
export YARN_CONF_DIR=/opt/modules/app/hadoop-2.10.1/etc/hadoop
export SPARK_HOME=/opt/modules/spark
export SPARK_MASTER_WEBUI_PORT=8089
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1

参数含义解析:

  • JAVA_HOMEJava 安装目录
  • SCALA_HOME:Scala 安装目录(若没安装,可不配置)
  • HADOOP_HOME:Hadoop 安装目录
  • SPARK_DIST_CLASSPATH:Hadoop 命令所在目录(若安装的为不带 Hadoop 类型的 Spark,则需要进行配置),格式为:(HADOOP_HOME/bin/hadoop classpath)
  • HADOOP_CONF_DIR:Hadoop 集群的配置文件路径(YARN 模式下需要进行配置)
  • YARN_CONF_DIR:YARN 的配置文件路径(YARN 模式下需要进行配置)
  • SPARK_HOME:Spark 安装目录(YARN 模式下需要进行配置)
  • SPARK_MASTER_IP:Spark 集群的 Master 节点的 IP 地址(建议不配置)
  • SPARK_MASTER_PORT:Mater 实例绑定的端口(默认 7077)
  • SPARK_MASTER_WEBUI_PORT:Master Web UI 的端口(默认 8080,由于此端口号太常用,建议修改)
  • SPARK_WORKER_WEBUI_PORT:Worker Web UI 的端口(默认 8081)
  • SPARK_WORKER_PORT:Worker 绑定的端口(默认随机)
  • SPARK_WORKER_MEMORY:每个 Worker 节点能够最大分配给 Executors 的内存上限,如 1000m,2g(默认为本机全部内存减去 1GB)
  • SPARK_WORKER_CORES:每个 Worker 节点所占用本机的 CPU Cores 数目(默认为本机全部 CPU Cores)
  • SPARK_WORKER_INSTANCES:每个节点机器上可启动的 Workers 实例数目(默认为 1 个);注意,若设置的个数大于 1,则需要配置 SPARK_WORKER_CORES 参数,来显式地限制每一个 Worker 实例使用的 CPU Cores 数目,不然默认值下,每一个 Worker 实例都会使用全部的 CPU,造成资源争抢。

若使用 Zookeeper 对 Standalone 模式下的 Spark 集群进行分布式协作管理,还需要增加 SPARK_DAEMON_JAVA_OPTS(通用 JVM 参数)中的以下选项配置内容,格式为“-Dx=y” (默认为空):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop100:2181,hadoop101:2181,hadoop102:2181 -Dspark.deploy.zookeeper.dir=/spark"

选项说明:

1. spark.deploy.recoveryMode

设置 Spark 集群的恢复模式,这里设置为使用 Zookeeper,即整个集群状态及其恢复是通过 Zookeeper 来进行分布式协作维护的。

就是说用 Zookeeper 做了 Spark Standalone 模式下的 HA 配置。Master(Alive)挂掉的话,Master(Standby)要想成为 Master(Alive),就要参与 Zookeeper 的选举机制,然后恢复所有 Workers、Driver 和 Applications 的状态信息。

2. spark.deploy.zookeeper.url

设置 Zookeeper 的节点机器地址及端口号。

3. spark.deploy.zookeeper.dir

Zookeeper 中保存 spark 的元数据目录,用于存储 Spark 集群的所有状态信息,包括所有的 Workers、Driver 和 Applications 信息及 Spark 的作业运行状态等。默认为 /spark。

图2-1:spark-env.sh 文件配置
图2-1:spark-env.sh 文件配置

注意:若安装的 Spark 为不带 Hadoop 的类型,则必须配置 SPARK_DIST_CLASSPATH 参数,否则启动 Spark 集群会报错。

2.2.配置 workers

在 Spark Standalone 集群模式下,Spark 是通过读取 /conf 目录下的 workers 文件进行所有集群机器服务启动的,因此还需要修改此文件配置。

代码语言:shell
AI代码解释
复制
cp workers.template workers
vim workers

此文件罗列了所有 Worker 节点服务器的主机名,Spark 的运维脚本会依次迭代访问每一行来启动所有的 Worker 节点服务器进程,跟 Hadoop 的 slaves 及 HBase 的 regionservers 配置文件作用类似。

根据规划,添加 Worker 节点服务器的主机名至 workers 配置文件中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hadoop100
hadoop101
hadoop102

注意:该文件中添加的内容,结尾不允许有空格,且文件中不允许有空行。

2.3.配置 yarn-site.xml

若使用 YARN 模式运行 Spark, 建议修改 Hadoop 下的 yarn-site.xml 文件中以下参数的配置:

1. yarn.nodemanager.vmem-check-enabled

此参数用以设置是否检查 YARN 的 NodeManager(NM) 的虚拟内存,默认为 true,即检查。

这里修改为 false,不进行检查,否则虚拟内存不足时,NM 启动的 Container 会被杀掉,无法运行 Spark 程序。

添加以下内容修改此参数值,设置不检查 NM 使用的虚拟内存:

代码语言:shell
AI代码解释
复制
<property>
  <name>yarn.nodemanager.vmem-check-enabled</name>
  <value>false</value>
</property>

2. yarn.nodemanager.vmem-pmem-ratio

此参数用以指定 YARN 的 NodeManager(NM) 使用的虚拟内存率(虚拟内存大小/物理内存大小),默认为 2.1。

这里设置为 4,即物理内存大小的 4 倍,作为 NM 启动的 Container 的运行虚拟内存上限。

添加以下内容修改此参数值,指定 NM 使用的虚拟内存率:

代码语言:shell
AI代码解释
复制
<property>
  <name>yarn.nodemanager.vmem-pmem-ratio</name>
  <value>4</value>
</property>
图2-2:yarn-site.xml 文件配置
图2-2:yarn-site.xml 文件配置

可根据资源及实际使用情况进行合适的参数设置。

3.分发文件

在 hadoop100 机器上完成 Spark 的安装及配置后,将 Spark 文件分发到另外两台节点机器上,并添加环境变量。

3.1.分发 Spark 文件

使用 scp 安全拷贝的方式,将 hadoop100 上的 Spark 文件分发给另外两台节点机器:

代码语言:shell
AI代码解释
复制
scp -r /opt/modules/spark/ hadoop@hadoop101:/opt/modules/
scp -r /opt/modules/spark/ hadoop@hadoop102:/opt/modules/

使用 scp 安全拷贝的方式,将 hadoop100 上的 yarn-site.xml 配置文件分发给另外两台节点机器:

代码语言:shell
AI代码解释
复制
scp -r /opt/modules/app/hadoop-2.10.1/etc/hadoop/yarn-site.xml hadoop@hadoop101:/opt/modules/app/hadoop-2.10.1/etc/hadoop/
scp -r /opt/modules/app/hadoop-2.10.1/etc/hadoop/yarn-site.xml hadoop@hadoop102:/opt/modules/app/hadoop-2.10.1/etc/hadoop/

分发完成后登录另外两台节点机器进行检查。

3.2.添加 Spark 环境变量

在三台机器上编辑环境变量 /etc/profile 文件,追加 Spark 的环境变量:

代码语言:shell
AI代码解释
复制
##SPARK_HOME
export SPARK_HOME="/opt/modules/spark"
export PATH=$PATH:$SPARK_HOME/bin

执行以下命令使环境变量配置生效:

代码语言:shell
AI代码解释
复制
source /etc/profile

检查环境变量配置是否成功:

图3-1:检查 Spark 环境变量配置
图3-1:检查 Spark 环境变量配置

当然也可以使用分发文件的方式,配置 hadoop100 机器上的环境变量后将配置文件分发至其它机器上。

注意:这里不建议将 Spark 的 sbin 目录加入环境变量,因为 Spark 的启动脚本名称是 start-all,会跟很多其他组件的启动脚本名称产生冲突。

4.启动集群

由于这里配置的 Spark 在 Standalone 模式下需要依赖于 Hadoop 的 HDFS 集群作为存储及 Zookeeper 集群进行分布式协作管理;在 YARN 模式下需要依赖于 Hadoop 的 YARN 集群进行资源协调调度管理。

因此在 Standalone 模式下,启动 Spark 集群前需要确保 Hadoop 的 HDFS 集群及 Zookeeper 集群已启动并正常运行;在 YARN 模式下,无需启动 Spark 集群,但需要确保 Hadoop 的 HDFS 集群及 YARN 集群、Zookeeper 集群已启动并正常运行。

4.1.启动 Zookeeper 集群

启动 Zookeeper 集群,确保 Zookeeper 的服务正常运行,若已启动可忽略此步骤。

启动方法详见《万字+50图,详解 Hadoop HA 完全分布式部署配置及运行调试》的 3.4 节“启动 Zookeeper”。

4.2.启动 HDFS 集群

启动 HDFS 集群,确保 HDFS 的服务正常运行,若已启动可忽略此步骤。

启动方法详见《万字+50图,详解 Hadoop HA 完全分布式部署配置及运行调试》的 4.4 节“启动 HDFS 集群”。

4.3.启动 YARN 集群(YARN 模式)

在 Standalone 模式下运行 Spark,不要启动 YARN 集群;在 YARN 模式下运行 Spark,需要启动 YARN 集群。

因为在 YARN 模式下,启动 YARN 集群即可实现资源协调管理功能,若再启用 Spark,YARN 就会跟 Spark 内置的资源管理器(Master)发生资源争抢。

启动方法详见《万字+50图,详解 Hadoop HA 完全分布式部署配置及运行调试》的 5.3 节“启动 YARN 集群”。

4.4.启动 Spark 集群(Standalone 模式)

在 Standalone 的模式下运行 Spark,需要启动 Spark 集群;在 YARN 模式下运行 Spark,不要启动 Spark 集群

原因同上。换句话说,Spark 集群跟 YARN 集群是互斥的,不能同时启动。启动 Spark 集群则使用 Local 或 Standalone 模式运行 Spark;启动 YARN 集群则使用 YARN 模式运行 Spark。

在主节点机器 hadoop100 上执行以下命令:

代码语言:shell
AI代码解释
复制
$SPARK_HOME/sbin/start-all.sh

Spark 会进行集群群起,在 hadoop100 上启动 Master 及 Worker 服务,在 hadoop101 及 hadoop102 上自动启动 Worker 服务。

由于按照服务器规划,hadoop101 还需要作为 Spark 集群的备用主节点,因此还需要到 hadoop101 节点上执行以下命令,启动 Master 服务:

代码语言:shell
AI代码解释
复制
$SPARK_HOME/sbin/start-master.sh

在三台节点机器上使用 jps 检查 Spark 集群启动的情况:

图4-1:检查 Spark 集群启动情况
图4-1:检查 Spark 集群启动情况

至此,集群即启动完毕。

5.运行调试

下面我们对 Standalone 模式下的 Spark 集群的 HA 进行验证,并在 Local 单机、Standalone 集群、YARN 集群三种模式下执行 Spark 程序,来进行运行调试。

5.1.查看 Spark 集群的 Web 页面

使用 Master 节点的地址(端口号为 8089)登录 Spark 的 Master Web 客户端页面,可查看 Spark 的状态、Worker 数量、作业运行情况等信息:

图5-1-1:Spark 集群主节点 Web 页面
图5-1-1:Spark 集群主节点 Web 页面
图5-1-2:Spark 集群备用主节点 Web 页面
图5-1-2:Spark 集群备用主节点 Web 页面

可以看到 hadoop100 及 hadoop101 都是 Spark 集群的主节点,运行 Master 服务,前者为 ALIVE 状态,后者为 STANDBY 状态。

5.2.验证 Spark 集群的 HA

验证 Spark 集群在 Standalone 模式下的 HA 是否可用:

1. 将 hadoop100 节点上的 Master 进程杀掉:

在 hadoop100 机器上执行 jps 命令查看 Master 的进程 pid:

图5-2-1:查看 Master 进程 pid
图5-2-1:查看 Master 进程 pid

执行 kill 命令强制杀掉 Master 进程:

代码语言:shell
AI代码解释
复制
kill -9 6714

2. 观察 hadoop100 节点上的 Spark 是否已经无法访问:

图5-2-2:杀掉主节点 Master 进程后无法访问
图5-2-2:杀掉主节点 Master 进程后无法访问

3. 等待 1-2 分钟后,在 Web 页面上查看 hadoop101 节点上的 Spark 是否是 ALIVE 状态:

图5-2-3:备用主节点成功切换为 ALIVE 状态
图5-2-3:备用主节点成功切换为 ALIVE 状态

可以看到 hadoop101 节点上的 Spark 已经自动切换到 ALIVE 状态,表明故障自动切换成功,Spark 集群的 HA 可用

5.3.Local 模式下执行 Spark 程序

在 hadoop100 节点上运行以下 spark-submit 命令,使用 Local 单机模式执行 Spark 程序:

代码语言:shell
AI代码解释
复制
spark-submit --class org.apache.spark.examples.SparkPi \
--master local[2] \
--jars /opt/modules/spark/examples/jars/spark-examples_2.12-3.2.1.jar \
100

参数含义解析:

  • --master:master 的地址,表示提交任务到哪里执行,如 local[2] 为提交到本地执行,spark://host:port 为提交到 Spark 集群执行,yarn 为提交到 YARN 集群执行(local 后的数字表示用本地多少个线程来模拟集群运行,设置为 * 表示使用本地所有线程数量)
  • --class:应用程序的主类,仅针对 Java 或 Scala 应用
  • --jars:执行的 jar 包,多个的时候用逗号分隔,这些传入的 jar 包将包含在 Driver 和 Executor 的 classpath 下
  • 1000:SparkPi 类中可传入的参数,数字越大,结果越准确
图5-3-1:Local 模式运行 spark-submit 命令
图5-3-1:Local 模式运行 spark-submit 命令
图5-3-2:查看命令运行结果
图5-3-2:查看命令运行结果

Spark 程序执行的过程及结果可在本地查看。

5.4.Standalone 模式下执行 Spark 程序

在 hadoop101 节点上运行以下 spark-submit 命令,使用 Standalone 集群模式执行 Spark 程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
spark-submit --class org.apache.spark.examples.SparkPi \
--master spark://hadoop101:7077 \
--executor-memory 500m \
--total-executor-cores 1 \
--jars /opt/modules/spark/examples/jars/spark-examples_2.12-3.2.1.jar \
1000

参数含义解析:

  • --executor-memory:每个 Executor 使用的内存大小上限,默认为 1g,这里修改限定为 500m
  • --total-executor-cores:所有 Executors 使用的 CPU 总 Cores 数上限,仅在 Standalone 或 Mesos 模式下适用
图5-4-1:Standalone 模式运行 spark-submit 命令
图5-4-1:Standalone 模式运行 spark-submit 命令
图5-4-2:Spark Web 页面查看命令运行过程
图5-4-2:Spark Web 页面查看命令运行过程
图5-4-3:Spark Web 页面查看命令运行输出
图5-4-3:Spark Web 页面查看命令运行输出

默认使用 Client 模式运行 Spark 程序,执行的过程及结果可在本地或 Spark 集群的 Web 页面查看。

5.5.YARN 模式下执行 Spark 程序

在 hadoop100 节点上执行以下命令停止 Spark 集群:

代码语言:shell
AI代码解释
复制
$SPARK_HOME/sbin/stop-all.sh

再到 hadoop101 节点上执行以下命令停止 Master 服务:

代码语言:shell
AI代码解释
复制
$SPARK_HOME/sbin/stop-master.sh

按照《万字+50图,详解 Hadoop HA 完全分布式部署配置及运行调试》的 5.3 节的方法启动 YARN 集群。

在 hadoop101 节点上运行以下 spark-submit 命令,使用 YARN 集群模式执行 Spark 程序:

代码语言:shell
AI代码解释
复制
spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
--driver-memory 500m \
--executor-memory 500m \
--num-executors 2 \
/opt/modules/spark/examples/jars/spark-examples_2.12-3.2.1.jar

参数含义解析:

  • --deploy-mode:在哪里启动 Spark 的 Driver,默认为 client,即在本地启动,这里设置为 cluster,即在 cluster 上启动
  • --driver-memory:Driver 使用的内存大小上限,默认为 1g,这里修改限定为 500m
  • --num-executors:启动的 Executors 数量,默认为 2,仅在 YARN 模式下适用
图5-5-1:YARN 模式运行 spark-submit 命令
图5-5-1:YARN 模式运行 spark-submit 命令

执行过程中可以看到,需要执行的 jar 包被上传到 HDFS 中。

图5-5-2:YARN Web 页面查看命令运行过程
图5-5-2:YARN Web 页面查看命令运行过程
图5-5-3:YARN Web 页面查看命令运行输出
图5-5-3:YARN Web 页面查看命令运行输出

由于使用 Cluster 模式运行 Spark 程序,执行的过程及结果需要在 YARN 集群的 Web 页面查看。

在 YARN 模式下,Spark 作业的运行流程

图5-5-4:YARN-Cluster 模式下 Spark 作业运行流程
图5-5-4:YARN-Cluster 模式下 Spark 作业运行流程

ResourceManager 取代了 Spark 中的 Master,实现资源协调分配功能,告知 Spark 中的 Driver 哪里有空闲资源(NodeManager)来执行 Tasks;

然后 NodeManager 取代了 Spark 中的 Worker,将 Driver 作为一个 ApplicationMaster 在 YARN 集群中启动,并向 ResourceManager 申请资源;

接着 NodeManager 会在 Container 中启动 Executor 来执行 ApplicationMaster 分配的 Tasks 并监控运行状态;

运行完成后,ApplicationMaster 会向 ResourceManager 申请注销并关闭自己。

YARN-Client 与 YARN-Cluster 的区别

从深层次的含义来说,YARN-Client 和 YARN-Cluster 模式的区别其实就是 ApplicationMaster 进程运行的区别

图5-5-5:YARN-Client 模式
图5-5-5:YARN-Client 模式
图5-5-6:YARN-Cluster 模式
图5-5-6:YARN-Cluster 模式
  • 在 YARN-Client 模式下,Spark 的 Driver 运行在 Client Application 中,作为 ApplicationMaster 向 ResourceManager 请求 Executor,Client 会和请求的 Container 通信来调度他们工作,也就是说 Client 不能离开
  • 在 YARN-Cluster 模式下,Spark 的 Driver 运行在 ApplicationMaster 中,负责向 ResourceManager 申请资源(NodeManager),并监督作业的运行状况,当用户提交了作业之后,就可以关掉 Client,作业会继续在 YARN 上运行,因而 YARN-Cluster 模式不适合运行交互类型的作业。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数人之道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Serverless安全研究 — Serverless概述
在“云”的概念还没有产生之前,开发者购买物理机,并在其上部署应用程序,企业将购买的机器放置数据中心,其网络、安全配置均需要专业的技术人员管理,在这种高成本运营模式下,虚拟化技术应运而生。
绿盟科技研究通讯
2020/09/08
2.2K0
深入浅出Serverless:3 Serverless的实现
AWS Lambda、Microsoft Azure Functions及Google Cloud Functions支持的开发语言
yeedomliu
2019/09/27
3.6K0
当我们在聊Serverless时你应该知道这些
作者:竹涧 原文地址:https://yq.aliyun.com/articles/574222
Nealyang
2019/10/24
1.2K0
当我们在聊Serverless时你应该知道这些
玩转Java8 Stream流
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
芋道源码
2022/08/31
5420
玩转Java8 Stream流
CloudBluePrint-Chapter 1.7 : 云上应用技术架构-函数计算、Serverless、小程序
FaaS(函数即服务)、Serverless、小程序和弹性云计算的诞生可以归因于云计算发展的趋势和应用架构的演变。
行者深蓝
2023/09/01
4650
Serverless简介
Serverless的全称是Serverless computing无服务器运算,又被称为函数即服务(Function-as-a-Service,缩写为 FaaS),是云计算的一种模型。以平台即服务(PaaS)为基础,无服务器运算提供一个微型的架构,终端客户不需要部署、配置或管理服务器服务,代码运行所需要的服务器服务皆由云端平台来提供。 国内外比较出名的产品有Tencent Serverless、AWS Lambda、Microsoft Azure Functions 等。
xiangzhihong
2020/12/21
2.6K0
Serverless当打之年
当前大多数公司在运营应用产品时,无论是选择公有云还是自建的数据中心,都会面临服务器数量预估、存储容量规划和数据库的选型等问题。同时需要在基础设施之上部署依赖软件,以运行应用程序。当前是否存在一种简单的架构模型能够满足我们这种应用场景?当然,这个架构已经存在许久,它就是今天软件架构世界中很热门的一个话题——Serverless。
zouyee
2021/02/01
6880
Serverless当打之年
使用 Node.js 快速开启 ServerLess Functions:入门实践指南
近一年来我在很多地方看到 ServerLess 这一词出现,概念介绍的相对比较多,但是真正实践的还是很少,也是出于对新技术的好奇,所以我打算进一步的对 ServerLess 做一个了解,以便体验到 ServerLess 能给我们带来什么便捷,最好的例子还是先从一个 Hello World 开始。
五月君
2020/02/11
2.8K0
使用 Node.js 快速开启 ServerLess Functions:入门实践指南
【Web技术】244-Serverless掀起新的前端技术变革
最近关于 Serverless 的讨论越来越多。看似与前端关系不大的 Serverless,其实早已和前端有了渊源,并且将对前端开发模式产生变革性的影响。本文来自阿里云前端工程师蒋航在 QCon 北京 2019 的分享,他从前端开发模式的演进、基于 Serverless 的前端开发案例以及 Serverless 开发最佳实践等方面,与大家探讨 Serverless 中的前端开发模式。
pingan8787
2019/07/25
9500
【Web技术】244-Serverless掀起新的前端技术变革
入门 Serverless:如何实现 Hello World?
近年来,IT 技术的更新迭代速度非常快,每个时间点都有典型的代表名词以及概念,就目前而言,人工智能领域中的机器学习、深度学习、强化学习等名词和概念就非常热,同时区块链、物联网等技术发展也是异常火热。在云计算领域,有这样一个技术被众多云厂商认为是“风口项目”,甚至可以颠覆现有云计算中的某些格局,为此包括 AWS、谷歌以及腾讯云、阿里云等在内的云厂商,都为此投入了重大人力以及精力进行相关产品建设,它就是 Serverless 技术。 自 2006 年 8 月 9 日,Google 首席执行官埃里克·施密特(E
腾讯云serverless团队
2020/04/09
2.1K1
突发!Spring Cloud 也沦陷了。。。
点击关注公众号,Java干货及时送达 大家好,我是栈长。 相信大家看到了昨天的 Spring 漏洞,严重级别仅为中等,不必慌张, 栈长没想到的是,自这个月初 Spring Cloud Gateway 突发高危漏洞,现在 Spring Cloud 另外一个 Spring Cloud Function 模块也沦陷了。。。 来看最新昨天 Spring 官方博客发布的漏洞声明: 漏洞描述: 在使用路由功能时,用户可以制作特制的 SpEL 表达式作为路由表达式,从而导致用户可以 访问本地资源 的漏洞。 严重级别
Java技术栈
2022/03/31
7490
突发!Spring Cloud 也沦陷了。。。
深入浅出Serverless:2 Serverless与相关技术
介绍 作为一个热门词汇,Serverless并不孤单,和它一起受到广泛关注的还有诸如微服务(Microservice)、容器(Container)和云等。其实这些技术之间有着很强的关联关系。正确地理解Serverless和其他技术的关系,是正确理解Serverless架构的一个重要基础。要深入理解Serverless,需要结合当下业界发展的整个大环境和趋势进行思考。 云计算 从私有数据中心到云 按所管控的计算资源的范围来划分,云计算模式可以分为基础架构即服务(Infrastructure as a Serv
yeedomliu
2019/09/29
1.1K0
What is Serverless Web Application Development?
What is Serverless Web Application Development? Serverless web application development is an emergin
用户4822892
2019/08/20
6090
What is Serverless Web Application Development?
Java的函数式接口以及Lambda表达式
在java中,大家肯定使用过lambda表达式吧,这是适用于函数式接口的一种便捷写法。
半月无霜
2023/03/03
4820
Java的函数式接口以及Lambda表达式
【玩转腾讯云】基于Serverless搭建WordPress
在《Serverless Architectures》中对 Serverless 是这样子定义的:
落雨
2021/04/26
76.9K0
java8新特性整理
官方文档:http://docs.oracle.com/javase/specs/jls/se8/html/index.html
pollyduan
2019/11/04
1.2K0
从aws lambda谈serverless
一、基于aws lambda构建监控告警的思考二、什么是serverless?三、serverless解决了什么问题四、常见serverless应用场景五、为什么serverless淡出视野?六、参考
叔牙
2023/06/21
4210
从aws lambda谈serverless
Serverless 的前景和机会 |社区精选文章
本文为 Serverless 社区成员撰稿。作者谢扬,蒸汽记忆创始人,SoLiD 中文社区(learnsolid.cn)发起人。目前聚焦研发一款 IDaaS 身份即服务产品 Authing。供稿请戳~ Serverless 正在改变未来软件开发的模式和流程,对于大多数应用而言,借助 Serverless 服务,开发者可以将绝大多数精力投入在业务逻辑的开发整合上,大大缩短开发周期,降低运维成本。本文将探讨 Serverless 生态中缺少的工具以及潜在的创业机会。 我们目前创业做的事情跟 Serverles
腾讯云serverless团队
2020/03/04
1.4K0
Serverless 的前景和机会 |社区精选文章
Java8新特性
Jdk8提供了java.util.function包,提供了常用的函数式功能接口。
牧晗
2020/06/05
1.1K0
Java8新特性
Lambda表达式可以看成是匿名内部类,使用Lambda表达式时,接口必须是函数式接口
shimeath
2020/07/30
6300
Java8新特性
相关推荐
Serverless安全研究 — Serverless概述
更多 >
LV.0
这个人很懒,什么都没有留下~
目录
  • 1.安装 Spark
  • 2.配置 Spark
    • 2.1.配置 spark-env.sh
    • 2.2.配置 workers
    • 2.3.配置 yarn-site.xml
  • 3.分发文件
    • 3.1.分发 Spark 文件
    • 3.2.添加 Spark 环境变量
  • 4.启动集群
    • 4.1.启动 Zookeeper 集群
    • 4.2.启动 HDFS 集群
    • 4.3.启动 YARN 集群(YARN 模式)
    • 4.4.启动 Spark 集群(Standalone 模式)
  • 5.运行调试
    • 5.1.查看 Spark 集群的 Web 页面
    • 5.2.验证 Spark 集群的 HA
    • 5.3.Local 模式下执行 Spark 程序
    • 5.4.Standalone 模式下执行 Spark 程序
    • 5.5.YARN 模式下执行 Spark 程序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档