实验五 其他工具实践


来自博主卷毛迷你猪的授权,来自我们老师PPT,我只是写自己的操作过程

  • 实验五 其他工具实践
  • 1.实验目的
  • 2.实验原理
  • 3.实验准备
  • 4.实验内容
    时长:3次课(3周)

实验目的

  • 掌握Flume的安装、配置和简单使用。
  • 掌握Sqoop的安装、配置和简单使用。

实验原理

  • 两个工具在大数据一般处理流程中的岗位和作用
  • 在这里插入图片描述

实验原理-Flume

  • Flume
  • Flume是apache的一个顶级项目,是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(比如文本、HDFS、Hbase等)的能力。
  • 本实验实现Avro Source + Memory Channel + Logger Sink的组合。使用apache-flume-1.8.0自带的例子:
    • 使用Avro Source接收外部数据源
    • Logger作为sink
    • 通过Avro RPC调用,将数据缓存在channel中,然后通过Logger打印出调用发送的数据

实验原理-Sqoop

  • Sqoop
  • Sqoop 是 apache 旗下一款“Hadoop 和关系数据库服务器之间传送数据”的工具。
  • 核心的功能有两个:
    • 数据的导入、迁入 ,例如:MySQL,Oracle 导入数据到 Hadoop 的 HDFS、HIVE、HBASE 等数据存储系统
    • 数据的导出、迁出:从 Hadoop 的文件系统中导出数据到关系数据库 MySQL
  • Sqoop 的本质还是一个命令行工具,和 HDFS,Hive 相比,并没有什么高深的理论。
  • Sqoop和Hive的区别:
    • Sqoop:本质就是迁移数据, 迁移的方式是把迁移命令转换成MR程序
    • Hive:本质就是执行计算,依赖于HDFS存储数据,把HiveQL转换成MR程序
    3.实验准备
  • 完成实验四,已经搭建好Hive环境

实验内容

【实验项目】

  • 项目1:Flume的配置与使用
  • 项目2:Sqoop常用功能的使用(HBase相关操作选做)

项目1:Flume的配置与使用

【参考链接】https://blog.csdn.net/qq_42881421/article/details/84782509(梁老师博客
配置截图在这里插入图片描述

【具体操作】

  1. 进入有权限的目录,并创建配置文件avro.conf(名字自取)

  2. 启动Flume agent,例如:
    flume-ng agent --conf ./ --conf-file avro.conf --name a1 Dflume.root.logger=INFO,console
    注意:(1)标红处的路径和配置文件名字,有需要请更变为自己的;
    (2)agent 的代号此处配置为a1,有需要请更变为自己的;
    (3)其他配置可以参考白皮书,请先弄懂命令再下手。

  3. 打开新的终端(重要),并创建新文件夹,例如testFlume

  4. 向新文件夹下写入一个log文件,例如: echo “hello world” > ~/testFlume/log.00

  5. 使用avro-client发送文件,例如:flume-ng avro-client -c ./ -H 0.0.0.0 -p 4141 -F testFlume/log.00
    注意:-c为conf所在目录,-H为主机, -p为端口号 -F为要发送文件所在的路径

  6. 在监听终端(启动Flume agent命令的终端)看到监听日志文件的内容。

  7. 结果图像
    在这里插入图片描述

项目2:Sqoop常用功能的使用

【参考链接】https://blog.csdn.net/qq_42881421/article/details/84783600(梁老师博客
安装配置截图:
在这里插入图片描述

【具体操作】
9. 在MySQL中创建数据库,并准备EMP表和DEPT表
在这里插入图片描述

  1. MySQL与HDFS数据互导,并查看数据迁移结果
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. MySQL与Hive数据互导,并查看数据迁移结果
    在这里插入图片描述
    MySQL—导入到–>Hive
    在这里插入图片描述
    Hive—导出到–> MySQL在这里插入图片描述

  3. MySQL与HBase数据互导,并查看数据迁移结果(2023年选做)
    HBase安装配置:
    在这里插入图片描述

MySQL —导入到–> HBase
在这里插入图片描述
实验心得:

在 Flume 的实践部分,创建配置文件并启动 Flume agent,在测试环境下使用 avro-client 发送数据,然后从监听终端查看数据接收情况。通过这样的实践,熟悉 Flume 的功能和命令行操作,进而掌握日志采集、聚合和传输的知识。

在 Sqoop 的实践部分,将 MySQL 数据库中的数据导入到 HDFS 、Hive 或 HBase 中,或将 Hive 中的数据导出到 MySQL 中。通过这样的实践,熟悉 Sqoop 的数据导入、导出和迁移的功能,掌握数据存储和管理的方法。

猜你喜欢

转载自blog.csdn.net/L2489754250/article/details/131066880