文章目录

  • 零、本讲学习目标
  • 一、搭建伪分布式Hadoop
    • (一)登录ied虚拟机
    • (二)配置免密登录
      • 1、生成密钥对
      • 2、将生成的公钥发送到本机(虚拟机ied)
      • 3、验证虚拟机是否能免密登录本机
    • (三)下载与Spark版本匹配的Hadoop安装包
    • (四)将Hadoop安装包上传到虚拟机ied的/opt目录
    • (五)将Hadoop安装包解压到指定目录
    • (六)查看Hadoop的安装目录
      • 1、进入Hadoop安装目录查看
      • 2、查看etc/hadoop子目录
      • 3、查看sbin子目录
    • (七)配置Hadoop实现伪分布式
      • 1、修改环境配置文件 - hadoop-env.sh
      • 2、修改核心配置文件 - core-site.xml
      • 3、修改分布式文件系统配置文件 - hdfs-site .xml
      • 4、修改MapReduce配置文件 - mapred-site.xml
      • 5、修改yarn配置文件 - yarn-site.xml
      • 6、配置hadoop的环境变量
    • (八)创建存放生成文件的临时目录
    • (九)格式化名称节点
    • (十)启动与关闭hadoop服务
      • 1、启动Hadoop服务
      • 2、停止hadoop服务
  • 二、搭建伪分布式Spark
    • (一)进入spark配置目录
    • (二)生成环境配置文件 - spark-env.sh
    • (三)修改环境配置文件 - spark-env.sh
    • (四)配置spark环境变量
  • 三、启动伪分布式Spark
    • (一)启动hadoop服务
    • (二)启动spark服务
  • 四、交互式Spark Shell
    • (一)scala版spark shell
    • (二)python版spark shell
  • 五、访问Spark WebUI

零、本讲学习目标

  1. 学会搭建Spark伪分布式环境
  2. 学会启动Spark Shell进行交互式操作
  3. 学会使用Spark WebUI查看运行状态

Spark单机伪分布式是在一台机器上既有Master,又有Worker进程。搭建Spark单机伪分布式环境可在Hadoop伪分布式的基础上进行搭建。

一、搭建伪分布式Hadoop

(一)登录ied虚拟机

  • 利用hw_win7虚拟机上的SecureCRT登录ied虚拟机
  • 本机远程桌面连接hw_win7虚拟机【对外IP地址:192.168.177.180,私有IP地址:192.168.102】
  • 虚拟机ied上已经安装了Spark单机版环境,并不需要Hadoop,但是Spark伪分布式环境就需要建立在Hadoop伪分布式环境基础之上。

(二)配置免密登录

1、生成密钥对

  • 执行ssh-keygen命令后,一直敲回车,生成节点的公钥和私钥,生成的文件id_rsa会自动放在/root/.ssh目录下,然后我们可以把公钥发往远程机器或本机。

2、将生成的公钥发送到本机(虚拟机ied)

  • 执行命令:ssh-copy-id root@ied

3、验证虚拟机是否能免密登录本机

  • 执行命令:ssh ied,再执行命令:exit

(三)下载与Spark版本匹配的Hadoop安装包

  • 下载链接:https://pan.baidu.com/s/1w9E9MHAah4OAM4UnR-w8vA 提取码:d3hs

(四)将Hadoop安装包上传到虚拟机ied的/opt目录

  • 进入/opt目录,然后利用rz命令上传文件

(五)将Hadoop安装包解压到指定目录

  • 执行命令:tar -zxvf hadoop-2.7.1.tar.gz -C /usr/local

(六)查看Hadoop的安装目录

1、进入Hadoop安装目录查看

  • 执行命令:cd /usr/local/hadoop-2.7.1ll
  • bin目录:命令脚本
  • etc/hadoop目录:存放hadoop的配置文件
  • lib目录:hadoop运行的依赖jar包
  • sbin目录:存放启动和关闭hadoop等命令
  • libexec目录:存放的也是hadoop命令,但一般不常用
  • 最常用的就是bin和etc目录

2、查看etc/hadoop子目录

  • 勾出了Hadoop比较重要的配置文件

3、查看sbin子目录

  • 勾出了启动与停止dfs和yarn服务的脚本文件

(七)配置Hadoop实现伪分布式

1、修改环境配置文件 - hadoop-env.sh

  • 进入hadoop配置目录,执行命令:vim hadoop-env.sh
  • 需要添加或修改以下内容
export JAVA_HOME=/usr/local/jdk1.8.0_231
export HADOOP_HOME=/usr/local/hadoop-2.7.1
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"

  • 存盘退出,然后执行source hadoop-env.sh,让配置立即生效

2、修改核心配置文件 - core-site.xml

  • 执行命令:vim core-site.xml
<configuration><!--用来指定hdfs的老大,namenode的地址--><property><name>fs.defaultFS</name><value>hdfs://ied:9000</value></property><!--用来指定hadoop运行时产生文件的存放目录--><property><name>hadoop.tmp.dir</name><value>/usr/local/hadoop-2.7.1/tmp</value></property>
</configuration>

