2023.11.8 hadoop学习-概述,hdfs dfs的shell命令

目录

1.分布式和集群

 2.Hadoop框架

3.版本更新

4.hadoop架构详解

5.页面访问端口

6.Hadoop-HDFS

HDFS架构 

HDFS副本

7.SHELL命令

 

 8.启动hive服务


1.分布式和集群

  • 分布式: 多台服务器协同配合完成同一个大任务(每个服务器都只完成大任务拆分出来的单独1个子任务)
  • 集 群: 多台服务器联合起来独立做相同的任务(多个服务器分担客户端发来的请求)
  • 注意: 集群如果客户端请求量(任务量)多,多个服务器同时处理不同请求(不同任务),如果请求量少,一台服务器干活,其他服务器做备份使用

 2.Hadoop框架

  • Hadoop简介:是Apache旗下的一个用Java语言实现开源软件框架,是一个存储和计算大规模数据的软件平台。
  • Hadoop起源: Doug Cutting 创建的,最早起源一个Nutch项目。
  • 三驾马车:  谷歌的三遍论文加速了hadoop的研发
  • Hadoop框架意义: 作为大数据解决方案,越来越多的企业将Hadoop 技术作为进入大数据领域的必备技术。
  • 狭义上来说:Hadoop指Apache这款开源框架,它的核心组件有:HDFS,MR,YANR
  • 广义上来说:Hadoop通常是指一个更广泛的概念——Hadoop生态圈
  • Hadoop发行版本: 分为开源社区版和商业版。
  • 开源社区版:指由Apache软件基金会维护的版本,是官方维护的版本体系,版本丰富,兼容性稍差。
  • 商业版:指由第三方商业公司在社区版Hadoop基础上进行了一些修改、整合以及各个服务组件兼容性测试而发行的版本,如: cloudera的CDH等。

3.版本更新

1.x版本系列: hadoop的第二代开源版本,该版本基本已被淘汰        hadoop组成:  HDFS(存储)和MapReduce(计算和资源调度)

2.x版本系列: 架构产生重大变化,引入了Yarn平台等许多新特性       hadoop组成:  HDFS(存储)和MapReduce(计算)和YARN(资源调度)

3.x版本系列: 因为2版本的jdk1.7不更新,基于jdk1.8升级产生3版本   hadoop组成:  HDFS(存储)和MapReduce(计算)和YARN(资源调度)

4.hadoop架构详解

当前版本hadoop组成: HDFS , MapReduce ,YARN

HDFS:(分布式文件系统),解决海量数据存储
    元数据: 描述核心数据的数据
    NameNode:集群当中的主节点,主要用于管理集群当中的各种数据
    SecondaryNameNode:主要能用于辅助NameNode进行文件块元数据存储
    DataNode:集群当中的从节点,主要用于存储真实的海量的业务数据


YARN:(作业调度和集群资源管理的框架),解决资源任务调度
    ResourceManager: 接收用户的计算请求任务,并负责集群的资源管理和分配
    NodeManager: 负责执行主节点分配的任务(给MR的计算程序提供资源)


MapReduce:(分布式运算编程框架),解决海量数据计算
    如何计算: 核心思想就是分而治之   Map负责分解,Reduce负责合并
    MR程序: 使用java/python然后去编写MR程序,成本高           如何解决?  在hive平台上编写sql,执行sql底层自动转为MR程序
    
MapReduce计算需要的数据和产生的结果需要HDFS来进行存储
MapReduce的运行需要由Yarn集群来提供资源调度。

5.页面访问端口

HDFS:9870

YARN:8088

jobhistory:19888

6.Hadoop-HDFS

HDFS存储大文件,把大文件默认切割成128M大小的block块,进行存储
HDFS存储块的时候,会给每个块进行备份(一共三份)
HDFS文件系统可存储超大文件,时效性稍差。
HDFS具有硬件故障检测和自动快速恢复功能。
HDFS为数据存储提供很强的扩展能力。
HDFS存储一般为一次写入,多次读取,只支持追加写入,不支持随机修改。
HDFS可在普通廉价的机器上运行。

