配置三个节点的spark集群,集群模式为standalone模式,其中sp1节点作为主节点,sp2节点和sp3节点为从节点。***注意所有操作均为root用户。

创建3个CentOS虚拟机,如下:

sp1 192.168.1.21 //master节点

sp2 192.168.1.22 //slave节点

sp3 192.168.1.23 //slave节点

配置/etc/sysconfig/network环境变量,如下:

在sp1节点上执行:vi /etc/sysconfig/network将HOSTNAME=localhost改成HOSTNAME=sp1

在sp2节点上执行:vi /etc/sysconfig/network将HOSTNAME=localhost改成HOSTNAME=sp2

在sp3节点上执行:vi /etc/sysconfig/network将HOSTNAME=localhost改成HOSTNAME=sp3

配置/etc/hosts主机名和IP地址映射关系,如下:

每个节点配置为:

192.168.1.21    sp1

192.168.1.22    sp2

192.168.1.23    sp3

关闭防火墙如下:

停止运行防火墙:service iptables stop

关闭防火墙自启动:chkconfig iptables off

验证防火墙是否关闭:chkconfig --list | grep iptables

生成ssh免密码登陆如下:

分别在每个节点上生成公钥私钥:

ssh-keygen -t rsa三次回车

cp id_rsa.put authorized_keys

将sp2节点和sp3节点的authorized_keys的内容复制到sp1节点上:

sp2节点上执行:ssh-copy-id -i sp1

sp3节点上执行:ssh-copy-id -i sp1

将sp1节点的authorized_keys(这个authorized_keys的内容是三个节点的公钥)的复制到sp2节点和sp3节点上:

sp1节点上执行:scp /root/.ssh/authorized_keys sp2:/root/.ssh/

sp1节点上执行:scp /root/.ssh/authorized_keys sp3:/root/.ssh/

配置ssh免密码登陆成功,验证如下:

sp1节点上执行:ssh sp2和ssh sp3

sp2节点上执行:ssh sp1和ssh sp3

sp3节点上执行:ssh sp2和ssh sp1

从网上下载jdk-6u45-linux-x64.bin文件,将这个文件使用WinSCP工具复制到sp1节点的/usr/local/jdk/下。

在sp1节点上安装jdk-6u45-linux-x64.bin,如下:

进入/usr/local/jdk/目录:cd /usr/local/jdk

为jdk-6u45-linux-x64.bin赋予执行权限:chmod u+x jdk-6u45-linux-x64.bin

将jdk-6u45-linux-x64.bin解压到/usr/local/jdk/文件夹下:./jdk-6u45-linux-x64.bin

将解压出来的jdk-1.6.43重命名为jdk6:mv jdk-1.6.43 jdk6

配置jdk到系统环境变量:vi /etc/profile添加内容如下:

export JAVA_HOME=/usr/local/jdk/jdk6

export PATH=.:$JAVA_HOME/bin:$PATH

使修改立即生效:source /etc/profile

验证jdk安装是否成功:java -version

从网上下载scala-2.9.3.tgz,spark-1.1.0-bin-hadoop2.4.tgz两个压缩包;将这两个压缩包使用WinSCP工具复制到sp1节点的/usr/local/spark1/下。

在sp1节点上安装scala-2.9.3.tgz,如下:

进入/usr/local/spark1/目录下:cd /usr/local/spark1/

解压scala-2.9.3.tgz:tar -zxvf scala-2.9.3.tgz

重命名解压出来的scala-2.9.3为scala:mv scala-2.9.3 scala

配置scala到系统环境变量:vi /etc/profile添加内容如下:

export SCALA_HOME=/usr/local/spark1/scala

export PATH=.:$SCALA_HOME/bin:$JAVA_HOME/bin:$PATH

使修改立即生效:source /etc/profile

验证scala安装是否成功:scala 或者 scala -version

在sp1节点上安装spark-1.1.0-bin-hadoop2.4.tgz,如下:

进入/usr/local/spark1/目录下:cd /usr/local/spark1/

解压spark-1.1.0-bin-hadoop2.4.tgz:tar -zxvf spark-1.1.0-bin-hadoop2.4.tgz

