当前位置: 首页 > article >正文

hadoop、hive、DBeaver的环境搭建及使用

本文主要介绍hadoop、hive的结构及使用,具体的操作步骤见最后的附件;

hadoop提供大数据的存储、资源调度、计算,分为三个模块:HDFS、YRAN、MapReduce
    HDFS提供数据的分布式存储,分为三个节点NameNode,DataNode,SecondaryNameNode

          1、当客户端发起读写数据请求时首先到 NameNode,NameNode审核权限、判断剩余空间,然后告知客户端读写的DataNode地址,客户端向指定的DataNode发送数据包,被写入数据的DataNode同时完成数据副本的复制工作,将其接收的数据分发给其它DataNode

         2、hdfs以biock(块)为单位存储文件,每个块默认256M,可调整块的大小,每个块可创建多个(可设置)备份来保证存储文件的安全性
         3、edits文件:是一个流水账文件,记录hdfs中的每一次操作,也记录了文件和block的对应关系,一个文件如果经过多次操作,在edits中存在多条记录、检索文件时效率比较低,所以就有了edits文件的合并

         4、edits文件合并后的文件叫做fsimage,只保留文件的最终结果,合并文件的操作是SecondaryNameNode来完成

         NameNode基于edits和FSImage的配合,完成整个文件系统文件的管理。

         启动和停止:start-dfs.sh  、stop-dfs.sh

   YARN是hadoop里面的资源调度组件,分为:ResourceManager,NodeManager,ProxyServer,JobHistoryServer

        1、ResourceManager:整个集群的资源调度者, 负责协调调度各个程序所需的资源。
        2、NodeManager:单个服务器的资源调度者,负责调度单个服务器上的资源提供给应用程序使用。
        3、ProxyServer:应用程序代理,yarn在运行时对外提供了一个web ui站点,代理服务器的功能就是最大限度保障对WEB UI的访问是安全的
        4、JobHistoryServer:历史服务器,应用程序历史信息记录服务,日志是在容器中产生的,分布在不同的服务器中难以查询,JobHistoryServer抓取所有的日志在web ui中展示

        单个任务在单个服务器上需要的资源称之为容器(container),NodeManager预先占有这些资源供任务使用;

        启动和停止yarn:start-yarn.sh、stop-yarn.sh

   mapReduce是hadoop的分布式计算组件,运行在yarn中的,不需要单独启动;

        MapReduce提供了两个接口:
            Map功能接口提供了“分散”的功能, 由服务器分布式对数据进行处理
            Reduce功能接口提供了“汇总(聚合)”的功能,将分布式的处理结果汇总统计

       MapReduce 代码比较老,难以学习使用,在MapReduce基础上推出了一些新的工具,底层都是MapReduce在执行
 

Hive主要包含两个模块

     元数据管理:metastore服务,用于存储元数据,如通过load等命令将文本文件存储在mysql等数据库中
     sql解析器:将SQL语句 翻译成 MapReduce 程序运行

    hive是单机部署,但是可以使用 分布式的mapReduce进行计算   

使用hive需要启动metastore和客户端服务(用于客户端连接):

    启动元数据管理服务
        前台启动:bin/hive --service metastore 
        后台启动:nohup bin/hive --service metastore >> logs/metastore.log 2>&1 &
    启动客户端,二选一,启动后就可以通过DBeaver或DataGrid等工具连接hive进行操作了
        Hive Shell方式(可以直接写SQL): bin/hive
        Hive ThriftServer方式(不可直接写SQL,需要外部客户端链接使用): bin/hive --service hiveserver2

   数据库中的列和文本文件中的列是一一对应的,所以要指定列和列之间的分隔符,hive默认是以”\001”作为分隔符,也可以手动指定


hive和mysql数据库的不同:

  hive内部表和外部表:
     内部表类似数据库中的表,表和数据是一体的,删除表后数据也删除了
     外部表是表和数据是独立的,创建表时指定了目录,那这个目录中的文本文件就默认成为了表数据,删除表后只是表删除了,数据还在    
  hive中有集合列:array,map,struct 使用这些列时需要指定集合中不同元素之间的分隔符

具体操作步骤及hive的类sql操作见下面附件:

链接:https://pan.baidu.com/s/1i_CefoRjWnO5fZ54AOhxhQ?pwd=g33j 

相关视频课程推荐:      2023新版黑马程序员大数据入门到实战教程,大数据开发必会的Hadoop、Hive,云平台实战项目全套一网打尽_哔哩哔哩_bilibili


 


http://www.kler.cn/news/134710.html

相关文章:

  • CorelDraw2024(CDR)- 矢量图制作软件介绍
  • CentOS安装nodejs
  • 奇瑞金融:汽车金融行业架构设计
  • Modbus转Profinet网关在金银精炼控制系统中应用案例
  • 一步一步教你如何在Windows 10上使用Java,包括下载、安装和配置等
  • 系列六、多线程集合不安全
  • 开发《星球大战》小游戏的意义
  • AWS云服务器EC2实例实现ByConity快速部署
  • Python大数据之linux学习总结——day09_hive调优
  • 本地jar导入maven
  • 汇编层面有三个主要的操作对象
  • idea2023帅气的jpa函数生成辅助工具
  • 设计模式(二)-创建者模式(3)-抽象工厂模式
  • AI监管规则:各国为科技监管开辟了不同的道路
  • 【Mysql】基于MySQL协议的抓包工具
  • 使用Docker/K8S/Helm部署项目流程
  • Revive开发商加入VR开源标准OpenXR
  • 音频录制实现 绘制频谱
  • PyInstaller 如何 将第三方库打包到可执行文件
  • spring boot @Autowired 注入的服务为null
  • 1.索引的本质
  • 斯坦福机器学习 Lecture2 (假设函数、参数、样本等等术语,还有批量梯度下降法、随机梯度下降法 SGD 以及它们的相关推导,还有正态方程)
  • P2444 [POI2000] 病毒
  • 1688商品详情原数据(2023年11月最新版)
  • MySQL集群高可用架构之MMM
  • 八股文-TCP的四次挥手
  • “智能与未来”2024世亚国际智能机器人展会(简称:世亚智博会)
  • Swin Transformer
  • 云端援手:智能枢纽应对数字资产挑战 ——华为云11.11应用集成管理与创新专区优惠限时购
  • 图神经网络:消息传递算法