Hadoop介绍
l 狭义上Hadoop指的是Apache软件基金会的一款开源软件。 用java语言实现,开源 允许用户使用简单的编程模型实现跨机器集群对海量数据进行分布式计算处理
l Hadoop核心组件 Hadoop HDFS(分布式文件存储系统):解决海量数据存储 Hadoop YARN(集群资源管理和任务调度框架):解决资源任务调度 Hadoop MapReduce(分布式计算框架):解决海量数据计算
l 官网 Apache Hadoop
Hadoop发展简史
l Hadoop之父:Doug Cutting l Hadoop起源于Apache Lucene子项目:Nutch Nutch的设计目标是构建一个大型的全网搜索引擎。 遇到瓶颈:如何解决数十亿网页的存储和索引问题
l Google三篇论文
《The Google file system》:谷歌分布式文件系统GFS
《MapReduce: Simplified Data Processing on Large Clusters》:谷歌分布式计算 框架MapReduce
《Bigtable: A Distributed Storage System for Structured Data》:谷歌结构化数据存储系统
Hadoop现状
l HDFS作为分布式文件存储系统,处在生态圈的底层与核心地位;
l YARN作为分布式通用的集群资源管理系统和任务调度平台,支撑各种计算引擎运行,保证了Hadoop地位;
l MapReduce作为大数据生态圈第一代分布式计算引擎,由于自身设计的模型所产生的弊端,导致企业一线几乎不 再直接使用MapReduce进行编程处理,但是很多软件的底层依然在使用MapReduce引擎来处理数据。
Hadoop国内外应用
l Yahoo 支持广告系统 用户行为分析 支持Web搜索 反垃圾邮件系统
l Facebook 存储处理数据挖掘和日志统计 构建基于Hadoop数据仓库平台(Apache Hive来自FB)
l IBM 蓝云基础设施构建 商业化Hadoop发行、解决方案支持
l 百度 用户搜索表征的需求数据、阿拉丁爬虫数据存储 数据分析和挖掘 竞价排名
l 阿里巴巴 为电子商务网络平台提供底层的基础计算和存储服务 交易数据、信用数据
l 腾讯 用户关系数据 基于Hadoop、Hive构建TDW(腾讯分布式数据仓库) l 华为 对Hadoop的HA方案,以及HBase领域有深入研究
Hadoop发行版本
l Apache开源社区版本 Apache Hadoop
l 商业发行版本Apache Hadoop open source ecosystem | Cloudera
Hortonworks :Hortonworks Data Platform | Cloudera
l 本课程中使用的是Apache版的Hadoop,版本号为:3.3.0
Hadoop架构变迁(1.0-2.0变迁)
l Hadoop 1.0 HDFS(分布式文件存储) MapReduce(资源管理和分布式数据处理)
l Hadoop 2.0 HDFS(分布式文件存储) MapReduce(分布式数据处理) YARN(集群资源管理、任务调度)
Hadoop架构变迁(3.0新版本)
Hadoop 3.0架构组件和Hadoop 2.0类似,3.0着重于性能优化。
l 通用方面 精简内核、类路径隔离、shell脚本重构
l Hadoop HDFS EC纠删码、多NameNode支持 l Hadoop MapReduce 任务本地化优化、内存参数自动推断 l Hadoop YARN Timeline Service V2、队列配置
Apache Hadoop集群搭建
Hadoop集群整体概述
l Hadoop集群包括两个集群:HDFS集群、YARN集群
l 两个集群逻辑上分离、通常物理上在一起 l 两个集群都是标准的主从架构集群
Hadoop集群简介
Hadoop集群简介
l 逻辑上分离两个集群互相之间没有依赖、互不影响
l 物理上在一起某些角色进程往往部署在同一台物理服务器上
l MapReduce是计算框架、代码层面的组件没有集群之说
Hadoop源码编译
l 安装包、源码包下载地址 https://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/
l 为什么要重新编译Hadoop源码? 匹配不同操作系统本地库环境,Hadoop某些操作比如压缩、IO需要调用系统本地库(*.so|*.dll) 修改源码、重构源码
l 如何编译Hadoop 源码包根目录下文件:BUILDING.txt 详细步骤参考附件资料
l 课程提供编译好的Hadoop安装包
hadoop-3.3.0-Centos7-64-with-snappy.tar.gz
服务器基础环境准备
服务器基础环境准备
l 防火墙关闭(3台机器) systemctl stop firewalld.service
#关闭防火墙 systemctl disable firewalld.service #禁止防火墙开启自启
Step2:服务器基础环境准备
l ssh免密登录(node1执行->node1|node2|node3) ssh-keygen
#4个回车 生成公钥、私钥 ssh-copy-id node1、ssh-copy-id node2、ssh-copy-id node3
配置文件概述
l 官网文档:https://hadoop.apache.org/docs/r3.3.0/
l 第一类1个:hadoop-env.sh l 第二类4个:xxxx-site.xml ,site表示的是用户定义的配置,会覆盖default中的默认配置。 core-site.xml 核心模块配置 hdfs-site.xml hdfs文件系统模块配置 mapred-site.xml MapReduce模块配置 yarn-site.xml yarn模块配置
l 第三类1个:workers l 所有的配置文件目录:/export/server/hadoop-3.3.0/etc/hadoop
手动逐个进程启停
l 每台机器上每次手动启动关闭一个角色进程,可以精准控制每个进程启停,避免群起群停。
l HDFS集群
l YARN集群
shell脚本一键启停
l 在node1上,使用软件自带的shell脚本一键启动。前提:配置好机器之间的SSH免密登录和workers文件。
l HDFS集群 start-dfs.sh stop-dfs.sh
l YARN集群 start-yarn.sh stop-yarn.sh
l Hadoop集群 start-all.sh stop-all.sh
进程状态、日志查看
HDFS集群
l 地址:http://namenode_host:9870 其中namenode_host是namenode运行所在机器的主机名或者ip 如果使用主机名访问,别忘了在Windows配置hosts
YARN集群
l 地址:http://resourcemanager_host:8088其中resourcemanager_host是resourcemanager运行所在机器的主机名或者ip 如果使用主机名访问,别忘了在Windows配置hosts
HDFS 初体验
l shell命令操作
hadoop fs -mkdir /itcast hadoop fs -put zookeeper.out /itcast hadoop fs -ls /
MapReduce+YARN 初体验
HADOOP安装
Hadoop3.3.0–Linux编译安装_王君嚴的博客-CSDN博客