重命名解压出来的spark-1.1.0-bin-hadoop2.4为spark:mv spark-1.1.0-bin-hadoop2.4 spark

配置scala到系统环境变量:vi /etc/profile添加内容如下:

export SPARK_HOME=/usr/local/spark1/spark

export PATH=.:$SPARK_HOME/bin:$SCALA_HOME/bin:$JAVA_HOME/bin:$PATH

使修改立即生效:source /etc/profile

配置spark运行依赖的/usr/local/spark1/spark/conf/spark-env.sh文件,添加内容如下:

export SCALA_HOME=/usr/local/spark1/scala

export JAVA_HOME=/usr/local/jdk/jdk6

export SPARK_MASTER_IP=sp1

export SPARK_WORKER_CORES=1

export SPARK_WORKER_MEMORY=512m

export SPARK_WORKER_PORT=8888

export SPARK_WORKER_INSTANCES=1

配置spark的从节点/usr/local/spark1/spark/conf/slaves文件,将默认的localhost修改为如下:

sp1

sp2

sp3

配置成功后,将环境变量,/usr/local/spark1和/usr/local/jdk复制到sp2和sp3节点上,如下:

复制sp1节点环境变量到sp2节点:scp /etc/profile sp2:/etc/

复制sp1节点环境变量到sp3节点:scp /etc/profile sp3:/etc/

***注意:环境变量复制成功后需要分别在sp2节点和sp3节点上执行命令使修改立即生效:source /etc/profile

