今天分享一篇从0到1搭建Spark集群的步骤,企业中大家亦可以参照次集群搭建自己的Spark集群。

一。下载Spark安装包

可以从官网下载,本集群选择的版本是spark-1.6.0-bin-hadoop2.6

在官网中找到对应的链接即可http://spark.apache.org/downloads.html

或者用本人云盘下载地址 附上链接如下链接:https://pan.baidu.com/s/1o7Vrkue 密码:sc2z

二。部署和规划Spark集群

提前准备好四台虚拟主机,三台主机 node1 node2 node4 做Spark集群  develop做Spark客户端用于提交程序

集群规划如下:

node1 Master节点 node2,node4 Worker节点 架构图如下:

在此之前需要配置Master节点到Worker的免密登陆因为在Master节点需要启动所有的Worker节点,所有需要配置Master到Worker的免密登陆 只需要这一个免密配置即可 不需要配置woker--worker  worker-master节点的免密  因为主要是在Master节点上启动集群

免密设置具体参考如下:http://blog.csdn.net/leexide/article/details/17252369

1.分别在三台集群下创建同名目录 (目录一定要一致,方便集群部署)

本集群环境创建为/root/spark目录

2.使用Xshell将文件上传至其中某个节点即可(没有必要上传全部节点,因为后期还要重新配置)

上传至某个节点之后,假设上传到主节点Master节点后

 3.解压目录,命令和结构如下

tar -zxf   spark-1.6.0-bin-hadoop2.6.tar

然后重命名 方便后期部署

mv  spark-1.6.0-bin-hadoop2.6  spark-1.6.0

结构如下:

4.配置参数

进入到配置目录,路径为

/root/spark/spark-1.6.0/conf

后可看见文件如下

我们需要把template关键字去掉 因为是个模板文件 简单介绍下文件作用:

slaves文件---worker几点所在目录

spark-default.conf目录文件 默认配置文件

spark-env.sh环境配置文件

这几个是我们主要用的

更改后的目录文件格式如下:

配置spark-env.sh

可以看到集群配置参数如下,我们主要配置这些参数

配置完后的截图如下:

解释一下参数意义:

SPARK_MASTER_IP=node1  #主节点主机名

SPARK_MASTER_PORT=7077 #主节点和Worker的通信端口

SPARK_WORKER_CORES=2 # 每个worker进程能管理两个核

SPARK_WORKER_MEMORY=2g # 每个worker进程能管理2g内存

SPARK_MASTER_WEBUI_PORT=8888 # 主节点WEB-UI展示图  默认端口是8080

SPARK_WORKER_INSTANCES=1 #每个worker节点能够启动的worker进程 默认是一个 如果为2  则每一个worker几点能够启动2个Worker进程 就这意思

根据这配置 则 Master节点能够管路4core 4g内存(有两个Worker进程 每一个worker进程管理两个核,2g内存)

配置slaves文件:配置从节点的ip 或主机名

截图如下

5.将主节点的配置分发到从节点 同名目录下

命令如下:

回到spark的主目录配置文件

然后分发到node2  node4节点 这里命令如下`pwd`即到当前目录

6、启动Spark集群:
    执行安装包sbin目录下的start-all.sh脚本
    ./sbin/start-all.sh

 7.查看集群状态

jps命令为jvm的命令与局之一 专门查看java进程

Master节点状态:

Worker节点状态:

查看WEBUI是否能访问:

注意关闭Linux的防火墙:具体操作如下

/etc/init.d/iptables status

会得到一系列信息,说明防火墙开着。

/etc/init.d/iptables stop

永久关闭:

chkconfig --level 35 iptables off

在本机访问node1:8888(别忘配置host)

至此,集群搭建成功!

8.测试集群是否可用

将主节点中的spark文件同步到客户端develop节点

在develop节点中提交spark任务 ,由于本例测试 所以直接提交spark自带测试用例 计算Pi的值

注意别忘配置Client(develop)客户端的host 因为要提交任务到Master节点(node1)节点上去运行

即可看见运行状态

在WebUI也可以看见

到此集群测试完毕!!!

持续更新中。。。。,欢迎大家关注我的公众号LHWorld.

