一.每天的学习笔记
20220703
1.Hadoop是什么
Hadoop是apache开发的分布式系统基础架构
Hadoop主要解决的问题是海量数据的存储和计算(重点)
广义上讲,Hadoop不单指一个框架,指的是整个Hadoop生态圈
2.Hadoop优势
高可靠性:在不同的机器上有多个数据副本
高扩展性:可动态的扩展节点
高效性:并行工作
高容错性;能够自动将失败任务重新分配
3.组成
MapReduce负责计算
Yarn负责资源调度
HDFS负责存储
还有其他辅助工具
4.HDFS架构
NameNode负责存储元数据
SecondryNameNode负责备份NameNode,当NN出现故障时,由2NN接替管理工作
DataNode负责存储文件块数据,以及块数据的校验和。
5.Yarn架构
ResourceManager负责整个集群的资源调度工作(RM),整个集群的老大
NodeManager负责单节点的资源调度工作(NM),单节点的老大
节点中还存在ApplicationMaster(AM)和Container,前者负责单个任务,后者相当于独立的服务器(微服务),封装了任务运行所需要的各种资源;
一般一个容器最小的内存为1G,1个CPU
6.MapReduce架构
Map阶段将任务分解
Reduce阶段将结果汇总
7.三者间的配合工作(个人理解)
客户端传来任务,RM查看NN后,负责安排各个节点的NM来创建容器,容器类型有负责AM,MapTask和ReduceTask,各个容器去各自节点的DN执行任务,最后反馈给ReduceTask的容器,并记录在NN,然后给客户端。
相当于客户端发送请求,Yarn查看HDFS后,分配MapReduce去具体执行,执行完成后将结果返回给HDFS,并反馈给客户端;
8.大数据生态体系
数据库(结构化数据)---Sqoop数据传递---HDFS文件存储---YARN资源管理---MapReduce离线计算(基于硬盘)---Hive数据查询---Oozie任务调度
文件日志(半结构化数据)---Flume日志收集---HDFS文件存储---HBase非关系型数据库---YARN资源管理---Spark Core内存计算---Spark Milb数据挖掘、Spark Sql数据查询{这两个也是离线计算};Spark Streaming实时计算、Storm实时计算、Flink{这三个是实时计算的};---Azkaban任务调度
视频、PPT等(非结构化数据)---Kafka消息队列
数据来源层---数据传输层---数据存储层---资源管理层---数据计算层---任务调度层---业务模型层
1)Sqoop:Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(MySQL)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
2)Flume:Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;
3)Kafka:Kafka是一种高吞吐量的分布式发布订阅消息系统;
4)Spark:Spark是当前最流行的开源大数据内存计算框架。可以基于Hadoop上存储的大数据进行计算。
5)Flink:Flink是当前最流行的开源大数据内存计算框架。用于实时计算的场景较多。
6)Oozie:Oozie是一个管理Hadoop作业(job)的工作流程调度管理系统。
7)Hbase:HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。
8)Hive:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
9)ZooKeeper:它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。
9.虚拟机配置IP和名称
/etc/sysconfig/network-scripts/ifcfg-ens33(不一定是ens33,具体看文件夹中)
/etc/hostname
配置IP映射文件/etc/hosts
10.Windows主机配置IP映射文件:位置:C:\Windows\System32\drivers\etc
11.准备虚拟机,关闭防火墙,yum必要软件,配置以上3个文件,就可以作为克隆模板了。
今天把虚拟机克隆好就能休息了!
20:44已处理完,over
20220704
昨天安装好虚拟机,今天安装jdk和Hadoop,记录一下过程中的问题。
1.课程给的资料包太大,没有下载,所以需要自己找安装包;
最后通过Linux命令:wget https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.tar.gz
此命令是将链接中的包下载到当前目录;
下载过程中遇到几个问题
第一个问题是网上搜到的链接太老了,wget下载后解压错误,看了文件大小知道是文件有问题,
解决办法是去官网找合适的链接,然后下载(我找的最新版本的); https://www.oracle.com/java/technologies/downloads/#license-lightboxhttps://www.oracle.com/java/technologies/downloads/#license-lightbox
第二个问题是wget下载时域名解析失败,报错(wget: unable to resolve host address '');
解决办法是修改/etc/resolv.conf文件&#x