首页 > 其他分享 >2023.7.10-2023.7.17暑假第一周博客

2023.7.10-2023.7.17暑假第一周博客

时间:2023-07-15 10:55:44浏览次数:41  
标签:hdfs HDFS 17 10 hadoop 2023.7 服务器 数据

2023.7.10

今天是暑假第一天,按照自己的计划,在这个假期我希望自己能够多学一些东西,毕竟自己已经上完了大二,马上就要进入大三,大学生活已经过半,在这两个月的事件中,我希望自己能对自己未来的职业有更充分的了解,同时对于大数据技术和数据的清洗,以及自己比较感兴趣的sovits和AI音乐方向的内容进行一些了解和学习,在今日的学习中,我再次打开了电脑上的VMware,上次用还是在大一学Linux基础的时候,没想到这么快又要进行使用,跟着黑马程序员进行学习,克隆了虚拟机并进行了相关配置,同时在配置的过程中出现了一些问题,包括但不限于对Linux的操作并不熟悉,比如shift+分号是退出输入命令,再输入wq才可以保存并退出,此外,我下载了finalshell对三台虚拟机进行了配置,在配置过程中不知道为什么,视频里很顺利但是我总是出现这样那样的问题,好在这些问题通过查询都进行了解决,明日开始就要正式进入大数据和hadoop的学习了,希望这个假期不要和上个假期一样被我荒废,真正学到一些东西。

2023.7.11

今日的学习进程主要为学习了大数据相关的导论,以前自己肯定是直接跳过这部分去看技术和实操了,但是现在觉得这些内容既然设置了就是有道理的,了解所学内容的发展过程和历史来源和基础概念是有助于后面内容的学习的的。

数据:一种可以被鉴别的对客观事件进行记录的符号,简单来说就是对人类的行为以及产生的事件的一种记录,我们无时无刻都在产生数据。

也可以说是日常生活所产生的信息记录

举例来说,当我们经常在淘宝购物,淘宝可以通过了解我们的下单时间、数量等,可以对我们的角色进行一个分析建模

当下时代已经是数据的时代,大数据技术栈是对超大规模的数据进行处理并挖掘出数据背后价值的技术体系

大数据的诞生,随着互联网的发展,互联网用户急剧增加,以至于在互联网内部存在着大量的数据,而需要数据的商业用户获得的数据也越多。

分布式处理技术:单个计算机无法处理过大的数据量,因此靠数量取胜,通过增加计算机的数量进行对数据的处理分析

从ApacheHadoop开源开始,众多企业都有了成熟的、开源的分布式处理方案

大数据使用分布式技术完成海量数据的处理,得到数据背后蕴含的价值

狭义上大数据是一种用来处理海量数据的软件技术体系

广义上是数字化时代。信息化时代的技术职称

 大数据的5V特征:Volume(体积)数据体量大  Varity(种类)种类、来源多样化  Value(价值)低价值密度,信息海量但是价值密度低

 

2023.7.12

Hadoop HDFS分布式文件系统

首先 为什么需要分布式存储 

由于文件太大,单台服务器无法承担处理它的工作,因此采用多台服务器的操作

实现过程是,把文件划分成多个部分,让每一个部分存储到不同的服务器上,它不仅仅是解决了能存的问题,多台服务器协同工作带来的也是性能的横向拓展

当我们把一个文件分成三个部分分别存储在三台不同的服务器中,相当于三倍的网络传输效率,三倍的磁盘写入效率,处理完后再把三个部分汇合成一个文件的过程中

同样是三倍的效率

分布式的基础架构分析

数量多,在现实生活中带来的往往不是提升而是混乱,因此我们需要思考,众多的服务器一起工作,如何高效而不出问题呢

1、去中心化模式

2、中心化模式

去中心化模式就是指没有明确的中心,众多服务器之间基于特定规则进行同步协调

中心化模式是指其中一台服务器作为中心,其他服务器都听从中心服务器的调度

