1.hadoop入门

news/2024/11/15 16:56:32/文章来源:https://www.cnblogs.com/swh666/p/18401483

Hadoop入门

一.概念

1.hadoop是什么

(1)Hadoop是一个由apache基金会所开发的分布式系统基础架构

(2)主要解决,海量数据的存储和海量数据的分析计算问题

(3)广义上来说,hadoop通常是指一个更广泛的概念--hadoop生态圈

2.Hadoop发展历史

(1)创始人Doug Cutting,为了实现与Google类似的全文搜索功能,他在Lucene 框架基础上进行优化升级,查询引擎和索引引擎

(2)2001年年底Lucene成为Apache基金会的一个子项目

(3)对于海量数据的场景,Lucene框架面对与Google同样的困难,存储海量数据 困难,检索海量数据慢

(4)学习和模仿Google解决这些问题的方法:微型版Nutch

(5)可以说Google是Hadoop的思想之源(谷歌在大数据方面的三篇论文)

GFS -> HDFS

Map-Reduce -> MR

BigTable -> HBase

(6)2003-2004年,Google公开了部分GFS和MapReducee思想的细节,以此为基 础Doug Cutting等人用了两年业余时间实现了DFS和MapReduce机制,使Nutch 性能飙升

(7)2005年hadoop作为Lucence的子项目Nutch的一部分正式引入Apache基 金会

(8)2006年3月,Map-Reduce和Nutch Distributed File System(NDFS)分别被纳入到 Hadoop项目中,hadoop就此诞生,标志着大数据时代来临

(9)名字来源于Doug Cutting儿子的玩具大象

3.Hadoop的三大发行版本

Apache,Cloudera,Hortonworks

4.Hadoop的优势

(1)高可靠:Hadoop底层维护多个数据副本,所以即hadoop某个计算元素或存储 出现故障,也不会导致数据的丢失

(2)高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点

(3)高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度

(4)高容错性:能够自动将失败的任务重新分配

5.Hadoop的组成(面试重点)

(1)Hadoop1.x

MapReduce(计算+资源调度)

HDFS(数据存储)

Common(辅助工具)

(2)Hadoop2.x

Mapreduce(计算)

Yarn(资源调度)

HDFS(数据存储)

Common(辅助工具)

(3)Hadoop3.x

在组成上没有任何变化

5.1.HDFS架构概述

(1)namenode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生 成时间,副本数,文件权限),以及每个文件的块列表和块所在的datanode等

(2)datanode(dn):在本地文件系统存储文件块数据,以及块数据的校验和

(3)Secondary namenode(2nn):每隔一段时间对namenode元数据备份

5.2.yarn架构概述

(1)resourcemanager(rm):整个集群资源(内存,cpu等)的管理者

(2)nodemanager(nm):单个节点服务器资源的管理者

(3)applicationmaster(am):单个任务运行的老大

(4)container:容器,相当于一台独立的服务器,里面封装了任务运行所需要 的资源,如内存,cpu,磁盘,网络等

5.3.mapreduce架构概述

Mapreduce将计算过程分为两个阶段:map和reduce

(1)map阶段并行处理输入数据

(2)reduce阶段对map结果进行汇总

5.4.HDFS,yarn,mapreduce三者之间的关系

6.大数据技术生态体系

7.推荐系统案例

二.环境准备

1.模板虚拟机准备

2.克隆

3.安装jdk,hadoop

三.Hadoop生产集群搭建

1.本地模式

(1)在hadoop-3.1.1文件下创建一个wcinput文件夹

(2)在wcinput文件下创建一个word.txt文件并编辑

(3)输入以下内容保存并退出

(4)回到hadoop-3.1.1目录

(5)执行程序

(6)查看结果

cat wcoutput/part-r-00000

2.完全分布式集群(开发面试重点)

(1)准备三台虚拟机(关闭防火墙,静态ip,主机名称)

(2)安装jdk

(3)配置环境变量

(4)安装hadoop

(5)配置环境变量

(6)配置集群

(7)单点启动

(8)配置ssh

(9)群起并测试集群

2.1.虚拟机准备

2.2.编写集群分发脚本xsync

(1)scp(secure copy)安全拷贝

A.scp定义

Scp可以实现服务器与服务器之间的数据拷贝(from serverl to server2)

B.基本语法

scp -r $pdir/$fname $user@$host:$pdir/$fname

命令 递归 要拷贝的文件路径/名称 目的地用户@主机:目的地 路径/名称

(2)rsync远程同步工具

A.rsync定义

rsync主要用于备份和镜像.具有速度快,避免复制相同内容和支 持符号链接的优点

rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync 只对差异文件做更新.scp把所有文件都复制过去

B.基本语法

rsync -av $pdir/$fname $user@$host:$pdir/$fname

命令 选项参数 要拷贝的文件路径/名称 目的地用户@主机:目 的地路径/名称

参数说明

-a:归档拷贝

-v:显示复制过程

(3)xsync集群分发脚本

A.需求:循环复制文件到所有结点的相同目录下

B.需求分析:

(a)rsync命令原始拷贝

(b)期望脚本

(c)期望脚本在任何路径都能使用(脚本放在声明了全局环境变量 的路径)

