一.安装Linux

  需要:3台CentOS7虚拟机

  

  注意:

    虚拟机的网络设置为NAT模式,NAT模式可以在断网的情况下连接上虚拟机而桥架模式不行!

二.设置静态IP

  跳转目录到:

  

  修改IP设置:

  

  备注:执行scp命令拷贝设置文件到另外两个节点,修改IP分别为192.168.136.8和192.168.136.9

三.安装JDK

  参考我的博客:https://www.cnblogs.com/yszd/p/10140327.html

四.运行Spark预编译包中的实例

  1.测试Scala代码实例

    执行:

     运行Scala版本计算Pi的代码实例结果:

      

    表示运行成功!

  2.测试python代码实例

    执行:

    

    运行python版本计算Pi的代码实例,注意,若要是遇到下面的异常:

    

    表示没有指定ip,这是需要修改配置文件spark-env.sh,前往conf目录下执行

    

    拷贝配置模板文件,并修改为spark-env.sh,执行

    

    打开配置文件,添加,指定默认ip。

    

    然后继续执行计算Pi代码命令:

    

    结果如下:       

    

   表示执行成功!

五.本地体验Spark

  1.执行命令进入Spark交互模式

    

  2.编写简单代码实例

    

    执行结果:

    

六.免密码登录

  参考我的博客:https://www.cnblogs.com/yszd/p/10123911.html

  备注:如果是使用root或高权限的账号操作的,那么authorized_keys文件本身权限就够,无需追加权限,否则可以使用chmod添加权限。另外,各个节点首次访问时需要输入密码!

七.Zookeeper集群部署

  1.上传zookeeper到集群的各个节点

  

  2.修改配置,指定datadir和集群节点配置

  initLimit=
  syncLimit=
  dataDir=/hadoop/zookeeper
  dataLogDir=/usr/local/soft/zookeeper-3.4./log
  clientPort=
  #maxClientCnxns=
  server. = master::
  server. = slave01::
  server. = slave02::

  3.配置myid

    

    注意:内容为上面server.x中的x

  4.启动zookeeper节点,查看节点运行状态

    

    

    

    注意:节点zhen启动异常,查看zoo.cfg配置是否正确及防火墙是否已经关闭,确定无误后等待zookeeper自启!

    

    异常节点zhen启动成功,zookeeper集群搭建完成!

八.Spark Standalone集群搭建

  安装scala环境

    下载地址:https://www.scala-lang.org/download/2.11.12.html

    下拉到最下面,选择scala-2.11.12.rpm使用rpm安装:

    

  上传到集群:

    

  执行命令:rpm -ivh scala-2.11.12.rpm安装scala环境,输入scala -version检测是否安装成功

    

    表示安装成功!

  配置环境变量,编辑etc/profile,添加:

    

九.Hadoop3.2.1完全分布式搭建

  1.下载文件

    https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz

  2.上传并解压Hadoop文件

    

  3.修改相应配置文件

    3.1 etc/profile:

      

    3.2 HADOOP_HOME/etc/hadoop/hadoop-env.sh

      

    3.3 HADOOP_HOME/etc/hadoop/slaves,注意:在Hadoop3.1之后,slaves改为workers

      

    3.4 HADOOP_HOME/etc/hadoop/core-site.xml   

    <configuration>
  <property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
  </property>
  <property>
<name>io.file.buffer.size</name>
<value>131072</value>
  </property>
  <property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/soft/hadoop-3.2.1/tmp</value>
   </property>
    </configuration>

    3.5 HADOOP_HOME/etc/hadoop/hdfs-site.xml   

    <configuration>
  <property>
<name>dfs.replication</name>
<value>2</value>
  </property>
   <property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/soft/hadoop-3.2.1/hdfs/name</value>
  </property>
   <property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/soft/hadoop-3.2.1/hdfs/data</value>
  </property>
  <property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
  </property>
    </configuration>

    3.6 HADOOP_HOME/etc/hadoop/mapred-site.xml      

    <configuration>
  <property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
  </property>
    </configuration>

    注意:在Hadoop3.1之后,为了避免在执行任务时报一下错误:

    

    要额外添加一下配置(也就是上面报错信息提到的配置):

    

    3.7 HADOOP_HOME/etc/hadoop/yarn-site.xml    

    <configuration>
  <property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
  </property>
  <property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
   </property>
   <property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
  </property>
  <property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
   </property>
    </configuration>

    3.8 格式化Hadoop

      执行:hdfs namenode -format

  4.拷贝Hadoop到Worker节点

    执行命令:scp -r /usr/local/soft/hadoop-3.2.1 root@worker1:/usr/local/soft

    执行命令:scp -r /usr/local/soft/hadoop-3.2.1 root@worker2:/usr/local/soft  

  5.在浏览器上输入:master:50070查看,注意:在Hadoop3.1之后,端口修改为9870

    

    表示安装成功!

十.Spark-2.4.4完全分布式搭建

  1.下载安装文件

    https://www.apache.org/dyn/closer.lua/spark/spark-2.4.4/spark-2.4.4-bin-hadoop2.7.tgz

  2.上传并解压安装文件

    

  3.修改相应的配置文件

    3.1 etc/profile

      

    3.2 SPARK_HOME/conf/spark-env.sh

      

    3.3 SPARK_HOME/conf/slaves

      

十一.编辑集群的脚本

  1.启动脚本

