文中的所有操作都是在之前的文章scala的安装及使用文章基础上建立的,重复操作已经简写;

配置中使用了master01、slave01、slave02、slave03;

一、虚拟机中操作(启动网卡)
sh /install/initNetwork.sh
ifup eth0

二、基础配置(主机名、IP配置、防火墙及selinux强制访问控制安全系统)
vi /etc/sysconfig/network (配置磁盘中主机名字)
vi /etc/hosts (配置映射,)
hostname 主机名 (修改内存中主机名)
然后,重新链接查看是否成功;

vi /etc/sysconfig/network-scripts/ifcfg-eth0 
查看内容是否设置成功:cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0 (设置需要重启的设备的名字)
TYPE=Ethernet(以太网)
ONBOOT=yes (设置为yes)
NM_CONTROLLED=yes
BOOTPROTO=static (设置为静态)
IPADDR=192.168.238.130 (本机IP地址)
NETMASK=255.255.255.0 (子网掩码)
GATEWAY=192.168.238.2 (网关)(查询本机网关:route -n)
DNS1=192.168.238.2
DNS2=8.8.8.8 (谷歌IP地址)

vi /etc/sysconfig/selinux
修改:SELINUX=disabled
去掉注释查看selinux内容:
grep -Ev '^#|^$' /etc/sysconfig/selinux

永久关闭防火墙:
service iptables stop
chkconfig iptables off

三、配置ssh免密登录(为root用户配置免s密码登录)
只需要master登录到salve各个节点即可,无需反向
[root@master01 ~]# ssh-keygen -t rsa 创建公匙
[root@master01 ~]# ssh-copy-id slave02 拷贝公匙

大数据学习交流群:217770236 让我我们一起学习大数据

四、搭建Spark集群

1、上传安装包到/install/目录

[root@master01 install]# ls
initNetwork.sh mytest.txt scala-2.11.8.tgz spark-2.1.1-bin-hadoop2.7.tgz

2、解压安装包并更名

[root@master01 install]# tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz -C /software/
[root@master01 software]# mv spark-2.1.1-bin-hadoop2.7/ spark-2.1.1

3、配置系统环境

 [root@master01 install]# vi /etc/profile

修改如下内容:

  JAVA_HOME=/software/jdk1.7.0_79
  HADOOP_HOME=/software/hadoop-2.7.3
  HBASE_HOME=/software/hbase-1.2.6
  SCALA_HOME=/software/scala-2.11.8
  SPARK_HOME=/software/spark-2.1.1
  PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/lib:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$SCALA_HOME/bin::$SPARK_HOME/bin:
  export PATH JAVA_HOME HADOOP_HOME HBASE_HOME SCALA_HOME SPARK_HOME
 [root@master01 install]# source /etc/profile

4、切换到hadoop用户并配置spark-env.sh

[root@master01 software]# su -l hadoop
[hadoop@master01 spark-2.1.1]$ cd /software/spark-2.1.1/conf/
[hadoop@master01 conf]$ cp spark-env.sh.template spark-env.sh
[hadoop@master01 conf]$ vi spark-env.sh

添加如下内容:

export JAVA_HOME=/software/jdk1.7.0_79
export SCALA_HOME=/software/scala-2.11.8
export HADOOP_HOME=/software/hadoop-2.7.3
export HADOOP_CONF_DIR=/software/hadoop-2.7.3/etc/hadoop
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=slave01:2181,slave02:2181,slave03:2181 -Dspark.deploy.zookeeper.dir=/spark" #export SPARK_MASTER_IP=master01
#export SPARK_WORKER_MEMORY=1500m

5、如果需要使用浏览器查看日志则需要开启历史日志服务:
[hadoop@master01 conf]$ cp spark-defaults.conf.template spark-defaults.conf
[hadoop@master01 conf]$ vi spark-defaults.conf
添加如下内容:

spark.master spark://master01:7077
spark.eventLog.enabled true
spark.eventLog.dir hdfs://ns1/sparkLog
spark.yarn.historyServer.address master01:18080
spark.history.fs.logDirectory hdfs://ns1/sparkLog

