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

《Hadoop篇》------大数据及Hadoop入门

目录

一、大数据及Hadoop入门

1.1 单节点、分布式、集群

1.1.1 大数据的概念

1.1.2 大数据的本质

二、HDFS Shell命令

2.1、常用相关命令

2.2、上传文件

2.2.1、上传文件介绍

2.2.2上传文件操作

2.3、下载文件

2.4、删除文件

2.5、创建目录

2.6、查看文件系统

2.7、拷贝文件

三、分布式系统原理

3.1、数据块

四、HDFS架构

五、Datanode服役(上线)和退役(下线)

5.1分发到其他节点

5.2、格式化并启动HDFS 

5.3、更新hdfs

六、Centos权限管理

6.1、权限介绍

6.2、修改权限

七、HDFS进程启动流程

八、Hadoop配置文件解释

8.1 hadoop内核和环境配置

8.2、mapreduce配置

8.3、yarn配置

8.4、slaves配置

九、hdfs及yarn启动验证:进程启动命令


一、大数据及Hadoop入门

1.1 单节点、分布式、集群

1.1.1 大数据的概念

大数据的5v特点

Volume:大量

Velocity:高速

Variety:多样

Value:价值

Veracity:真实性

1.1.2 大数据的本质

大数据的本质就是利用计算机集群来处理大批量的数据,大数据的技术关注点在于如何将数据分发给不同的计算机进行存储和处理。

✳ 1)单台计算机存储这些数据都是很困难的,那怎么办?

答:分发到不同的计算机存储。

✳ 2)只存储有没有意义?

答:无意义,存储是需要投入场地,投入服务器硬件设施,都需要钱维护。

✳ 3)那存储后需要什么?怎么样让存储变得有意义?

答:认真分析,真正地把数据转换成有价值的虚拟产品。

二、HDFS Shell命令

2.1、常用相关命令

hdfs dfs-cat  //查看
hdfs dfs-copyFromLocal  //从本地复制
hdfs dfs-copyToLocal  //复制至本地
hdfs dfs-cp  //复制
hdfs dfs-get  //获取
hdfs dfs-ls  //查看
hdfs dfs-mkdir  //创建文件
hdfs dfs-put  //传输
hdfs dfs-rm  //删除

2.2、上传文件

2.2.1、上传文件介绍

(1)全称形式

hdfs dfs-put  ./file hdfs://hadoop1:9000/

hdfs dfs-copyfromlocal  ./file  hdfs://hadoop1:9000/

(2)省略写法

hdfs dfs-put  ./file  /

hdfs dfs-copyfromlocal   ./file  /

问题:为什么能够省略具体hdfs对应ip地址呢?

答:配置了core-site.xml

2.2.2上传文件操作

-put方式上传

[root@hadoop1 ~]# cd /home/java    

[root@hadoop1 java]# ls

jdk  jdk_1.8.0_131.tar.gz

[root@hadoop1 java]# hdfs dfs -put  ./jdk_1.8.0_131.tar.gz  hdfs://hadoop1:9000/

-copyFromLocal方式上传

[root@hadoop1 ~]# cd /home/java    

[root@hadoop1 java]# ls

jdk  jdk_1.8.0_131.tar.gz

[root@hadoop1 java]# hdfs dfs -put  ./jdk_1.8.0_131.tar.gz  hdfs://hadoop1:9000/

2.3、下载文件

hdfs dfs -get HDFS的根路径下的文件  本地的文件系统

hdfs dfs -get hdfs://hadoop1:9000/hadoop-2.6.1.tar.gz  ./

hdfs dfs -copyToLocal /jdk_1.8.0_131.tar.gz ./

前面一个/代表HDFS的根路径,后面一个/代表Linux的根路径

2.4、删除文件

rm -rf dir  删除Linux本地文件系统中对应目录

hdfs dfs -rm /hadoop-2.6.1.tar.gz  删除hdfs文件系统中的内容

hdfs dfs -rm -r /dir  删除目录和子目录

2.5、创建目录

hdfs dfs -mkdir /dir  一个目录,不是递归目录

hdfs dfs -mkdir -p /dir1/dir2  递归目录

2.6、查看文件系统

hdfs dfs -ls /

2.7、拷贝文件

cp jdk_1.8.0_131.tar.gz  jdk_1   将后者拷贝到前者所在的文件夹中  Linux本地执行