大数据框架大多数的基础架构上都是符合中心化模式的,即有一个中心节点来统筹其他服务器的工作,统一指挥避免混乱,这种模式也被称为一主多从模式

例如公司企业、组织、行政管理都是中心化模式

Hadoop框架就是一个典型的主从模式的技术架构

HDFS的基础架构

1.HDFS和Hadoop的关系

2.Hadoop HDFS分布式存储系统的基础架构角色

HDFS是Hadoop三大组件之一,用于在多台服务器上构建存储集群,存储海量的数据

HDFS集群有三个角色

1.主角色 NameNode

2.从角色 DataNode

3.主角色辅助角色 SecondaryNameNode

可以简单理解为 领导、员工、秘书的关系

 

实操 集群环境部署

 

先放上成功截图

整个过程其实并不繁琐,按照教程来说应该是可以完成,但是在配置到最后一步的时候,当我启动了start-dfs.sh,直接给我报了DataNode进程的错误,直接就给我搞蒙了,由于自己接触Linux不多,因此尝试百度和询问chatGPT,修改了很多地方,node2: ERROR: Cannot set priority of datanode process 48724
node3: ERROR: Cannot set priority of datanode process 48690 我修改了很多地方 包括在$HADOOP_HOME/etc/hadoop/hadoop-env.sh最后一行加上HADOOP_SHELL_EXECNAME=root
和HADOOP_SHELL_EXECNAME="hdfs",以及在profile中添加了export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root 但仍然没有解决,经过四五个小时的鏖战后,我深感这样没有结果,因此通过快照,恢复到了刚刚配置好的情况下,然后重新进行配置,在配置的过程中,我发现似乎自己在建立data文件夹的时候多输入了一次cd,我的data文件夹是在根目录下而不是/export/server,我觉得可能是这样的问题,在这个过程中,我温习了linux的很多命令,同时熟悉了部署过程,然后最后要说的是,一定一定要记得快照!!这就像是你的重要数据要进行备份,这很重要!

 2023.7.13

HDFS内置了集群的一键启动和停止脚本

包括启动:start-dfs.sh

停止 stop-dfs.sh

单独控制进程的启停

hadoop-daemon.sh 单独控制所在机器的进程的启停

hadoop --daemon(start|status|stop) 

 2023.7.14 实操,使用命令操作HDFS文件系统

HDFS和Linux系统一样,都是以/作为根目录的组织形式,例如/usr/local/hello.txt

那么如何区分两者?

加前缀

Linux:file://

HDFS: hdfs://namenode:port/

例如 file:///usr/local/hello.txt

hdfs://node1:8020/usr.local/hello.txt,一般不需要用协议头

hadoop fs(旧版本用法)

hdfs dfs(新版本用法)

两者在操作文件上完全一致

1.在hdfs中创建文件夹

hadoop fs -mkdir [-p] <path>

hdfs dfs -mkdir [-p] <path>

path为待创建的目录

举例来说 hadoop fs -mkdir -p /itheima/bigdata 默认是在hadoop文件系统中创建文件夹

加上协议头了之后就会按照协议头的要求进行创建

查看hdfs文件系统中的命令

hadoop fs -ls +路径

hdfs dfs -ls+路径 整体上和linux的命令一致

hdfs dfs -ls -R / 查看所有的文件
3.上传文件到HDFS

hadoop fs/hdfs dfs + -put [-f] [-p] <localsrc> ... <dst>   -f表示覆盖目标文件,-p表示保留访问和修改时间,所有权和权限,localsrc是客户端所在机器,本地文件系统,dst是目标文件系统

对于当前的学习来说,一般是Linux系统向HDFS上传

 协议头可写可不写

查看HDFS文件内容 hadoop fs -cat <src> ...

 

 在实际的生产过程中,由于文件中存在的数据量可能特别大,如果只是单纯的用cat命令或许会一直显示,直到终端软件崩溃,我们可以在最后添加一个 | more 例如 hadoop fs -cat <src> | more