#!/bin/bash
echo -e "=========================Start spark cluster=================================="
echo -e "Starting Hadoop..."
/usr/local/soft/hadoop-3.2.1/sbin/start-all.sh
echo -e "Starting Spark..."
/usr/local/soft/spark-2.4.4-bin-hadoop2.7/sbin/start-all.sh
echo -e "The Result of the Command \"jps\""
jps
echo -e "=================================End=========================================="

  注意:如果jps没有namenode,则说明namenode元数据损坏,这时需要前往bin目录下,执行:hadoop namenode -format重建一下 

  2.关闭脚本

#!/bin/bash
echo -e "=========================Stop spark cluster=================================="
echo -e "Stoping Hadoop..."
/usr/local/soft/hadoop-3.2.1/sbin/stop-all.sh
echo -e "Stoping Spark..."
/usr/local/soft/spark-2.4.4-bin-hadoop2.7/sbin/stop-all.sh
echo -e "The Result of the Command \"jps\""
jps
echo -e "=================================End=========================================="

十二.测试

  1.测试Hadoop

    1.1 创建测试文件    

    

    1.2 编辑内容

      spark scala hadoop spark hadoop java redis hbase hive kafka flume

    1.3 创建Hadoop文件夹,用于保存测试文件

      hadoop fs -mkdir -p /hadoop/data

    1.4 把创建好的测试文件导入到Hadoop中

      hadoop fs -put /wordcount.txt /hadoop/data/

    1.5 运行程序

         hadoop jar /usr/local/soft/hadoop-3.2.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar wordcount /hadoop/data /hadoop/output

       1.6 执行结果

     

  2.测试Spark

    执行Spark提交命令:./spark-submit --master yarn --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.4.4.jar 1000

    部分执行日志:

    

    执行结果:

    

    完成!!

Spark集群搭建【Spark+Hadoop+Scala+Zookeeper】的更多相关文章

  1. Spark集群搭建简要

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

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

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

  3. hadoop+spark集群搭建入门

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

  4. 十、scala、spark集群搭建

    spark集群搭建: 1.上传scala-2.10.6.tgz到master 2.解压scala-2.10.6.tgz 3.配置环境变量 export SCALA_HOME=/mnt/scala-2. ...

  5. spark集群搭建整理之解决亿级人群标签问题

    最近在做一个人群标签的项目,也就是根据客户的一些交易行为自动给客户打标签,而这些标签更有利于我们做商品推荐,目前打上标签的数据已达5亿+, 用户量大概1亿+,项目需求就是根据各种组合条件寻找标签和人群 ...

  6. spark集群搭建

    文中的所有操作都是在之前的文章scala的安装及使用文章基础上建立的,重复操作已经简写: 配置中使用了master01.slave01.slave02.slave03: 一.虚拟机中操作(启动网卡)s ...

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

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

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

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

  9. Spark 集群搭建

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

  10. Spark集群搭建中的问题

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

随机推荐

  1. c++中的左值与右值

    左值(lvalue)和右值(rvalue)是 c/c++ 中一个比较晦涩基础的概念,不少写了很久c/c++的人甚至没有听过这个名字,但这个概念到了 c++11 后却变得十分重要,它们是理解 move/ ...

  2. mysql 开发进阶篇系列 51 权限与安全(权限表user,db详细介绍 )

    一.概述 mysql 的权限系统主要用来对连接到数据库的用户进行权限验证,以此来判断此用户是否属于合法用户,以及合法用户给予的相应数据库权限.下面将介绍权限系统的工作原理,以及将要熟练掌握账号的管理和 ...

  3. sql server 备份与恢复系列三 简单恢复模式下的备份与还原

    一.概述 前面讲了备份的一些理论知识,这篇开始讲在简单恢复模式下的备份与还原.在简单模式下是不能做日志备份的,发生灾难后,数据库最后一次备份之后做的数据修改将是全部丢失的,所以在生产环境下,数据又很重 ...

  4. ①泡茶看数据结构-表ADT

    前言     小朽,晚上回到寝室.烧了开水,又泡了一杯下午喝了的小毛尖.耳机听着萨克斯,总结下今天学的数据结构和算法中的表ADT.       表ADT节点: #单链表   #双链表   #循环链表 ...

  5. MySQL表行数查询最佳实践

    日常应用运维工作中,Dev或者db本身都需要统计表的行数,以此作为应用或者维护的一个信息参考.也许很多人会忽略select count(*) from table_name类似的sql对数据库性能的影 ...

  6. TCP可靠数据传输

    TCP可靠数据传输   在TCP在IP不可靠的尽力而为的服务之上,创建了一条可靠数据传输服务(reliable data transfer service).TCP提供的可靠数据传输的方法涉及到可靠数 ...

  7. ZooKeeper系列(2):ZooKeeper命令行工具zkCli.sh

    ZooKeeper系列文章:https://www.cnblogs.com/f-ck-need-u/p/7576137.html#zk 1.简介 ZooKeeper提供了一个非常简单的命令行客户端zk ...

  8. QT 设置有效绘图区域

    void QPainter::setClipRect(int x, int y, int width, int height, Qt::ClipOperation operation = Qt::Re ...

  9. “多个单核CPU”与“单个多核CPU”哪种方式性能较强?

    多个单核CPU: 成本更高,因为每个CPU都需要一定的线路电路支持,这样对主板上布局布线极为不便.并且当运行多线程任务时,多线程间通信协同合作也是一个问题.依赖总线的传输,速度较慢,且每一个线程因为运 ...

  10. 数据可视化 seaborn绘图(2)

    统计关系可视化 最常用的关系可视化的函数是relplot seaborn.relplot(x=None, y=None, hue=None, size=None, style=None, data=N ...