hdfs dfs -cp /jdk_1.8.0_131.tar.gz /jdk1   HDFS文件系统中

三、分布式系统原理

3.1、数据块

把数据切分成一个个固定大小的块(物理切分,不是逻辑切分),将这些块存储到分布式文件系统上

四、HDFS架构

 HDFS的文件是在物理上分块存储的 (hadoop2.x版本它的默认blocksize大小128M)

五、Datanode服役(上线)和退役(下线)

5.1分发到其他节点

 scp /home/hadoop/hadoop-2.6.1/etc/hadoop/slaves hadoop2:/home/hadoop/hadoop-2.6.1/etc/hadoop/   分发到其他节点

5.2、格式化并启动HDFS 

hdfs namenode -format

start-dfs.sh

格式化,并启动HDFS

5.3、更新hdfs

hdfs dfsadmin -refreshNodes

六、Centos权限管理

6.1、权限介绍

每一组信息如“rwx”,每一个字符都有它自己的特定含义且先后位置是固定的,其中r是读权限、w是写权限、x是可执行权限、-没有对应字符的权限

 Linux里面对这些字符设置对应的数值,r是4,w是2,x是1,-是0。“rwx”则是7(=4+2+1)

6.2、修改权限

修改文件夹及子文件夹所有文件

chown 或 chomd  -R  “权限”或“名:组”  文件夹名称

七、HDFS进程启动流程

DataNode:负责数据块的存储,它是HDFS的小弟

Namenode:负责元数据的存储,接收客户端的请求,维护整个HDFS集群的目录树

Secondary:辅助namenode管理,分担namenode压力

八、Hadoop配置文件解释

8.1 hadoop内核和环境配置

(1)hadoop-env.sh:配置JDK的路径

(2)core-site.xml:配置Hadoop集群的元数据存储路径,配置主节点在哪一台机器上

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop1:9000</value>
指定namenode将来在哪一台节点启动,通信端口是9000,是fileSystem默认的端口号
        </property>
<property>
        <name>hadoop.tmp.dir </name>
        <value>/usr/hadoop-2.6.1/hdpdata</value>
指定元数据存储的路径,hdpdata是在执行 hdfs namenode -format后才会自动生成
</property>
</configuration>

8.2、mapreduce配置

主要配置mapred-site.xml

MR资源调度用Yarn

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

8.3、yarn配置

配置yarn-site.xml

<configuration>
<property>
<name>yarn.resourceManager.hostname</name>
<value>hadoop1</value>
配置Yarn老大【resourceManager】将来在哪一台节点启动,注意是自己的master
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
yarn的子服务,必须使用mapreduce_shuffle
</property>
</configuration

8.4、slaves配置

[root@hadoop1 hadoop]# cat /home/hadoop/hadoop-2.6.1/etc/hadoop/slaves
hadoop1
hadoop2
hadoop3
指定datanode将来在哪台节点启动

注:在一台节点上的相关配置修改,要分发到全部集群上

例:

[root@hadoop1 hadoop]#scp mapred-site.xml hadoop2:/home/hadoop/hadoop-2.6.1/etc/hadoop

九、hdfs及yarn启动验证:进程启动命令

namenode -format

格式化HDFS的作用是初始化集群

(1)HDFS的相关进程:

Namenode(老大)

Datanode(小弟)

SecondaryNameNode(checkpoint节点)

(2)Yarn相关进程

Resourcemanager(老大)

Nodemanager(小弟)

hdfs和yarn相关进程都启动后,hdfs集群管理页面和yarn管理界面才可访问成功

start-dfs.sh

start-yarn.sh

这两个命令等效于start-all.sh

kill - 9 

强制杀死该进程

hadoop-daemon.sh start namenode

单独启动HDFS相关的进程

相关文章:

《Hadoop篇》------大数据及Hadoop入门

目录 一、大数据及Hadoop入门 1.1 单节点、分布式、集群 1.1.1 大数据的概念 1.1.2 大数据的本质 二、HDFS Shell命令 2.1、常用相关命令 2.2、上传文件 2.2.1、上传文件介绍 2.2.2上传文件操作 2.3、下载文件 2.4、删除文件 2.5、创建目录 2.6、查看文件系统 2.…...

TCP核心机制详解(三)