3、修改分布式文件系统配置文件 - hdfs-site .xml

  • 执行命令:vim hdfs-site.xml
<configuration><!--指定hdfs保存数据副本数量,默认值是3--><!--如果是伪分布模式,此值是1--><property><name>dfs.replication</name><value>1</value></property><!--设置hdfs的操作权限,false表示任何用户都可以在hdfs上操作文件--><property><name>dfs.permissions</name><value>false</value></property>
</configuration>

4、修改MapReduce配置文件 - mapred-site.xml

  • 执行命令:cp mapred-site.xml.template mapred-site.xml,基于模板文件生成配置文件
  • 执行命令:vim mapred-site.xml
<configuration><!--指定mapreduce运行在yarn上--><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>

  • 说明:yarn是资源协调工具,将MapReduce交给它来管理,效率更高。

5、修改yarn配置文件 - yarn-site.xml

  • 执行命令:vim yarn-site.xml
<configuration><!--指定yarn的老大resoucemanager的地址--><property><name>yarn.resourcemanager.hostname</name><value>ied</value></property><!--NodeManager获取数据的方式--><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>
</configuration>

6、配置hadoop的环境变量

  • 执行命令:vim /etc/profile
JAVA_HOME=/usr/local/jdk1.8.0_231
HADOOP_HOME=/usr/local/hadoop-2.7.1
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
SPARK_HOME=/usr/local/spark-2.4.4-bin-hadoop2.7
PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:$PATH
export JAVA_HOME HADOOP_HOME SPARK_HOME PATH CLASSPATH

  • 在配置Spark单机版时,就配置了SPARK_HOME
  • 存盘退出,执行命令source /etc/profile,让配置生效

(八)创建存放生成文件的临时目录

  • 返回到hadoop安装目录,创建tmp子目录

(九)格式化名称节点

  • 执行命令:hdfs namenode -format,格式化名称节点,形成可用的分布式文件系统HDFS
  • 名称节点格式化成功信息
  • 看到22/02/22 21:09:34 INFO common.Storage: Storage directory /usr/local/hadoop-2.7.1/tmp/dfs/name has been successfully formatted.,表明名称节点格式化节点成功

(十)启动与关闭hadoop服务

1、启动Hadoop服务

  • 执行命令:start-dfs.sh,启动dfs服务 - 分布式存储
  • 执行命令:start-yarn.sh,启动yarn服务 - 分布式计算
  • 执行命令:jps,查看hadoop进程

2、停止hadoop服务

  • 执行命令:stop-dfs.sh,停止dfs服务
  • 执行命令:stop-yarn.sh,停止yarn服务
  • 执行命令:jps,查看进程

二、搭建伪分布式Spark

  • 我们已经在单机版Spark基础上搭建了伪分布式Hadoop,下面通过Spark环境配置文件实现伪分布式Spark

(一)进入spark配置目录

  • 执行命令:cd $SPARK_HOME/conf

(二)生成环境配置文件 - spark-env.sh

  • 基于环境配置文件模板生成环境配置文件
  • 执行命令:cp spark-env.sh.template spark-env.sh

(三)修改环境配置文件 - spark-env.sh

  • 执行命令:vim spark-env.sh

(四)配置spark环境变量

  • 由于启动spark服务的命令是在spark安装目录下的sbin里,因此要添加到环境变量配置文件里

  • 执行命令:vim /etc/profile

JAVA_HOME=/usr/local/jdk1.8.0_231
HADOOP_HOME=/usr/local/hadoop-2.7.1
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
SPARK_HOME=/usr/local/spark-2.4.4-bin-hadoop2.7
PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH
export JAVA_HOME HADOOP_HOME SPARK_HOME PATH CLASSPATH

  • 存盘退出,执行命令:source /etc/profile,让环境变量配置生效

三、启动伪分布式Spark

(一)启动hadoop服务

  • 执行命令:start-dfs.sh
  • 执行命令:start-yarn.sh

(二)启动spark服务

  • 执行命令:start-master.sh,启动spark老大 - Master
  • 执行命令:start-slaves.sh,启动spark小弟 - Worker
  • 查看进程
  • 执行命令:vim $SPARK_HOME/sbin/spark-config.sh,添加JAVA_HOME环境变量

  • 存盘退出,执行命令:source $SPARK_HOME/sbin/spark-config.sh,让配置生效
  • 此时,再执行命令:start-slaves.sh,启动spark小弟 - Worker

四、交互式Spark Shell

(一)scala版spark shell

  • 执行命令:spark-shell --master=local
  • scala>提示符后面执行:quit,退出scala版spark shell

(二)python版spark shell

  • 执行命令:pyspark --master=local
  • >>>提示符后执行exit()函数退出python版spark shell