6、配置Spark集群的Worker节点
[hadoop@master01 conf]$ cp slaves.template slaves
[hadoop@master01 conf]$ vi slaves
修改成如下内容:

slave01
slave02
slave03

7、分发Spark的安装目录到各个Worker节点(即原DataNode节点)

#将所有的节点全部切换到hadoop用户
[root@master01 software]# su -l hadoop
[root@slave01 ~]# su -l hadoop
[root@slave02 ~]# su -l hadoop
[root@slave03 ~]# su -l hadoop

#分发Spark的安装目录到各个Worker节点
[hadoop@master01 software]$ scp -r /software/spark-2.1.1/ slave01:/software/
[hadoop@master01 software]$ scp -r /software/spark-2.1.1/ slave02:/software/
[hadoop@master01 software]$ scp -r /software/spark-2.1.1/ slave03:/software/

#分发环境配置文件到各个Worker节点
[root@master01 ~]# scp -r /etc/profile slave01:/etc/
[root@master01 ~]# scp -r /etc/profile slave02:/etc/
[root@master01 ~]# scp -r /etc/profile slave03:/etc/

立即生效配置文件:
[hadoop@slave01 software]$ source /etc/profile
[hadoop@slave02 software]$ source /etc/profile
[hadoop@slave03 software]$ source /etc/profile

五、启动Spark集群

【1、在slave节点启动zookeeper集群(小弟中选个leader和follower)】

  cd /software/zookeeper-3.4.10/bin/ && ./zkServer.sh start && cd - && jps
  cd /software/zookeeper-3.4.10/bin/ && ./zkServer.sh status && cd -

【2、master01启动HDFS集群】cd /software/ && start-dfs.sh && jps

【3、在master01节点上启动Spark集群的Master节点】
 [hadoop@master01 install]$ cd /software/spark-2.1.1/sbin/ && ./start-master.sh && jps

【4、在master01节点上启动Spark集群的所有Slave节点】
 [hadoop@master01 sbin]$ cd /software/spark-2.1.1/sbin/ && ./start-slaves.sh && jps

 注意:Worker进程是Spark集群的Worker进程

【5、如果需要使用浏览器来查看Spark的日志则需要启动历史日志服务(同样是在master01节点上启动日志服务)】
 [hadoop@master01 sbin]$ cd /software/spark-2.1.1/sbin/ && ./start-history-server.sh && jps

 注意:HistoryServer是历史日志服务进程(该进程只会在运行此start-history-server.sh脚本的节点上启动),而Master是Spark集群的Master进程

六、验证Spark集群搭建是否成功

1、使用浏览器确认Spark集群服务是否已经正常启动
http://master01的IP地址:8080/ 2、使用浏览器确认Spark日志服务是否已经正常启动(访问的端口18080来自于上面的日志服务配置)
http://master01的IP地址:18080/

下一篇:spark集群的简单测试和基础命令的使用

    spark高可用集群的搭建