目录 前言&#xff1a; 滑动窗口 滑动窗口处理丢包问题 流量控制 拥塞控制 延时应答 捎带应答 面向字节流 异常情况 小结&#xff1a; 前言&#xff1a; 前两篇文章讲述了&#xff0c;TCP十种核心机制的前三种。这篇文章详细介绍其他的一些核心机制&#xff0c;让我们…...

最易上手的爬虫请求库:Requests核心功能速览(下)

上一个章节我们讲了如何快速使用Requests发送网络请求、处理URL参数和提取响应内容,这些是最基本的操作。 然而还有很多场景下,我们的网络请求更加复杂。比如我们必须要定制请求头来假装成浏览器,不然可能会被网站识别为机器并且被屏蔽;又比如我们需要在发送请求时以表单形…...

生产故障|Kafka ISR频繁伸缩引发性能急剧下降

生产故障&#xff5c;Kafka ISR频繁伸缩引发性能急剧下降-阿里云开发者社区 本文是笔者双十一系列第二弹&#xff0c;源于一个双十一期间一个让笔者猝不及防的生产故障&#xff0c;本文将详细剖析Kafka的副本机制&#xff0c;以及ISR频繁变更(扩张与伸缩)为什么会导致集群不可…...

c++终极螺旋丸:₍˄·͈༝·͈˄*₎◞ ̑̑“类与对象的结束“是结束也是开始

文章目录 前言一.构造函数中的初始化列表 拷贝对象时的一些编译器优化二.static成员三.友元四.内部类总结前言 前两期我们将类和对象的重点讲的差不多了&#xff0c;这一篇文章主要进行收尾工作将类和对象其他的知识点拉出来梳理一遍&#xff0c;并且补充前两篇没有讲过的…...

【Python--torch.nn.functional】F.normalize用法 + 代码说明