五、访问Spark WebUI

  • 启动scala版spark shell

  • 访问http://192.168.1.110:4040 - 注意端口号是4040

  • 关闭与禁用虚拟机ied的防火墙

  • 执行命令:systemctl stop firewalld.service

  • 执行命令:systemctl disable firewalld.service

  • 执行命令:systemctl status firewalld,查看防火墙状态

  • 关闭hw_win7防火墙

  • 访问http://192.168.1.110:4040

Spark基础学习笔记04:搭建Spark伪分布式环境相关推荐

  1. Spark基础学习笔记:搭建spark on yarn 集群

    一.Spark On YARN架构 Spark On YARN模式遵循YARN的官方规范,YARN只负责资源的管理和调度,运行哪种应用程序由用户自己实现,因此可能在YARN上同时运行MapReduce ...

  2. Spark基础学习笔记10:Scala集成开发环境

    文章目录 零.本讲学习目标 一.搭建Scala的Eclipse开发环境 (一)安装Scala插件 (二)创建Scala项目 二.搭建Scala的IntelliJ IDEA开发环境 (一)启动IDEA ...

  3. Spark基础学习笔记22:Spark RDD案例分析

    文章目录 零.本讲学习目标 一.案例分析:Spark RDD实现单词计数 (一)案例概述 (二)实现步骤 1.新建Maven管理的Spark项目 2.添加Scala和Spark依赖 3.创建WordC ...

  4. Spark基础学习笔记02:Spark运行时架构

    文章目录 零.本讲学习目标 一.Spark运行时架构 二.YARN集群架构 (一)YARN集群主要组件 1.ResourceManager - 资源管理器 2.NodeManager - 节点管理器 ...

  5. Docker基础学习笔记( 搭建web漏洞检测环境和容器中运行Django项目)

    目录 一.Docker技术的学习 1.1.docker安装(ubuntu16.04) 1.1.1.apt-get换国内清华源 1.1.2.安装最新版本的Docker 1.2.docker容器与镜像使用 ...

  6. 2022年Spark基础学习笔记目录

    一.Spark学习笔记 在私有云上创建与配置虚拟机 Spark基础学习笔记01:初步了解Spark Spark基础学习笔记02:Spark运行时架构 Spark基础学习笔记03:搭建Spark单机版环 ...

  7. 2022年Spark基础学习笔记

    一.Spark学习笔记 在OpenStack私有云上创建与配置虚拟机 Spark基础学习笔记01:初步了解Spark Spark基础学习笔记02:Spark运行时架构 Spark基础学习笔记03:搭建 ...

  8. Spark基础学习笔记16:创建RDD

    文章目录 零.本讲学习目标 一.RDD为何物 (一)RDD概念 (二)RDD示例 (三)RDD主要特征 二.做好准备工作 (一)准备文件 1.准备本地系统文件 2.准备HDFS系统文件 (二)启动Sp ...

  9. Windows 7 64位系统上搭建Hadoop伪分布式环境(很详细)

    在开始配置前,我们先了解Hadoop的三种运行模式. Hadoop的三种运行模式 独立(或本地)模式:无需运行任何守护进程,所有程序都在同一个JVM上执行.在独立模式下测试和调试MapReduce程序 ...

最新文章

  1. 【响应式Web前端设计】CSS后代选择器和子代选择器
  2. Android TextView 常用技巧
  3. 《机器学习实战》chapter 11 使用apriori算法进行关联分析
  4. QWT中Qdial的入门介绍
  5. git 如何同步本地tag与远程tag
  6. arch linux界面优化,Archlinux 启动优化
  7. Metricbeat添加ip address信息
  8. 2015年 StoiGdoi 反思总结与未来计划
  9. jspSmartUpload 组件的使用方法
  10. 怎么解除计算机管理员的身份,怎么取消管理员权限(怎么取消管理员取得所有权)...
  11. Cadence OrCAD Capture 全局修改TitleBlock信息
  12. blowfish java_Java与C++通过CBC、blowfish互相加解密
  13. Visual Studio.net 2003 安装和卸载的教训(包括软件下载地址及安装方法)
  14. 挑出区域内每一行最小值,并标记颜色
  15. 【探讨】打码平台是什么意思呢
  16. 加油站APP开发定制功能
  17. 交货状态html什么意思,Marc Jacobs The Uptown 手提包
  18. 创业公司如何分配股份与期权
  19. laravel学习途径
  20. jmeter—使用插件测试并发

热门文章

  1. Demo分享丨看ModelArts与HiLens是如何让车自己跑起来的
  2. 无码系列-3-代码架构约束
  3. express中间件系统的基本实现
  4. 【Python3网络爬虫开发实战】1.2.5-PhantomJS的安装
  5. Redis在Web项目中的应用与实践
  6. leetcode89 (2022.1.8)
  7. 自定义view 写一个popup view
  8. 和当前时间比较_货币的时间价值
  9. 扩展、统计线性化和无迹RTS平滑器
  10. 今天学到的几个有用的awk命令用法