HDFS架构 

1、Client
    发请求就是客户端。
    文件切分。文件上传 HDFS 的时候,Client 将文件切分成 一个一个的Block,然后进行存储
    与 NameNode 交互,获取文件的位置信息。
    与 DataNode 交互,读取或者写入数据。
    Client 提供一些命令来管理 和访问HDFS,比如启动或者关闭HDFS。
2、NameNode
    就是 master,它是一个主管、管理者。
    处理客户端读写请求。
    管理 HDFS 元数据(文件路径,文件的大小,文件的名字,文件权限,文件切割后的块(block)信息…)。
    配置3副本备份策略。
3、DataNode
    就是Slave。NameNode 下达命令,DataNode 执行实际的操作。
    存储实际的数据块(block)。
    执行数据块的读/写操作。
    定时向namenode汇报block信息。
4、Secondary NameNode
    并非 NameNode 的备份节点。当NameNode 挂掉的时候,它并不能马上替换 NameNode 并提供服务。
    只是辅助 NameNode,对HDFS元数据进行合并,合并后再交给NameNode。
    在紧急情况下,可辅助恢复 NameNode 部分数据。

HDFS副本

block块: HDFS被设计成能够在一个大集群中跨机器可靠地存储超大文件。它将每个文件拆分成一系列的数据块进行存储,这个数据块被称为block,除了最后一个,所有的数据块都是同样大小的。

block 块大小默认: 128M(134217728字节)

注意: 为了容错,文件的所有block都会有副本。每个文件的数据块大小和副本系数都是可配置的。
    
副本系数默认:  3个

hdfs默认文件: https://hadoop.apache.org/docs/r3.3.4/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

7.SHELL命令

hdfs的shell命令概念: 安装好hadoop环境之后,可以执行类似于Linux的shell命令对文件的操作,如ls、mkdir、rm等,对hdfs文件系统进行操作查看,创建,删除等。

hdfs的shell命令格式1: hadoop fs -命令 参数
hdfs的shell命令格式2: hdfs dfs -命令 参数

hdfs的家目录默认: /user/root   如果在使用命令操作的时候没有加根目录/,默认访问的是此家目录/user/root

查看目录下内容:  hdfs dfs -ls 目录的绝对路径
创建目录: hdfs dfs -mkdir 目录的绝对路径
创建文件: hdfs dfs -touch 文件的绝对路径
移动目录/文件: hdfs dfs -mv 要移动的目录或者文件的绝对路径  目标位置绝对路径
复制目录/文件: hdfs dfs -cp 要复制的目录或者文件的绝对路径  目标位置绝对路径
删除目录/文件: hdfs dfs -rm [-r] 要删除的目录或者文件的绝对路径
查看文件的内容: hdfs dfs -cat 要查看的文件的绝对路径          注意: 除了cat还有head,tail也能查看
查看hdfs其他shell命令帮助: hdfs dfs --help
注意: hdfs有相对路径,如果操作目录或者文件的时候没有以根目录/开头,就是相对路径,默认操作的是/user/root

把本地文件内容追加到hdfs指定文件中: hdfs dfs -appendToFile 本地文件路径 hdfs文件绝对路径

注意: window中使用页面可以完成window本地和hdfs的上传下载,当然linux中使用命令也可以完成文件的上传和下载
linux本地上传文件到hdfs中: hdfs dfs -put linux本地要上传的目录或者文件路径  hdfs中目标位置绝对路径
hdfs中下载文件到liunx本地: hdfs dfs -get hdfs中要下载的目录或者文件的绝对路径 linux本地目标位置路径 

 8.启动hive服务