复制sp1节点解压出来配置好的spark和scala到sp2节点:scp -r /usr/local/* sp2:/usr/local/

复制sp1节点解压出来配置好的spark和scala到sp3节点:scp -r /usr/local/* sp3:/usr/local/

***注意:按照上述步骤完成后即可启动spark集群。

启动spark命令:start-all.sh

[root@sp1 sbin]# start-all.sh

starting org.apache.spark.deploy.master.Master, logging to
/usr/local/spark1/spark/sbin/../logs/spark-root-org.apache.spark.deploy.master.Master-1-sp1.out

sp3: starting org.apache.spark.deploy.worker.Worker, logging to
/usr/local/spark1/spark/sbin/../logs/spark-root-org.apache.spark.deploy.worker.Worker-1-sp3.out

sp2: starting org.apache.spark.deploy.worker.Worker, logging to
/usr/local/spark1/spark/sbin/../logs/spark-root-org.apache.spark.deploy.worker.Worker-1-sp2.out

sp1: starting org.apache.spark.deploy.worker.Worker, logging to
/usr/local/spark1/spark/sbin/../logs/spark-root-org.apache.spark.deploy.worker.Worker-1-sp1.out

验证spark启动是否成功1:分别在三个节点上执行jps命令,结果如下为正确(忽略进程号):

sp1

2305 Worker

2156 Master

2410 Jps

sp2

2057 Worker

2138 Jps

sp3

2056 Worker

2136 Jps

验证spark启动是否成功2:在浏览器中输入localhost:8080验证是否启动成功。

停止spark命令:stop-all.sh

至此spark的standalone模式集群(3个节点)部署完成。

在h2的yarn上部署spark集群

spark1.1.0部署standalone分布式集群的更多相关文章

  1. 三、Linux部署MinIO分布式集群

    MinIO的官方网站非常详细,以下只是本人学习过程的整理 一.MinIO的基本概念 二.Windows安装与简单使用MinIO 三.Linux部署MinIO分布式集群 四.C#简单操作MinIO 一. ...

  2. 超详细!CentOS 7 + Hadoop3.0.0 搭建伪分布式集群

    超详细!CentOS 7 + Hadoop3.0.0 搭建伪分布式集群 ps:本文的步骤已自实现过一遍,在正文部分避开了旧版教程在新版使用导致出错的内容,因此版本一致的情况下照搬执行基本不会有大错误. ...

  3. Hadoop2.7.3+spark2.1.0+hbase0.98分布式集群部署

    运行环境配置(10.79.115.111-114) 1.关闭防火墙与selinux 关闭防火墙: CentOS 7.x默认使用的是firewall作为防火墙. systemctl stop firew ...

  4. Linux Centos7 环境搭建Docker部署Zookeeper分布式集群服务实战

    Zookeeper完全分布式集群服务 准备好3台服务器: [x]A-> centos-helios:192.168.19.1 [x]B-> centos-hestia:192.168.19 ...

  5. docker swarm快速部署redis分布式集群

    环境准备 四台虚拟机 192.168.2.38(管理节点) 192.168.2.81(工作节点) 192.168.2.100(工作节点) 192.168.2.102(工作节点) 时间同步 每台机器都执 ...

  6. hadoop2.2.0的ha分布式集群搭建

    hadoop2.2.0 ha集群搭建 使用的文件如下:    jdk-6u45-linux-x64.bin    hadoop-2.2.0.x86_64.tar    zookeeper-3.4.5. ...

  7. hadoop学习笔记之一步一步部署hadoop分布式集群

    一.准备工作 同一个局域网中的三台linux虚拟机,我用的是redhat6.4,如果主机是windows操作系统,可以先安装vmware workstation, 然后在workstation中装上3 ...

  8. Redis(1.11)Redis4.0.11 cluster 分布式集群搭建

    概念与了解:Redis(1.7)Redis高可用架构(理论篇) [0]试验环境 结构图如下: (这里试验没有那么多机器,就用3台机器搭建试验) redis1是redis集群的一个节点A,上面运行了两个 ...

  9. Linux下部署Kafka分布式集群,安装与测试

    注意:部署Kafka之前先部署环境JAVA.Zookeeper 准备三台CentOS_6.5_x64服务器,分别是:IP: 192.168.0.249 dbTest249 Kafka IP: 192. ...

随机推荐

  1. Linux安装应用程序对程序文件owner/group和执行程序帐号设置的规范做法

    本文原文链接:http://blog.csdn.net/bluishglc/article/details/24384189 转载请注明出外! 本文面向的是在server环境下对已编译.自解压应用程序 ...

  2. Java基础知识强化79:被遗忘的Java Math类

    1. Math类概述 Math类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. 2. 成员变量 和 成员方法(常用的) (1)成员变量 public static final d ...

  3. Python基础----函数

    1.作用域: 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. if 1==1: name = 'wupeiqi' print name 下面的结论对吗? 外层变量,可以被内 ...

  4. ShareSDK 社会化分享 集成步骤

    第一步 :获取ShareSDK 官网:http://www.mob.com 完整的集成文档:http://wiki.mob.com/android-sharesdk%E5%AE%8C%E6%95%B4 ...

  5. Visual Studio写的项目在 IIS 服务器上运行的两种简单方法

    首先需要PC上开启了IIS服务,相关方法网上很多,也很简单 第一种:直接在项目中操作 1.创建一个项目,然后右击选中项目,右击,单击属性,打开项目属性标签页面 如图,选择Web标签,在服务器栏目中选中 ...

  6. knockout --- foreach -- 前端必备

    很久很久没写博客了,丫的,节操掉一地了,颓废了,惭愧. 很久很久没有弄 knouckout.js 了,今天重新操作,蛋疼啊,忘记得差不多了,于是只好硬着头皮再去看官网,于是,feel慢慢回来了. 本来 ...

  7. 新浪微博开放平台OAuth授权解决方案(含代码)

    前几日一位朋友项目中需要使用新浪微博的接口,故和这位朋友一同研究了新浪微博开放平台上面所提供的资料,首先要使用这些接口是需要用户登录并且授权的,新浪微博开放平台其实是提供两种授权方式的,第一种是:OA ...

  8. 对echarts的简单封装

    看了echarts的官网介绍:http://echarts.baidu.com/doc/example.html 看了网上人使用js对echarts的封装:http://blog.csdn.net/x ...

  9. Error prompt:“wget: unable to resolve host address”---Solution

    //Situation System prompts that:"wget: unable to resolve host address".   //Analysis   Una ...

  10. MySQL性能调优与架构设计读书笔记

    可扩展性设计之数据切分 14.2 数据的垂直切分 如何切分,切分到什么样的程度,是一个比较考验人的难题.只能在实际的应用场景中通过平衡各方面的成本和利益,才能分析出一个真正适合自己的拆分方案. 14. ...