C.脚本实现

2.3.ssh无密登录配置

(1)配置ssh

(2)无秘钥配置

2.4.集群配置

2.5.群起集群

第一次启动需要格式化

2.6.配置历史服务器

2.7.配置日志的聚焦

2.8.集群启动/停止方式总结

(1)各个模块分开启动/停止(前提配置ssh)

A.整体启动/停止HDFS

start-dfs.sh/stop-dfs.sh

B.整体启动/停止yarn

start-yarn.sh/stop-yarn.sh

(2)各个服务组件逐一启动/停止

A.分别启动/停止HDFS组件

B.启动/停止yarn

2.9.编写hadoop集群常用脚本

2.10.常用端口号说明

2.11.集群时间同步

四.常见错误解决

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

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

相关文章

JQuery的DOM操作

JQuery基础教程第四版第五章:DOM操作方法的简单归纳 使用JQuery的DOM操作实现以下功能1.创建新元素2.插入新元素3.移动元素4.包装元素5.复制元素 相关代码 HTML文件<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"&g…

C++顺序结构(1)

1、C++程序的样子2、流 输出流 COUT<<3、一个实例及解析 // 001 程序的基本结构 //单行注释 /*多行注释 被注释过的内容不会被运行,可以用来做笔记。 基本结构: 1.头文件 程序包含某个头文件后,程序中的代码就可以使用这个头文件里的功能。 2.命名空间 3.主函数 类…

manim边学边做--角度标记

manim中绘制一个角度其实就是绘制两条直线,本篇介绍的不是绘制角度,而是绘制角度标记。 对于锐角和钝角,角度标记是一个弧,弧的度数与角的度数一样; 对于直角,角度标记是一个垂直的拐角。 manim中关于角度标记的模型主要有3个:Angle:根据两条直线绘制角度标记 RightAng…

关于Tailscale Subnet routers要说的

国内的水文很多,Tailscale的部署就不说了。简单的都有讲到,但凡深度一点儿的只能找找外边儿的文章了。 昨天刚给群晖装完Tailscale,打算着利用Subnet routers功能来访问另外的2个子网。 国内的水文在介绍这一段使用的时候是这样的:该文章提到:如果有多个网段添加,就多运行…

CASIA-OLHWDB1.0-1.2数据集解析

OLHWDB1.0-1.2提供联机手写单字数据。 OLHWDB1.0收录汉字3866个,字母数字及符号171个。其中,GB2312-80一级集(共3755个字符)收录汉字3740个。 OLHWDB1.1收录GB2312-80一级集汉字3755个,字母数字及符号171个。 OLHWDB1.2收录汉字3319个,字母数字及符号171个。OLHWDB1.2的汉…

枚举测试

/*** 枚举类*/ public enum SocialTypeEnum {FACEBOOK(1),//脸书GITEE(2),//GITEEWECHAT_ENTERPRISE(3);//企业微信 <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">final</span> <span style=&…

ROS话题通信

# 发布方 # 以发布订阅的方式实现不同节点之间数据交互的通讯模式,用于不断更新的、少逻辑处理的数据传输场景 impoosyt rospy from std_msgs.msg import String# 初始化ROS节点(命门) rospy.init_node("talker_1") # 实例化发布者对象 pub_1 = rospy.Publisher(&…

(14)DDS基本原理与FPGA实现

基本概念 DDS(Direct Digital Synthesizer),即数字合成器,是一种把一系列数字信号通过D/A转换器转化成模拟信号的数字合成技术 DDS的实现有两种方式:查表法和计算法,下面将主要介绍DDS查表法的FPGA实现 查表法:预先在ROM中存放不同相位对应的幅度序列,通过相位累加器的…

入门指南 | Datavines 安装部署篇

摘要:本文主要介绍基于源码部署 Datavines 和执行检查作业,内容主要分为以下几个部分:平台介绍 快速部署 运行数据质量检查作业Datavines 的目标是成为更好的数据可观测性领域的开源项目,为更多的用户去解决元数据管理和数据质量管理中遇到的问题。在此我们真诚欢迎更多的贡…

VUE0003:Naive UI库:滑动条,单选,多选组件

1,滑动条,单选,多选组件 <template><n-scrollbar class="show-scrollbar"><n-space class="map-setting" vertical><n-space style="flex-flow: row; align-items: center;"><n-text class="color-white&quo…

图特征工程实践指南:从节点中心性到全局拓扑的多尺度特征提取

图结构在多个领域中扮演着重要角色,它能有效地模拟实体间的连接关系,通过从图中提取有意义的特征,可以获得宝贵的信息提升机器学习算法的性能。 本文将介绍如何利用NetworkX在不同层面(节点、边和整体图)提取重要的图特征。 本文将以NetworkX库中提供的Zachary网络作为示例…

软件工程个人第一次作业

软件工程作业📖📖 🚗预览课程 软件工程作业要求 要求作业目标 熟悉github与博客园,并且掌握最基础的操作。编辑博客页面,感受AGIC的生成效果学号 1022013111. 个人logo生成任务🐱 使用搭载DALL-E3的Coplit尝试生成logo的演示过程 ![]设计思路: graph TD A[薛定谔的猫…