后台启动metastore服务: nohup hive --service metastore &
后台启动hiveserver2服务: nohup hive --service hiveserver2 &
查看metastore和hiveserver2进程是否启动: jps                   注意: 服务名都叫RunJar,可以通过进程编号区分
服务启动需要一定时间可以使用lsof查看: lsof -i:10000              注意: 如果无内容继续等待,如果有内容代表启动成功

[root@node1 bin]# nohup hive --service metastore &
[1] 13490
nohup: 忽略输入并把输出追加到"nohup.out" 
回车

[root@node1 bin]# nohup hive --service hiveserver2 &
[2] 13632
nohup: 忽略输入并把输出追加到"nohup.out" 
回车


[root@node1 bin]# jps
...
13490 RunJar
13632 RunJar


[root@node1 bin]# 
# 注意:10000端口号一般需要等待3分钟左右才会查询到
[root@node1 bin]# lsof -i:10000
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    18804 root  520u  IPv6 266172      0t0  TCP *:ndmp (LISTEN)
# 此处代表hive启动成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/136688.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎样在iOS手机上进行自动化测试

Airtest支持iOS自动化测试,在Mac上为iOS手机部署iOS-Tagent之后,就可以使用AirtestIDE连接设备,像连接安卓设备一样,实时投影、控制手机。iOS测试不仅限于真机测试,iOS模拟器也可以进行。Mac端上部署完成后还可以提供给…

设计模式之组合模式-创建层次化的对象结构

目录 概述概念主要角色应用场景 组合模式的实现类图NS图基本代码组合模式的精髓意外收获(❀❀) 应用示例-公司组织架构管理需求结构图代码 组合模式的优缺点优点缺点 总结 概述 概念 组合模式是一种结构型设计模式,它允许将对象组合成树形结…

【Linux】 reboot 命令使用

reboot 命令用于用来重新启动计算机。 语法 reboot [参数] 命令选项及作用 执行令 man --reboot 执行命令结果 参数 -n : 在重开机前不做将记忆体资料写回硬盘的动作-w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里-d : 不把记录写到 /var/log…

拓世科技集团打造数字人营销解决方案,为车企提供新的“增长担当”

汽车,已经渐渐融入了现代人的日常生活,从高端的身份标志转变为普罗大众的出行选择,它驶入了千家万户,成为了我们日常出行的可靠伙伴,见证着人们的生活故事和时代的变迁。 中国汽车市场的蓬勃发展引起了业内外的广泛关…

解决Jenkins执行git脚本时报错:No such device or address问题

问题现象: Jenkins执行BeanShell脚本时,报错:jenkins fatal: could not read Username for http://112.11.120.1: No such device or address 解决方案: 解决服务器拉取git仓库的代码权限,使用高级子模块克隆功能。…

深入解析 Redis 分布式锁原理

一、实现原理 1.1 基本原理 JDK 原生的锁可以让不同线程之间以互斥的方式来访问共享资源,但如果想要在不同进程之间以互斥的方式来访问共享资源,JDK 原生的锁就无能为力了。此时可以使用 Redis 来实现分布式锁。 Redis 实现分布式锁的核心命令如下&am…

投票助手图文音视频礼物打赏流量主小程序开源版开发

投票助手图文音视频礼物打赏流量主小程序开源版开发 图文投票:用户可以发布图文投票,选择相应的选项进行投票。 音视频投票:用户可以发布音视频投票,观看音视频后选择相应的选项进行投票。 礼物打赏:用户可以在投票过…

cpu 支持内存带宽与内存最大长度的关系《鸟哥的 Linux 私房菜》

鸟哥的 Linux 私房菜 -- 计算机概论 -- 計算机:辅助人脑的好工具 同理,64 位 cpu 一次接受内存传递的 64bit 数据,内存字节地址用 64 位记录,最多能记录2^64个字节2^64Bytes2^34GB17179869184GB2^24TB,理论上&#xff…

Java后端开发——JDBC入门实验