【Python–torch.nn.functional】F.normalize介绍 代码说明 文章目录【Python--torch.nn.functional】F.normalize介绍 代码说明1. 介绍2. 代码说明2.1 一维Tensor2.2 二维Tensor2.3 三维Tensor3. 总结1. 介绍 import torch.nn.functional as F F.normalize(input: Tensor, …...

【算法题】1887. 使数组元素相等的减少操作次数

插&#xff1a; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家一起学习鸭~~~ 题目&#xff1a; 给你一个整数数组 nums &#xff0…...

GD库图片裁剪指定形状解决办法(PHP GD库 海报)

需求描述&#xff1a;需要把图片裁剪成一个指定的平行四边形&#xff0c;目的是使用GD库&#xff0c;把裁剪后的图片放在底图上面&#xff0c;使最终合成的图片看起来是一个底图平行四边形的样子提示&#xff1a;可以结合本作者的其他文章&#xff0c;来生成一个定制化的海报&a…...

redis的简介及应用场景

1、基本信息 Redis英文官网介绍&#xff1a; Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queri…...

2、HAL库利用滴答定时器systick(1ms中断)实现时间计数戳

文档说明&#xff1a;通过滴答定时器的1ms中断实现时间计数&#xff0c;标记需要的时间标志&#xff0c;在主函数中查询标志&#xff0c;避免延时函数消耗CPU 1、HAL库systick定时器说明 在CubeMx生成的代码main()函数首先执行的函数为HAL_Init();里面会进行滴答定时器初始化…...

Spring入门学习

Spring入门学习 文章目录Spring入门学习Spring概述Spring FrameworkIOCIOC容器DIIOC容器的实现类①FileSystemXmlApplicationContext②ClassPathXmlApplicationContext基于XML管理bean入门案例创建类创建xml在Spring配置文件中配置bean测试Spring概述 Spring 是最受欢迎的企业级…...

webpack(4版本)使用

webpack简介&#xff1a;webpack 是一种前端资源构建工具&#xff0c;一个静态模块打包器(module bundler)。在 webpack 看来, 前端的所有资源文件(js/json/css/img/less/...)都会作为模块处理。它将根据模块的依赖关系进行静态分析&#xff0c;打包生成对应的静态资源(bundle)…...

Linux安装ElasticSearch

下载地址&#xff1a;https://www.elastic.co/cn/downloads/past-releases#elasticsearch 1 版本选择 ElasticSearch 7 及以上版本都是自带的 jdk&#xff0c;假如需要配置指定的 jdk 版本的话&#xff0c;可以在 es 的 bin 目录下找到elasticsearch-env.bat 这个文件&#x…...

Linux中C语言编程经验总结

​ 修改记录 版本号日期更改理由V1.02022-03-15MD化 总则 仅总结一些常用且实用的编程规范和技巧&#xff0c;且避免记忆负担&#xff0c;聚焦影响比较大的20% ! 编译器 打开全warning编译器开关 正例 gcc -W -Wall -g -o someProc main.c反例 gcc -g -o someProc main…...

jvisualvm工具使用

jdk自带的工具jvisualvm&#xff0c;可以分析java内存使用情况&#xff0c;jvm相关的信息。 1、设置jvm启动参数 设置jvm参数**-Xms20m -Xmx20m -XX:PrintGCDetails** 最小和最大堆内存&#xff0c;打印gc详情 2、测试代码 TestScheduleClassGc package com.core.schedule;…...

redis五大IO网络模型、内存回收

目录1.0用户空间和内核态空间1.1 网络模型-阻塞IO1.2 网络模型-非阻塞IO1.3 网络模型-IO多路复用1.3.1 网络模型-IO多路复用-select方式1.3.2 网络模型-IO多路复用模型-poll模式1.3.3 网络模型-IO多路复用模型-epoll函数1.3.4 网络模型-epoll中的ET和LT1.3.5 网络模型-基于epol…...

【C/C++】内存管理详解

目录内存布局思维导图1.C/C内存分布数据段&#xff1a;栈&#xff1a;代码段&#xff1a;堆:2.C语言中动态内存管理方式3.C内存管理方式3.1new/delete操作内置类型3.2new和delete操作自定义类型4.operator new 与 operator delete函数5.new和delete的实现原理5.1内置类型5.2自定…...

Android ProcessLifecycleOwner 观察进程生命周期

文章目录简介使用依赖用法1&#xff0c;结合 LiveData用法2&#xff0c;获取 owner的 lifecycle 实例&#xff0c;并对 lifecycle 添加观察者简介 ProcessLifecycleOwner 直译&#xff0c;就是&#xff0c;进程生命周期所有者。 通过 DOC 注释了解到&#xff1a; Lifecycle.E…...

如何编写一个 npm 插件?

提到写 npm 插件&#xff0c;很多没搞过的可能第一感觉觉得很难&#xff0c;无从下手&#xff0c;其实不然。 我们甚至写个简单的 console.log(hello word)&#xff0c;都是可以当成一个插件发布上去的。 其实无从下手的主要难点还是在于你的具体要做的功能逻辑&#xff0c;这…...

mapstruct- 让VO,DTO,ENTITY转换更加便捷

mapstruct- 让VO&#xff0c;DTO&#xff0c;ENTITY转换更加便捷 1. 简介 MapStruct是一个代码生成器&#xff0c;简化了不同的Java Bean之间映射的处理&#xff0c;所谓映射指的就是从一个实体变化成一个实体。例如我们在实际开发中&#xff0c;DAO层的实体和一些数据传输对…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三&#xff0c;HubSpot宣布已构建与ChatGPT的深度集成&#xff0c;这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋&#xff0c;但同时也存在一些关于数据安全的担忧。 许多网络声音声称&#xff0c;这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

实战设计模式之模板方法模式

概述 模板方法模式定义了一个操作中的算法骨架&#xff0c;并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下&#xff0c;重新定义算法中的某些步骤。简单来说&#xff0c;就是在一个方法中定义了要执行的步骤顺序或算法框架&#xff0c;但允许子类…...

Spring AOP代理对象生成原理

代理对象生成的关键类是【AnnotationAwareAspectJAutoProxyCreator】&#xff0c;这个类继承了【BeanPostProcessor】是一个后置处理器 在bean对象生命周期中初始化时执行【org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization】方法时…...

生信服务器 | 做生信为什么推荐使用Linux服务器?

原文链接&#xff1a;生信服务器 | 做生信为什么推荐使用Linux服务器&#xff1f; 一、 做生信为什么推荐使用服务器&#xff1f; 大家好&#xff0c;我是小杜。在做生信分析的同学&#xff0c;或是将接触学习生信分析的同学&#xff0c;<font style"color:rgb(53, 1…...

2025 后端自学UNIAPP【项目实战:旅游项目】7、景点详情页面【完结】

1、获取景点详情的请求【my_api.js】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http(/login/getWXSessionKey, {code,avatar}); };//…...