spark集群搭建的更多相关文章

  1. (四)Spark集群搭建-Java&Python版Spark

    Spark集群搭建 视频教程 1.优酷 2.YouTube 安装scala环境 下载地址http://www.scala-lang.org/download/ 上传scala-2.10.5.tgz到m ...

  2. Spark集群搭建简要

    Spark集群搭建 1 Spark编译 1.1 下载源代码 git clone git://github.com/apache/spark.git -b branch-1.6 1.2 修改pom文件 ...

  3. Spark集群搭建简配+它到底有多快?【单挑纯C/CPP/HADOOP】

    最近耳闻Spark风生水起,这两天利用休息时间研究了一下,果然还是给人不少惊喜.可惜,笔者不善JAVA,只有PYTHON和SCALA接口.花了不少时间从零开始认识PYTHON和SCALA,不少时间答了 ...

  4. Spark集群搭建中的问题

    参照<Spark实战高手之路>学习的,书籍电子版在51CTO网站 资料链接 Hadoop下载[链接](http://archive.apache.org/dist/hadoop/core/ ...

  5. Spark集群搭建_Standalone

    2017年3月1日, 星期三 Spark集群搭建_Standalone Driver:    node1    Worker:  node2    Worker:  node3 1.下载安装 下载地址 ...

  6. Spark集群搭建_YARN

    2017年3月1日, 星期三 Spark集群搭建_YARN 前提:参考Spark集群搭建_Standalone   1.修改spark中conf中的spark-env.sh   2.Spark on ...

  7. Spark 集群搭建

    0. 说明 Spark 集群搭建 [集群规划] 服务器主机名 ip 节点配置 s101 192.168.23.101 Master s102 192.168.23.102 Worker s103 19 ...

  8. hadoop+spark集群搭建入门

    忽略元数据末尾 回到原数据开始处 Hadoop+spark集群搭建 说明: 本文档主要讲述hadoop+spark的集群搭建,linux环境是centos,本文档集群搭建使用两个节点作为集群环境:一个 ...

  9. Spark集群搭建(local、standalone、yarn)

    Spark集群搭建 local本地模式 下载安装包解压即可使用,测试(2.2版本)./bin/spark-submit --class org.apache.spark.examples.SparkP ...

随机推荐

  1. Centos7 网络报错Job for iptables.service failed because the control process exited with error code.

    今天在进行项目联系的时候,启动在待机的虚拟机,发现虚拟机的网络设置又出现了问题. 我以为像往常一样重启网卡服务就能成功,但是它却报了Job for iptables.service failed be ...

  2. POJ2391 Ombrophobic Bovines

    Ombrophobic Bovines Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 19359   Accepted: 4 ...

  3. ubuntu系统用docker搭建wordpress

    目标:在docker中搭建wordpress 安装顺序: 首先要有一个云服务器---购买或者自己搭建(本人是自己在主机上装了虚拟机,搭建了一个ubuntu14.04,安装链接:https://www. ...

  4. XML学习总结二——DTD

    主要用处是约束XML. 1.DTD分为内部DTD与外部DTD两类: 内部DTD:将DTD定义在XML文档的内部 <!DOCTYPE  根元素名  [    元素描述]> 外部DTD < ...

  5. js数组中容易误用的一些方法

    1.every和some 两个方法的参数都是一个函数,函数的有3个参数,依次是当前值value,索引index,数组array every判断数据中的每一项是否满足某个条件,如果满足就返回true,有 ...

  6. Maven4-仓库

    坐标和构建是一个构件在Maven世界中的逻辑表示方式,而其物理表示方式是文件.Maven通过仓库来统一管理这些文件 什么是Maven仓库? 在Maven世界中,任何一个依赖,插件或者项目构建的输出,都 ...

  7. linux 解决乱码问题

    乱码分两种情况: 1.终端(纯 shell 界面)的乱码  vi /etc/profile export LC_ALL="zh_CN.GB18030:zh_CN.GB2312:zh_CN.G ...

  8. 一把梭系列 之 颜值不够VsCode来凑

    如果您的孩子不适应编译型语言怎么办? 如果您的孩子贪玩不想花多时间在编程上怎么办? 如果您还没有孩子怎么办? 如果您夜晚兼职觉不够睡又怎么办? 不妨试试 “ 拍 簧 片 ”. 妈了巴子的有点麻烦,但别 ...

  9. Android Studio升级3.2.1后的合并XML出错的解决方案

    升级到3.2.1版本之后,遇到了合并XML出错的问题.错误内容大概如下: 当大家看到这个问题的时候,可能会有一行是可以点击的文件目录,点击到报错的地方. 如果没有可以点击的地方,也可以根据目录和 “行 ...

  10. Java 判断两个对象是否相等

    一.使用 == 与 equals == : 它的作用是判断两个对象的地址是不是相等.即,判断两个对象是不是同一个对象.(基本数据类型==比较的是值,引用数据类型==比较的是内存地址) equals() ...