从0到1搭建spark集群---企业集群搭建的更多相关文章

  1. 沉淀,再出发——在Hadoop集群的基础上搭建Spark

    在Hadoop集群的基础上搭建Spark 一.环境准备 在搭建Spark环境之前必须搭建Hadoop平台,尽管以前的一些博客上说在单机的环境下使用本地FS不用搭建Hadoop集群,可是在新版spark ...

  2. 搭建Spark的单机版集群

    一.创建用户 # useradd spark # passwd spark 二.下载软件 JDK,Scala,SBT,Maven 版本信息如下: JDK jdk-7u79-linux-x64.gz S ...

  3. 实验室中搭建Spark集群和PyCUDA开发环境

    1.安装CUDA 1.1安装前工作 1.1.1选取实验器材 实验中的每台计算机均装有双系统.选择其中一台计算机作为master节点,配置有GeForce GTX 650显卡,拥有384个CUDA核心. ...

  4. (一) 从零开始搭建Spark Standalone集群环境搭建

    本文主要讲解spark 环境的搭建 主机配置  4核8线程,主频3.4G,16G内存 虚拟环境: VMWare 虚拟环境系统:Ubuntu 14.10 虚拟机运行环境: jdk-1.7.0_79(64 ...

  5. spark-2.2.0安装和部署——Spark集群学习日记

    前言 在安装后hadoop之后,接下来需要安装的就是Spark. scala-2.11.7下载与安装 具体步骤参见上一篇博文 Spark下载 为了方便,我直接是进入到了/usr/local文件夹下面进 ...

  6. 【原创 Hadoop&Spark 动手实践 5】Spark 基础入门,集群搭建以及Spark Shell

    Spark 基础入门,集群搭建以及Spark Shell 主要借助Spark基础的PPT,再加上实际的动手操作来加强概念的理解和实践. Spark 安装部署 理论已经了解的差不多了,接下来是实际动手实 ...

  7. 搭建spark集群

    搭建spark集群 spark1.6和hadoop2.61.准备hadoop环境:2.准备下载包:3.解压安装包:tar -xf spark-1.6.0-bin-hadoop2.6.tgz4.修改配置 ...

  8. 基于 ZooKeeper 搭建 Spark 高可用集群

    一.集群规划 二.前置条件 三.Spark集群搭建         3.1 下载解压         3.2 配置环境变量         3.3 集群配置         3.4 安装包分发 四.启 ...

  9. Spark学习之路(七)—— 基于ZooKeeper搭建Spark高可用集群

    一.集群规划 这里搭建一个3节点的Spark集群,其中三台主机上均部署Worker服务.同时为了保证高可用,除了在hadoop001上部署主Master服务外,还在hadoop002和hadoop00 ...

随机推荐

  1. 异步编程Async/await关键字

    异步编程Async \await 关键字在各编程语言中的发展(出现)纪实. 时间 语言版本 2012.08.15 C#5.0(VS2012) 2015.09.13 Python 3.5 2016.03 ...

  2. QScintilla 编译

    直接上英文了,不翻译了.看不懂的可以留言哈. ———————————————————————————————————————— Installation As supplied QScintilla ...

  3. oralce11g导出dmp然后导入Oracle10g

    一次Oracle11g数据库导入 Oracle10g数据库操作笔记 11g备份导入10g的时候会抛错直接阻止导入. 但是有时候还必须得把11g的数据库导入到10g我今天就遇到了这种情况. 一开始 ...

  4. Web离线应用解决方案——ServiceWorker

    什么是ServiceWorker 在介绍ServiceWorker之前,我们先来谈谈PWA.PWA (Progressive Web Apps) 是一种 Web App 新模型,并不是具体指某一种前沿 ...

  5. Python爬虫(十)_正则表达式

    本篇将介绍python正则表达式,更多内容请参考:[python正则表达式] 什么是正则表达式 正则表达式,又称规则表达式,通常被用来检索.替换那些符合某个模式(规则)的文本. 正则表达式是对字符串操 ...

  6. Android中使用ContentProvider进行跨进程方法调用

    原文同一时候发表在我的博客 点我进入还能看到很多其它 需求背景 近期接到这样一个需求,须要和别的 App 进行联动交互,比方下载器 App 和桌面 App 进行联动.桌面的 App 能直接显示下载器 ...

  7. LDA主题模型学习笔记5:C源代码理解

    1.说明 本文对LDA原始论文的作者所提供的C代码中LDA的主要逻辑部分做凝视,原代码可在这里下载到:https://github.com/Blei-Lab/lda-c 这份代码实现论文<Lat ...

  8. 趋势科技PC-cillin2015,你来公測我发奖!

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXF1c2hp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/d ...

  9. JavaSe: String的编译期优化

    Java的编译期优化 因为工作的原因,经常会在没有源码的情况下,对一些产品的代码进行阅读.有时在解决Bug时,在运行环境下会直接去看class文件的字节码,来确定运行中版本是否正确的. 在看字节码时, ...

  10. java做成windows服务,电子秤例子,开机自动启动

    使用Java Service Wrapper工具制作 1.windows32位下载地址 https://sourceforge.net/projects/wrapper/files/ 2.window ...