hadoop

来源:互联网 发布:ubuntu 卸载qq 编辑:程序博客网 时间:2024/05/16 02:27

1. Hadoop概述

1.1 Hadoop历史

Apache Lucene -> Nutch -> Hadoop(受Google两篇重要论文启发:Google File System,MapReduce)


1.2 创建本地Hadoop集群

环境:Linux+JDK     
配置jdk环境变量:export JAVA_HOME=/opt/jdk1.8.0_40/

                              export PATH=/opt/jdk1.8.0_40/bin:${PATH}


Hadoop版本选择 1.2.1
1)下载安装:http://hadoop.apache.org/releases.html
2)设置环境
设置环境变量:export HADOOP_HOME=/opt/hadoop-1.2.1
      export PATH=/opt/hadoop-1.2.1/bin/${PATH}
设置用户路径
修改配置文件: 编辑hadoop-env.sh里的JAVA环境
3)配置SSH免密码登录
                        ssh -keygen
  

1.3 创建托管Hadoop集群

Amazon Web Service——亚马逊云服务
EC2、S3、EMR


2. Hadoop架构介绍

2.1 HDFS的体系结构

 设计目标:
1)自动快速检测应对硬件错误
2)流式访问数据
3)转移计算比移动数据本身更划算
4)简单一致性模型(一次写入、多次读取)

5)异构平台可移植


体系结构:
                   
基本概念:
1)机架
2)数据块(最基本的存储单元,默认大小64M)
3)元数据(镜像文件+日志文件)
4)用户数据:以数据块的形式存储在多个datanode上


主从节点的通信:

心跳机制,TCP通信


写入数据流程:

    


读取数据流程:
    

2.2 MapReduce的体系结构

思想:

分布式编程架构

以数据为中心,更看重吞吐率
分而治之
Map将一个任务分解成多个子任务
Reduce将分解后多任务分别处理,并将结果汇总为最终结果

基本概念:

作业、任务、键值对(Map()、Reduce()函数的输入输出都是<key,value>形式)


生命周期:

        


2.3 Hadoop的运行模式

单机模式:
默认模式
不对配置文件进行修改
使用本地文件系统

Hadoop的守护进程未启动


伪分布模式:

在一台主机上模拟多主机
每个守护进程都以Java进程的形式运行
在单机模式之上增加了代码调试功能,允许检查内存使用情况,HDFS输入输出,以及其他的守护进程交互
        修改3个配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml
格式化文件系统:hadoop namenode -format


完全分布式模式:

多台主机
所有主机安装JDK和Hadoop
设置SSH免密码登录
修改3个配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml
   格式化文件系统
0 0
原创粉丝点击