Hadoop学习
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程序 选择几个节点进行运行

安装-部署-开发-维护
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学习的更多相关文章
- Hadoop学习之旅二:HDFS
本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...
- Hadoop学习笔记—22.Hadoop2.x环境搭建与配置
自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...
- Hadoop学习之旅三:MapReduce
MapReduce编程模型 在Google的一篇重要的论文MapReduce: Simplified Data Processing on Large Clusters中提到,Google公司有大量的 ...
- [Hadoop] Hadoop学习历程 [持续更新中…]
1. Hadoop FS Shell Hadoop之所以可以实现分布式计算,主要的原因之一是因为其背后的分布式文件系统(HDFS).所以,对于Hadoop的文件操作需要有一套全新的shell指令来完成 ...
- Hadoop学习笔记—2.不怕故障的海量存储:HDFS基础入门
一.HDFS出现的背景 随着社会的进步,需要处理数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是却不方便管理和维护—>因此,迫切需要一种系统来管理多 ...
- Hadoop学习路线图
Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括, ...
- Hadoop学习(5)-- Hadoop2
在Hadoop1(版本<=0.22)中,由于NameNode和JobTracker存在单点中,这制约了hadoop的发展,当集群规模超过2000台时,NameNode和JobTracker已经不 ...
- Hadoop学习总结之五:Hadoop的运行痕迹
Hadoop学习总结之五:Hadoop的运行痕迹 Hadoop 学习总结之一:HDFS简介 Hadoop学习总结之二:HDFS读写过程解析 Hadoop学习总结之三:Map-Reduce入门 Ha ...
- Hadoop学习笔记(7) ——高级编程
Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...
- Hadoop学习笔记(6) ——重新认识Hadoop
Hadoop学习笔记(6) ——重新认识Hadoop 之前,我们把hadoop从下载包部署到编写了helloworld,看到了结果.现是得开始稍微更深入地了解hadoop了. Hadoop包含了两大功 ...
随机推荐
- Git版本控制Windows版快速上手
说到版本控制,之前用过VSS,SVN,Git接触不久,感觉用着还行.写篇博文给大家分享一下使用Git的小经验,让大家对Git快速上手. 说白了Git就是一个控制版本的工具,其实没想象中的那么复杂,咱在 ...
- 理解brk和sbrk
brk和sbrk的定义 在man手册中定义了这两个函数: #include <unistd.h> int brk(void *addr); void *sbrk(intptr_t incr ...
- 搭建Spark的单机版集群
一.创建用户 # useradd spark # passwd spark 二.下载软件 JDK,Scala,SBT,Maven 版本信息如下: JDK jdk-7u79-linux-x64.gz S ...
- 基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用
Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,使用的时候,也是一步一个脚印一样摸着石头过河,这个控件在界面呈现上,叫我之前使用过的Uploadi ...
- 【记录】AutoMapper Project To not support ResolveUsing
示例代码: public List<OrderLineDTO> GetLinesForOrder(int orderId) { Mapper.CreateMap<OrderLine, ...
- 纪念我曾经的 JAVA 姿势--转
原文地址:https://segmentfault.com/a/1190000007122432?hmsr=toutiao.io&utm_medium=toutiao.io&utm_s ...
- hibernate笔记--单向多对一映射方法
假设我们要建两张表,学生信息表(student)和年级信息表(grade),关系是这样的: 我们可以看出学生表和=年级表是多对一的关系,多个学生会隶属于一个班级,这种关系在hibernate中成为单边 ...
- Javascript数组常用方法
一.forEach对数组的遍历 二.map返回经过运算的新数组 三.filter返回满足条件的新数组 四.返回数组前后元素运算的结果 五.every遍历数组每项元素是否满足某个条件,全部满足返回tru ...
- 小白Linux入门 四
http://edu.51cto.com/lesson/id-11372.html 28了 文件管理类命令 目录: mkdir mkdir /tmp/x mkdir -p /tmp/a/b -pv b ...
- Revit读取当前rvt的所有视图与其名称
1)读取所有视图: public static ViewSet GetAllViews(Document doc) { ViewSet views = new ViewSet(); FilteredE ...