spark运行模式之 ===> Standalone

Standalone是 spark自带的资源管理框架,类似 yarn。

yarn中有resourcemanager 和 nodemanager 两个进程,resourcemanager负责管理整个集群的资源,nodemanager负责管理自己所在节点的资源以及启动container。

在Standalone中也有相类似的两个进程,master 和 worker。master 就相当于 yarn 的resourcemanager , worker 相当于 nodemanager。

Standalone的配置: 

在locally的基础上再配置几个参数

需要给出master在哪个节点,以及master服务的端口号。

在搭建HDFS的时候,有一个配置文件叫做 slaves ,配置的是HDFS的 datanode,一般情况下会把 datanode和 nodemanager放在一起,即每个节点上会同时启动datanode 和 nodemanager。slaves 配置的是HDFS的从节点,也是 yarn的从节点。

在Standalone 同样也有一个 slaves 文件,用来配置 worker 节点。这里需要配置两个重要的参数,一个是worker最多可以使用的cpu核数,一个是worker最多可以使用的内存。还要给出worker的服务端口号。

启用Standalone,必须启动master 和 worker 进程。启动脚本在 sbin 目录下。

进入 web UI 页面 。 默认的 web  UI 端口号是 8080 ,会跟 tomcat 默认的端口号冲突。 二选一 ,改掉一个端口号。

启动 spark-shell 应用。后面需要给出参数,如果不给,默认在本地运行。参数的值就是在8080页面上 URL 后面那一串东西。

再开一个窗口,不加参数,也完全Ok。这个应用不是跑在Standalone上的 ,是跑在本地的。

现在在本地和Standalone上各运行着一个spark-shell应用,但是只有跑在Standalone上的那一个会显示在 web UI上。

Standalone是主从架构,也会存在单点故障的问题。有两个解决方案,一个是类似HDFS的 secondaryNamenode,基于本地文件系统存储master节点服务的信息。

第二种是类似Hbase的热备机制,依赖Zookeeper协调管理。

猜你喜欢

转载自www.cnblogs.com/rabbit624/p/10567002.html