IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Spark Standalone集群安装及测试案例 -> 正文阅读

[大数据]Spark Standalone集群安装及测试案例

Spark Standalone集群安装及测试案例

一、实验环境


在这里插入图片描述

二、总体步骤


  1. 准备至少3台主机
  2. 修改主机名称及IP与主机名的映射关系(3台主机都需要操作)
  3. 做免密登录操作(3台主机都需操作),如已做过,则可删除重新生成
  4. 在作为master节点的主机上对spark进行配置
  5. 需要将master节点上配置好的spark环境拷贝到worker主机上
  6. 启动spark集群(在主机节点上执行start-all.sh)
  7. 检查是否部署成功,如下步骤:
    • 检查进程:
      主节点:Master
      从节点:Worker
    • 访问SparkUI界面:http://ip|主机名:8080
    • 注意事项:
      如果需要主机名+端口号方式访问UI的话,需要做配置
      即在windows上进行虚拟机主机名与虚拟机IP地址映射关系
      C盘下:Window->System32->driver->etc/hosts
  8. 运行测试,演示wordcount

三、详细步骤


  1. 准备至少3台主机
    这里使用的是虚拟机,三台虚拟机主机,如下所示:
    在这里插入图片描述

  2. 修改主机名称及IP与主机名的映射关系3台主机都需要操作

    • 执行命令修改主机名称:
      hostnamectl --static set-hostname hadoop004
    • 编辑/etc/hosts文件,在文件末尾添加如下信息:
      192.168.76.129 hadoop002
      192.168.76.128 hadoop003
      192.168.76.132 hadoop004
      
      注意三台虚拟机主机配置的内容都一样
  3. 做免密登录操作3台主机都需操作),如已做过,则可删除重新生成

     ssh-keygen -t rsa (执行命令后,只需连续敲三次回车键即可)
     cd ~/.ssh/
     ssh-copy-id -i id_rsa.pub root@hadoop002
     ssh-copy-id -i id_rsa.pub root@hadoop003
     ssh-copy-id -i id_rsa.pub root@hadoop004
    

    注意三台主机都需要操作

  4. 在Master节点的主机(hadoop002)上配置,进入到Spark的安装目录下的conf目录下

    • 修改配置文件:spark-env.sh (事先不存在需要创建或者复制得到)
      export JAVA_HOME=/training/jdk1.8.0_171
      export SPARK_MASTER_HOST=hadoop002
      export SPARK_MASTER_PORT=7077
      #history 配置历史服务
      export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=/training/spark-2.4.8-bin-hadoop2.7/history"
      
      注意:history目录需要事先创建
    • 修改slaves文件(事先不存在,需要创建或者复制模板文件得到),将localhost改成从节点的主机名,如下:
      复制模板文件得到:cp slaves.template slaves
      hadoop003
      hadoop004
      
    • 复制spark-defaults.conf.template为spark-defaults.conf,并添加如下内容:
      spark.eventLog.enabled           true
      spark.eventLog.dir               /training/spark-2.4.8-bin-hadoop2.7/logs
      
  5. 需要将master节点上配置好的spark环境拷贝到worker主机上,执行如下命令:

    scp -r /training/spark-2.4.8-bin-hadoop2.7/ root@hadoop003:/training/
    scp -r /training/spark-2.4.8-bin-hadoop2.7/ root@hadoop004:/training/
    
  6. 启动spark集群,在主机节点上进入到spark的安装目录的sbin,执行:
    ./start-all.sh

  7. 检查是否部署成功,如下步骤:

    • 检查进程,存在以下进程说明配置成功:
      主节点:Master
      从节点:Worker
    • 访问SparkUI界面:http://ip|主机名:8080
      在这里插入图片描述
    • 注意事项
      如果需要主机名+端口号方式访问UI的话,需要做配置
      即在windows上进行虚拟机主机名与虚拟机IP地址映射关系
      C盘下:Window->System32->driver->etc/hosts
  8. 运行测试,演示wordcount

    • 准备测试数据:
      在主节点(hadoop002)上的在/tools目录下新建文件word.txt,添加如下内容:
      I love Guizhou
      I love Guiyang
      Guiyang is the capital of Guizhou
      
    • 将word.txt文件发送到从节点(hadoop003和hadoop004)对应的目录下,执行:
      scp -r word.txt root@hadoop003:/tools/
      scp -r word.txt root@hadoop004:/tools/
      
    • 启动spark-shell,进入到spark安装目录的bin目录下,执行:
      ./spark-shell --master spark://hadoop002:7077 --executor-memory 1g --total-executor-cores 2
      启动成功后,看到如下界面:
      在这里插入图片描述
    • 编写并运行如下代码,回车运行
      sc.textFile("file:///tools/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("file:///tools/results/spark/wc") 
      
      或者执行:
      sc.textFile("/tools/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("/tools/results/spark/wc")
      
    • 查看结果文件:进入到从节点hadoop003下的/tools/results/spark/wc目录下,看到如下文件:
      在这里插入图片描述
      进入到_temporary目录下,看到只有一个目录名称为0的目录,进入目录0下,看到如下:
      在这里插入图片描述
      进入上图红色框下的目录下,看到如下问文件:
      在这里插入图片描述
      其中part-00000就是结果文件,查看文件内容:
      在这里插入图片描述
      在从节点hadoop004下执行上述相同操作,会看到结果文件为part-00001,内容如下所示:
      在这里插入图片描述
      至此,全部过程已完结!!!!收工了!!!
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-23 16:45:39  更:2021-08-23 16:48:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 12:51:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码