JDBC(Java Database Connectivity)是Java编程语言中用于与数据库建立连接并进行数据库操作的API(应用程序编程接口)。JDBC允许开发人员连接到数据库,执行各种操作(如插入、更新、删除和查询数据&#xff09…

计算机考研408有多难?25考研经验贴,开个好头很有必要

前言 大家好,我是陈橘又青,相信关注我的各位小伙伴们中,大多都是在计算机专业的大学生吧! 每天都有许多人在后台私信我,问我要不要考研,我想说这个东西是因人而异的,像我本人就选择了就业&…

基于公共业务提取的架构演进——外部依赖防腐篇

1.背景 有了前两篇的帐号权限提取和功能设置提取的架构演进后,有一个问题就紧接着诞生了,对于诸多业务方来说,关键数据源的迁移如何在各个产品落地? 要知道这些数据都很关键: 对于帐号,获取不到帐号信息是…

如何像专家一样高效使用搜索引擎?适用于百度Baidu、谷歌Google

你几乎可以在互联网上搜索到任何内容,而Google是大多数人选择搜索信息的主要途径之一。 尽管频繁地使用Google,但是大部分互联网用户都不知道如何快速和高效地使用Google搜索。 可以说使用Google是一门艺术。 想要获得正确的答案,你需要提出正确的问题。想要快速地获得正…

【ElasticSearch系列-07】ES的开发场景和索引分片的设置及优化

ElasticSearch系列整体栏目 内容链接地址【一】ElasticSearch下载和安装https://zhenghuisheng.blog.csdn.net/article/details/129260827【二】ElasticSearch概念和基本操作https://blog.csdn.net/zhenghuishengq/article/details/134121631【三】ElasticSearch的高级查询Quer…

简单好看个人引导页毛玻璃页面 HTML 源码

毛玻璃个人引导页源码,界面简洁,已测可完美搭建,UI非常不错的,有兴趣的自行去安装体验吧,其它就没什么好介绍的了。 学习资料源代码:百度网盘 请输入提取码:ig8c

读程序员的制胜技笔记08_死磕优化(上)

1. 过早的优化是万恶之源 1.1. 著名的计算机科学家高德纳(Donald Knuth)的一句名言 1.2. 原话是:“对于约97%的微小优化点,我们应该忽略它们:过早的优化是万恶之源。而对于剩下的关键的3%,我们则不能放弃优化的机会。” 2. 过早…

适合汽车音频系统的ADAU1977WBCPZ、ADAU1978WBCPZ、ADAU1979WBCPZ四通道 ADC,24-bit,音频

一、ADAU1977WBCPZ 集成诊断功能的四通道ADC,音频 24 b 192k IC,SPI 40LFCSP ADAU1977集成4个高性能模数转换器(ADC),其直接耦合输入具有10 V rms性能。该ADC采用多位Σ-Δ架构,其连续时间前端能够实现低EMI性能。它可以直接连接…

11.9存储器实验总结(单ram,双ram,FIFO)

实验设计 单端口RAM实现 双端口RAM实现 FIFO实现 文件结构为

python-jupyter实现OpenAi语音对话聊天

1.安装jupyter 这里使用的是jupyter工具,安装时需要再cmd执行如下命令,由于直接执行pip install jupyter会很慢,咱们直接使用国内源 pip install --user jupyter -i http://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.t…

Python按类别和比例从Labelme数据集中划分出训练数据集和测试数据集

Python按类别和比例从Labelme数据集中划分出训练数据集和测试数据集 前言前提条件相关介绍实验环境按类别和比例从Labelme数据集中划分出训练数据集和测试数据集代码实现输出结果 前言 由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容&#x…

真正解决jellyfin硬解码转码

前段时间入手一个DS423集成显卡UHD600,搭了一个jellyfin,发现网上关于硬解码的教程基本都存在问题,没有真正解决我的硬解码问题。经过一系列分析修改,最终实现硬解码。先贴效果图: 下载安装jellyfin这里就不叙述&#…