Hadoop: 大数据里面的公认的解决方案标准

链接推荐:http://www.powerxing.com/install-hadoop/

第一天 Hadoop的基本概念 伪分布式集群安装 hdfs mapreduce 演示

第二天 hdfs原理和使用操作

第三天 mapreduce 的原理和编程

第四天 常见mr算法实现和shuffle的机制

第五天 Hadoop2.x种HA机制的原理和全分布式集群安装部署及维护

第六天 hbase hive

第七天 strom+kafka

第八天 实战项目

What is Apache Hadoop?

The Apache Hadoop project develops open-source software for reliable, scalable, distributed computing.

Hadoop 来源

解决问题:

1.海量数据的存储 HDFS

2.海量数据的分析MapReduce

3.资源管理调度 YARN

作者:Doug Cutting

受Google三篇论文的启发(GFS、MapReduce、BigTable)

处理海量数据

面临着公共问题:任务调度、节点存活精度、数据共享、中间节点传递。。。

需要框架的出现,减少开发的工作量

标准框架Hadoop

1.解决特定领域的公共问题:海量集数据的处理

2.Hadoop不是数据库、是有好多框架组成的生态系统。

3.导出文本文件,不是放到数据库中。几十个T放不到MySQL中

4.根本就不是数据库的搞法,但是Hadoop包含有数据库NoSQl

5.直接对文本文件进行处理(写逻辑使用Java或者C++编程),然后分发到集群上进行运行,这就是MapReduce

6.几十个T的文件存储方式:使用HDFS存储,分布式集群,不是存储在一台机器上面,存储在很多的机器上。

7.海量数据的存储以及海量数据的分析 组成狭义的Hadoop

Hadoop 0.20~2.5.x发展:

从1.x到2.x多了YARN这部分。

将jar包分发到各个机器上,然后分配一定的资源以及进程资源。这些工作和自己所写的代码的逻辑没有关系。因此这部分的逻辑处理封装为YARN (资源管理调度),MapReduce只管逻辑不管资源分配了。

实时的逻辑计算。。。

Lucene 建立索引

把运算分布到分布的机器上进行运行

作者 Doug Cutting

GFS 存储数据

MapReduce

BigTable 就是一个数据库

解决存储的问题!!!

某些机器负载就会特别大,而其他的机器负载很小!!!

某些机器坏了,这样就会导致文件的丢失!!!

更加可靠更加复杂

存储多个副本 即使宕机也没有关系,没有性能下降

文件所在的路径以及存储文件的路径应当有一个对应的关系,这个关系使用NameNode进行映射存储。

多个整数数字进行排序。!!!

能够并发运行的分开,分组并发

写两个程序:Map程序 在每个节点并发进行

Reduce程序 选择几个节点进行运行

http://hadoop.apache.org

安装-部署-开发-维护

2.4.1

2.5最新版本

最多解出的Cloudera CDH5 和Hadoop的版本号不是一致的

Aparche原生原汁原味

2.4.1

CenOS

搭建Hadoop

测试Hadoop

主机名zpfbuaa

端口219.142.245.200

修改hosts文件

# 219.142.245.200 zpfbuaa

219.142.245.200 zpfbuaa

向hadoop中put数据

1.hadoop fs -put 文件名 hdfs://zpfbuaa:9000/

在hadoop中创建文件夹

1.hadoop fs -mkdir /wordcount/

测试hadoop自带的jar包

1.在share文件夹下

进入hadoop

进入mapreduce

hadoop-mapreduce-examples-2.4.1.jar 包含示例程序

2.运行示例程序

a.hadoop jar hadoop-mapreduce-examples-2.4.1.jar pi 5 5

其中pi表示该程序用来计算pi的值 后面的5 5越大计算的pi的结果越精确

b.hadoop jar hadoop-mapreduce-examples-2.4.1.jar wordcount 文件所在目录 输出结果保存目录

可以先建立输出结果的保存目录,然后运行wordcount(计数程序)

配置文件

1.core-site-xml

修改

<property>
<name>fs.defaultFS</name>
<value>hdfs://zpfbuaa:9000/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app/hadoop-2.4.1/data/</value>
</property>

2.hdfs-site.xml

<property>
<name>dfs.replication</name>
<value>1</value>
</property>

3.mapred-site.xml

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

4. yarn-site.xml

<property>
<name>yarn.resourcemanager.hostname</name>
<value>zpfbuaa</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

5.slaves

修改为zpfbuaa

测试网络是否连通

使用指令 ping zpfbuaa

