分布式系统:数据由多台服务器帮他来存储,那就是分布式系统 ,每台服务器负责存储一部分,多台服务器共同完成某一项任务。
Hadoop是一个框架
大数据解决的是海量数据的采集、存储和计算三件事。一个hadoop框架就解决了两件事(解决海量数据的存储和计算)
Hadoop创始人叫Doug Cutting
全文搜索框架现在是Elasticsearch
高可靠性:存在备份
高扩展性:其它3台服务器在正常运行集群的情况下,我动态的增加2台服务器,也可动态删除服务器
并行计算:多人干活比一个人干活快,并行计算
高容错性:将失败的任务迁移到其它正常的服务器上
双十一一来,动态的增加服务器,双十一一过动态撤掉服务器,中间不用停掉服务器来增加或撤掉,动态化
Hadoop负责海量数据的存储(HDFS)和计算(MapReduce)(大数据负责数据的采集、存储和计算),
Hadoop1.x:Mapreduce既负责计算又负责资源调度
Hadoop2…x:Mapreduce负责计算,Yarn负责资源调度(管理CPU和内存)
HDFS主要解决海量数据存储问题
NameNode:记录每一个组件存储数据的位置(相当于书本的目录)
DataNode:具体来存储数据的位置,数据到底存在哪(相当于书本具体的内容页)
2NN(Secondary NameNode):对数据进行备份的。万一NameNode挂了,2NN还有一部分原始数据(相当于秘书,但并不是保存全部数据,只是一部分数据)
YARN主要管理CPU和内存,也就是资源管理器
客户端可以有多个
集群上可以运行多个ApplicationMaster
每个NodeManager上可以有多个Container
MapReduce:主要负责海量数据的计算(包含处理和汇总)
Hadoop主要解决:海量数据的存储(HDFS)、海量数据的计算(MapReduce)
这么多的数据,需要找到2015年5月份的数据:采用MapReduce。Reduce是最后还需要对结果进行汇总
HDFS包含:
DataNode:负责数据实实在在的存储
NameNode:告诉别人我这个数据存储在哪个节点上,存储的什么信息。相当于一个账本
SecondaryNameNode:秘书。如果NameNode挂了,2NN会备份一部分数据,可以恢复NameNode一部分工作。
YARN:负责整个集群资源的管理。包含:
ResourceManager
NodeManager
ApplicationMaster
Container
MapReduce包含:
Map:并行处理输入数据
Reduce:对Map结果进行汇总
点击新建虚拟机
本电脑8核CPU
Ctrl+Alt:进行虚拟机鼠标内外切换
Xshell远程访问工具安装包
链接:https://pan.baidu.com/s/1XFqMgXfsi4BXTC3GMyVh5w?pwd=efgg
提取码:efgg
使用Xshell软件进行文件传输
shutdown now :关机
修改网络
注意这里使用的是root账号,在root账号下更改网络配置
1.修改克隆虚拟机的静态 IP:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
2.修改主机名称:
vim /etc/hostname
3.重启:
reboot
4.显示网络:
ifconfig
5.查看连接网络的状态
ping www.baidu.com
连接不上就改为IP地址
sudo rm -rf rh/
将jdk-8u212-linux-x64.tar.gz压缩包解压缩(注意:后面的那个C是大写的)
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module
修改hadoop环境
sudo vim /etc/profile.d/my_env.sh
这3个命令要有印象,后面要用到,重点学习
后续我们所有写的这个MapReduce程序,它必须指定对应的输入路径和输出路径,而且输出路径还不能存在。如果存在直接抛异常。
在执行命令时,这个输出路径不能存在的
host没改名,默认是IP地址,@后面输入103的IP地址就可以了
推:
拉:
从hadoop102中拉取目标路径/opt/module.hadoop-3.1.3下的hadoop-3.1.3到当前目录
scp -r atguigu@hadoop102:/opt/module.hadoop-3.1.3 ./