这样可以分页显示,当我们需要翻页的时候摁一下空格就可以了

5.下载HDFS文件

hadoop fs -get [-f] [-p] <src> ... <localdst>

表示下载到本地文件系统指定目录,其中localdst必须是目录

-f同样表示覆盖文件

-p同样表示保留访问和修改时间、所有权和权限

一般下载文件是从hdfs向linux下载

2023.7.15

今日由于亲戚结婚,因此在外

 

标签:hdfs,HDFS,17,10,hadoop,2023.7,服务器,数据
From: https://www.cnblogs.com/Arkiya/p/17541112.html

相关文章

  • 树莓派3b+安装smartdns windows10里的docker安装adguard home
    目录软件简介需求安装pihole安装方法很简单:手动下载安装程序并运行未完,待续软件简介SmartDNS是一个运行在本地的DNS服务器,它接受来自本地客户端的DNS查询请求,然后从多个上游DNS服务器获取DNS查询结果,并将访问速度最快的结果返回给客户端,以此提高网络访问速度。AdGu......
  • 07.10~07.21 总结
    07.10T1一开始理解错题意,后来看样例才发现。觉得暴力是能过的,推了下两个圆的交点坐标,然后转换成了一个求最多覆盖的问题。先想了下权值线段树,发现做不到。然后想到扫描线的思想,就考虑把点排序,打上+1/-1标记。然后排序。但是一直被排序后初始点在结束点后面的情况给卡住,后面......
  • 【雕爷学编程】Arduino动手做(162)---OPT101模拟光照传感器模块3
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是......
  • 【雕爷学编程】Arduino动手做(162)---OPT101模拟光照传感器模块2
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 170.jsfor循环注意点
    170.jsfor循环注意点for(vari=0,j=0;i<5,j<9;i++,j++){console.log(i,j);}//当判断语句含有多个语句时,以最后一个判断语句的值为准,因此上面的代码会执行10次。//当判断语句为空时,循环会一直进行。......
  • 99.为什么0.10.20.3如何解决这个问题
    99.为什么0.1+0.2!=0.3?如何解决这个问题?当计算机计算0.1+0.2的时候,实际上计算的是这两个数字在计算机里所存储的二进制,0.1和0.2在转换为二进制表示的时候会出现位数无限循环的情况。js中是以64位双精度格式来存储数字的,只有53位的有效数字,超过这个长度的位数会被......
  • 10.JavaScript原型,原型链有什么特点
    10.JavaScript原型,原型链?有什么特点?在js中我们是使用构造函数来新建一个对象的,每一个构造函数的内部都有一个prototype属性值,这个属性值是一个对象,这个对象包含了可以由该构造函数的所有实例共享的属性和方法。当我们使用构造函数新建一个对象后,在这个对象的内部将包含......
  • 107.SQL注入攻击
    107.SQL注入攻击?SQL注入攻击指的是攻击者在HTTP请求中注入恶意的SQL代码,服务器使用参数构建数据库SQL命令时,恶意SQL被一起构造,破坏原有SQL结构,并在数据库中执行,达到编写程序时意料之外结果的攻击行为。详细资料可以参考:《Web安全漏洞之SQL注入》《如何防范......
  • 110.Object.defineProperty介绍
    110.Object.defineProperty介绍?Object.defineProperty函数一共有三个参数,第一个参数是需要定义属性的对象,第二个参数是需要定义的属性,第三个是该属性描述符。一个属性的描述符有四个属性,分别是value属性的值,writable属性是否可写,enumerable属性是否可枚举,configurable......
  • 104.什么是CSRF攻击如何防范CSRF攻击
    104.什么是CSRF攻击?如何防范CSRF攻击?CSRF攻击指的是跨站请求伪造攻击,攻击者诱导用户进入一个第三方网站,然后该网站向被攻击网站发送跨站请求。如果用户在被攻击网站中保存了登录状态,那么攻击者就可以利用这个登录状态,绕过后台的用户验证,冒充用户向服务器执行一些操作。C......