查看网页 zpfbuaa:8088

查看网页 zpfbuaa:50070

关闭linux防火墙

指令 service iptables stop

Hadoop学习的更多相关文章

  1. Hadoop学习之旅二:HDFS

    本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...

  2. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  3. Hadoop学习之旅三:MapReduce

    MapReduce编程模型 在Google的一篇重要的论文MapReduce: Simplified Data Processing on Large Clusters中提到,Google公司有大量的 ...

  4. [Hadoop] Hadoop学习历程 [持续更新中…]

    1. Hadoop FS Shell Hadoop之所以可以实现分布式计算,主要的原因之一是因为其背后的分布式文件系统(HDFS).所以,对于Hadoop的文件操作需要有一套全新的shell指令来完成 ...

  5. Hadoop学习笔记—2.不怕故障的海量存储:HDFS基础入门

    一.HDFS出现的背景 随着社会的进步,需要处理数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是却不方便管理和维护—>因此,迫切需要一种系统来管理多 ...

  6. Hadoop学习路线图

    Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括, ...

  7. Hadoop学习(5)-- Hadoop2

    在Hadoop1(版本<=0.22)中,由于NameNode和JobTracker存在单点中,这制约了hadoop的发展,当集群规模超过2000台时,NameNode和JobTracker已经不 ...

  8. Hadoop学习总结之五:Hadoop的运行痕迹

    Hadoop学习总结之五:Hadoop的运行痕迹   Hadoop 学习总结之一:HDFS简介 Hadoop学习总结之二:HDFS读写过程解析 Hadoop学习总结之三:Map-Reduce入门 Ha ...

  9. Hadoop学习笔记(7) ——高级编程

    Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...

  10. Hadoop学习笔记(6) ——重新认识Hadoop

    Hadoop学习笔记(6) ——重新认识Hadoop 之前,我们把hadoop从下载包部署到编写了helloworld,看到了结果.现是得开始稍微更深入地了解hadoop了. Hadoop包含了两大功 ...

随机推荐

  1. MySQL数据库实例参数对比脚本

    如何对比两个MySQL实例的参数情况,生产中常会有这样的需求,最近写了个python脚本,可基本实现该需求. 脚本 #!/usr/bin/python import MySQLdb,sys def f ...

  2. PHP环境配置-从Apache官网下载windows版apache服务器

    由于个人有强迫倾向,下载软件都喜欢从官网下载,摸索了好久终于摸清楚怎么从Apache官网下载windows安装版的Apache服务器了,现在分享给大家. 进入apache服务器官网http://htt ...

  3. ubunt14.04 安装JDK

    1.到 Sun 的官网下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 选择 ...

  4. canvas 图片拖拽旋转之二——canvas状态保存(save和restore)

    引言 在上一篇日志“canvas 图片拖拽旋转之一”中,对坐标转换有了比较深入的了解,但是仅仅利用坐标转换实现的拖拽旋转,会改变canvas坐标系的状态,从而影响画布上其他元素的绘制.因此,这个时候需 ...

  5. (十六)WebGIS中偏移补偿量引发的问题之探讨

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 在上一章里讲解地图平移功能的实现时,我在最后提出了两个问题: ...

  6. C#创建安全的栈(Stack)存储结构

    在C#中,用于存储的结构较多,如:DataTable,DataSet,List,Dictionary,Stack等结构,各种结构采用的存储的方式存在差异,效率也必然各有优缺点.现在介绍一种后进先出的数 ...

  7. 2.Java基础之Runtime对象

    毕向东老师Java基础学习笔记——Runtime对象 今天学习Java中的Runtime对象后,感觉这个对象对我们主要有以下几点用处. 1.使用java代码打开本地可执行文件,比如打开一个计算器. 2 ...

  8. java枚举类型学习

    用的不多,但用的时候仅仅简单的使用,不太明白原理,今天就系统的学一下枚举.参考:java编程思想. Update: 枚举可以当做数据字典来存储,通常只要一个字段即instance本身,toString ...

  9. 关于JavaScript变量提升的理解

    废话不说,直接上代码(这是在JavaScript面对对象编程指南上面看到的一个例子) var a=123; function f(){ alert(a); var a=1; alert(a); } f ...

  10. iOS学习笔记——AutoLayout的约束

    iOS学习笔记——AutoLayout约束 之前在开发iOS app时一直以为苹果的布局是绝对布局,在IB中拖拉控件运行或者直接使用代码去调整控件都会发上一些不尽人意的结果,后来发现iOS在引入了Au ...