1.Hadoop
1、Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
2、主要解决,海量数据的存储和海量数据的分析计算问题。
3、广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈
1.1三大发行版本
Apache 最原始的版本,对于入门学习最好
Cloudera 在大型互联网企业中用的比较多
Hortonworks 文档较好
1.2Hadoop的优势(4高)
1、高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
2、高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
3、高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
4、高容错性:能够自动将失败的任务重新分配
1.3Hadoop组成
在Hadoop1.x时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大,在Hadoop2.x时代,增加了Yarn。Yarn只负责资源的调度。MapReduce只负责运算
2.HDFS架构概述
HDFS组成:NameNode、DataNode、Secondary NameNode
作用:
NameNode(nn) : 存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNdoe等。
DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。
Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照
2.1YARN架构概述
作用:
ResourceManager:1、处理客户端请求。2、监控NodeManager。3、启动或监控ApplicationMaster。4、资源的分配与调度。
NodeManager:1、管理单个节点上的资源。2、处理来自ResourceManager的命令。3、处理来自ApplicationMaster的命令。
ApplicationMaster:1、负责数据的切分。2、为应用程序申请资源并分配给内容的任务。3、任务的监控与容错
Container:它是Yarn中的资源抽象,它封装了某个节点上的多维度资源。如内存、cpu、磁盘、网络等
2.2MapReduce架构概述
Map阶段并行处理输入数据
Reduce阶段对Map结果进行汇总
3.Hadoop运行环境搭建
1.准备虚拟机
2.修改静态ip
service network restart 重启一下
ifconfig 查看IP是否变化,没有变化重启
修改hostname主机
vim /etc/sysconfig/network
hostname主机重启后生效
3. 添加用户
4.创建目录module(解压的安装包)、software(压缩的安装包)
mkdir /opt/module /opt/software
5.给普通用户添加sudo权限
vim /etc/sudoers
6.添加主机和IP的映射关系
vim /etc/hosts
7.关机拍快照(conf_step1)
8.安装jdk和hadoop
(解压 配置环境变量 激活环境变量 检查是否安装成功)
伪分布式配置
(伪分布式其实就是将:namenode、datanode、resourcemanager、nodemanager、historyserver放在了一台服务器上)
1.添加JAVA_HOME
hadoop-env.sh
mapred-env.sh
yarn-env.sh
在以上三个文件中添加
export JAVA_HOME=/opt/module/jdk1.8.0_144
2.设置namenode节点所在的服务器地址和临时文件的存储目录
(配置文件的副本数 配置yarn-site.xml 配置mapred-site.xml )
3.配置完毕就可以启动集群
(格式化namenode(只在集群启动的时候格式化一次)
bin/hdfs namenode -format)
完全分布式(hadoop默认的副本数是3)
1.设置namenode节点所在的服务器地址和临时文件的存储目录
(配置文件的副本数 配置yarn-site.xml 配置mapred-site.xml )
2.群起
(1)必须实现服务器之间的免密登录
(2)修改文件夹下的etc/hadoop/slaves文件
添加集群服务器的主机名(自己定)
hadoop01
hadoop02
hadoop03
将hadoop01 修改hadoop2.7.2文件夹下的etc/hadoop/slaves文件分发到hadoop02、hadoop03
执行群起
群起hdfs
sbin/start-dfs.sh | sbin/stop-dfs.sh
群起yarn
sbin/start-yarn.sh | sbin/stop-yarn.sh
3.修改两个脚本文件
(jpsall和myrsync)