Hadoop2.x 快速上手--day1--初识Hadoop

本节知识

1、Hadoop概述及生态系统

  • Hadoop思想启源(产生背景)
  • Hadoop生态系统(包含组件及其各自的功能和作用)
  • Hadoop1.0与2.0(架构之间的区别)

Hadoop思想启源

  • 谷歌公司2003年开始的三篇技术论文:以下的三种技术

GFS

  • 是一个可扩展的大型数据密集型应用的分布式文件系统,可在廉价的硬件上运行,具有可靠的容错能力,极高的计算性能,具备最小的硬件投资和运营成本

MapReduce

  • 是一种处理大型及超大型数据集并生成相关执行的编程模型,可在成千上万的普通pc机上被并行分布式自动执行的

BigTable

  • 一个大型的分布式数据库,用来存储结构化、半结构化及非结构化数据
  • 列式存储(不同于传统的数据存储)

Hadoop生态系统

Hadoop2.x 快速上手--day1--初识Hadoop_第1张图片
Hadoop生态系统
  • HDFS:Hadoop Distributed File System(hadoop分布式文件系统)
    • 谷歌GFS的克隆版
  • MapReduce:(分布式计算框架)Map(映射)和Reduce(归约)
    • 谷歌MapReduce克隆版
  • Hive(基于Hadoop的数据仓库)
  • Hbase(分布式列存数据库)
    • 谷歌BigTable的克隆版
  • Zookeeper(分布式协作服务)
  • Sqoop(数据同步工具)
  • Pig(基于Hadoop的数据流系统)
  • Mahout(数据挖掘算法库)
  • Flume(日志收集工具)

Hadoop1.0与2.0

Hadoop2.x 快速上手--day1--初识Hadoop_第2张图片
Hadoop1.0与Hadoop2.0的区别
  • Hadoop1.0的核心由HDFS(Hadoop Distributed File System)和MapReduce(分布式计算框架)构成。而在Hadoop2.0中增加了Yarn(Yet Another Resource Negotiator),来负责集群资源的统一管理和调度。other是除了MapReduce以为的数据处理框架
  • 1.解决了1.0的静态资源设置策略:之前slot的资源利用率要么过高要么过低或者相互强占资源的情况,所以单独抽出了Yarn

2、Hadoop2.x伪分布式安装

  • Hadoop2.x安装方式
  • Hadoop2.x集群搭建步骤
  • Hadoop2.x集群启动
  • Hadoop2.x目录结构

Hadoop2.x安装方式

  • 自动安装部署
    • hontworks的ambari--趋势于标准
    • cloudera的cloudera manager--收费
  • 使用RPM包安装部署
    • Apache Hadoop--不提供
    • hontwork的HDP和cloudera的CDH--提供
  • 使用JAR包安装部署(相对于麻烦,需要自己配置很多参数;相反就比较灵活)
    • 各版本均提供(自行选择各个组件之间的版本)

Hadoop2.x集群搭建步骤

  • 软件环境
    • centos6.5/redhat6.5(操作系统)
    • jdk1.7.0
    • zookeeper3.4.5
    • hadoop2.4.1
  • 硬件环境(以下生产要求略高,日常练习开发不需要那么高)
    • 2T硬盘
    • 64G内存
    • 12核cpu
    • 千兆网卡
  • 集群搭建步骤(命令行)
    • Hostname修改(ip和hostname对应;以下配置都需要hostname进行配置;防火墙关闭)
    • SSH互信(集群之间需要大量免密码登陆的方式通信)
    • JDK安装(Hadoop基于java开发)
    • Zookeeper安装(HA的选址、状态同步等)
    • Hadoop安装
  • 注意:
    • 1.不要使用root账号开发,另外开一个特定账号,因为root权限太高

Hadoop2.x集群启动

  • 启动zookeeper进程
  • 启动hadoop进程
  • 查看hadoop集群页面(ip+端口号)

Hadoop2.x目录结构

  • sbin:管理hadoop脚本,可以启动或关闭hdfs、yarn等脚本
  • share:hadoop各个模块编译后的jar包(写mapreduce程序的时候,需要引入其他模块的jar包)
  • bin:最基于sbin下,基本的管理脚本和使用脚本
    • zkfc和namenode格式化
  • etc:配置hadoop集群的配置文件
  • include:对外提供的编程库的头文件(c++动态库、静态库,用来访问hive和编写mapreduce)
  • lib:对外提供的编程动态库和静态库(通常与include的头文件结合起来使用)
  • libexec:各个服务对应的shell配置文件,配置日记输出,启动参数等
  • logs和tmp是自建的

你可能感兴趣的:(Hadoop2.x 快速上手--day1--初识Hadoop)