配置三个节点的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. 人工智能2:智能Agent

    一.Agent基本定义 基于理性行为的Agent是本书人工智能方法的核心.Agent由传感器.执行器两个重要元件组成,具有与环境交互的能力,其能力是通过分析感知序列,经过Agent函数映射到相应的行动 ...

  2. lab3

    lamp: 在阿里云linux(Ubuntu)上安装Apache mysql php : apt-get install mysql_server mysql_client php5 php_mysq ...

  3. php微信接口验证写法

    <?php //获得接口认证 $timestamp = $_GET['timestamp']; $nonce = $_GET['nonce']; $token = 'weixin'; $sign ...

  4. CSS3中的transform变形

    在CSS3中,用Transform功能可以实现文字或图像的旋转.缩放.倾斜.移动这四种类型的变形,这四种变形分别使用rotate.scale.skew和translate这四种方法来实现.将这四种变形 ...

  5. SQL Server 和CLR集成

    通过在 Microsoft SQL Server 中托管 CLR(称为 CLR 集成),可以在托管代码中编写存储过程.触发器.用户定义函数.用户定义类型和用户定义聚合函数. 因为托管代码在执行之前会编 ...

  6. Struts2 UI标签

    表单标签的共同属性(该属性只在没有使用 simple 主题时才可以使用) form 标签  用来呈现 HTML 语言中的表单元素 默认情况下, form 标签将被呈现为一个表格形式的 HTML 表单. ...

  7. Android常用URI以及URI简介

    Android常用URI android管理联系人的URI: ContactsContract.Contacts.CONTENT_URI 管理联系人的Uri ContactsContract.Comm ...

  8. java8+spring+angularjs 项目应用

    最近有写一个电子订单商务网站,使用JAVA8,SPRING,ANGULARJS对项目使用的技术和大家分享. 第一次写博客,哪有不对需要改正的请联系改正. 因为是项目是我给别人做的无法提供源码见谅,我尽 ...

  9. .net转php laraval框架学习系列(一) 环境搭建

    之前也没写过什么博客,可能文章结构比较混乱,想到那写到哪. 主要是把自己学习中的经验写下来. 为什么选择laravel框架,是因为laravel框架目前是Php最流行的框架,深入研究后发现和asp.n ...

  10. Indy10 即时通讯Demo

    最近闲来无事,重新学习了Indy10,顺手写了一段即时通讯代码.与上次写的笔记有不同之处,但差别不大. 未研究过TCP打洞技术,所以下面的代码采用的是  客户端--服务器--客户端  模式,也就是服务 ...