大数据第一天

1.Hadoop生态系统
1.1 Hadoop v1.0 架构
MapReduce(用于数据计算)
HDFS(用于存储数据)
1.2 Hadoop v2.0 架构
MapReduce(用于数据计算,Hadoop提供计算框架) 其他非Hadoop计算框架
YARN(用户管理和分配集群资源,包括软硬件资源)
HDFS(用于存储数据)
1.3 Hive(基于MR的数据仓库)
类似SQL,通常用于离线数据处理(采用MapReduce)
可以理解为HQL->MR的语言翻译器
用途:用于日志、多维度数据分析
1.4 Pig(基于MR的数据分析工具)
定义了一种数据流语言Pig Latin
用途:用于数据离线分析
1.5 Mahout(数据挖掘库)
提供多种数学统计算法库
1.6 HBase(分布式数据库)
由表、列族、行键、时间戳组成
1.7 Zookeeper(分布式协作服务)
用途:统一命名、状态同步、集群管理、配置同步等
1.8 Sqoop(数据同步工具)
用途:用于Hadoop与传统数据库之间的数据传递
1.9 Flume(日志收集工具)
用途:收集日志文件
构成:agent、collector
1.10 Oozie(作业流调度工具)
用途:对不同的框架和作业进行统一的管理和调度,提高资源利用率;作业的状态监控和预警
1.11 版本演化
Apache版本————原生态 推荐2.x.x
CDH版本————打包发行版 推荐CDH5.0.0 2.HDFS————Hadoop分布式文件系统
2.1 优点
1.高容错性
数据自动保存多个副本
副本丢失后,自动恢复
2.适合批处理
移动计算而非数据
数据位置暴露给计算框架
3.适合大数据处理
4.流式文件访问
一次性写入,多次读取
保证数据一致性
5.可构建在廉价的机器上
通过多副本提高可靠性
提供了容错和恢复机制
2.2 缺点
1.低延迟数据访问
2.小文件存取
3.并发写入、文件随机修改
2.3 架构
1.NameNode————存储元数据
Active NameNode:激活NameNode,主Master(只有一个),管理HDFS的名称空间,数据块映射信息,配置副本策略等
Standby NameNode:热备NameNode,当Active NameNode出现故障时,快速切换为新的Active NameNode
2.Secondary NameNode————备份NameNode
3.DataNode————存储文件数据
Slave(可以有多个),存储实际数据块和执行数据块的读/写
4.数据块
a.文件被切成固定大小的数据块,其中默认大小为64MB,可配置,如果一个文件大小不足64MB,则单独存成一个数据块
b.一般来说每个数据块有三个副本
2.4 读写原理
1.读文件
1.客户端发送读文件请求给NameNode(通过Distributed FileSystem)
2.NameNode查找是否存在该文件,将查询相关结果返回给客户端
3.如果文件存在,将数据块存储信息返回给客户端,客户端根据数据块读取文件(通过FSData InputStream)
4.客户端关闭读数据连接(通过FSData InputStream)
2.写文件
1.客户端发送写文件请求给NameNode(通过Distributed FileSystem)
2.NameNode查找是否存在该文件,将查询相关结果返回给客户端
3.如果文件不存在,客户端将文件大小发给NameNode并开辟相关数据块(通过FSData OutputStream)
4.第一个DataNode接收完第一个数据包后(注意不是数据块,网络中的数据包),将数据包传给下个DataNode节点,并开始接收下一个数据包
5.第四步如此类推,接收完毕后,将信息返回给客户端
6.客户端关闭写数据连接(通过FSData OutputStream)并将完成信息回返给NameNode(通过Distributed FileSystem)
2.5 访问方式
1.Shell命令
2.Java API
3.REST API
4.其他
2.6 安装流程
1.硬件准备
2.软件准备(推荐CDH)
3.将Hadoop安装包分发到各个节点下
4.安装JDK
5.修改/etc/hosts配置文件
6.设置SSH免密码登陆
7.修改配置文件(修改后使用scp命令分发到各个节点)
8.启动服务
9.验证
2.7 常用的shell命令
dfs命令
namenode -format命令
dfsadmin命令
fsck命令
balancer命令

  

Hadoop 大数据第一天的更多相关文章

  1. 《Hadoop大数据架构与实践》学习笔记

    学习慕课网的视频:Hadoop大数据平台架构与实践--基础篇http://www.imooc.com/learn/391 一.第一章 #,Hadoop的两大核心:     #,HDFS,分布式文件系统 ...

  2. 【每天五分钟大数据-第一期】 伪分布式+Hadoopstreaming

    说在前面 之前一段时间想着把 LeetCode 每个专题完结之后,就开始着手大数据和算法的内容. 想来想去,还是应该穿插着一起做起来. 毕竟,如果只写一类的话,如果遇到其他方面,一定会遗漏一些重要的点 ...

  3. 超人学院Hadoop大数据资源分享

    超人学院Hadoop大数据资源分享 http://bbs.superwu.cn/forum.php?mod=viewthread&tid=770&extra=page%3D1 很多其它 ...

  4. 超人学院Hadoop大数据技术资源分享

    超人学院Hadoop大数据技术资源分享 http://bbs.superwu.cn/forum.php?mod=viewthread&tid=807&fromuid=645 很多其它精 ...

  5. 超人学院Hadoop大数据资源共享

    超人学院Hadoop大数据资源共享-----数据结构与算法(java解密版) http://yunpan.cn/cw5avckz8fByJ   訪问password b0f8 很多其它精彩内容请关注: ...

  6. hadoop大数据技术架构详解

    大数据的时代已经来了,信息的爆炸式增长使得越来越多的行业面临这大量数据需要存储和分析的挑战.Hadoop作为一个开源的分布式并行处理平台,以其高拓展.高效率.高可靠等优点越来越受到欢迎.这同时也带动了 ...

  7. 【HADOOP】| 环境搭建:从零开始搭建hadoop大数据平台(单机/伪分布式)-下

    因篇幅过长,故分为两节,上节主要说明hadoop运行环境和必须的基础软件,包括VMware虚拟机软件的说明安装.Xmanager5管理软件以及CentOS操作系统的安装和基本网络配置.具体请参看: [ ...

  8. Hadoop大数据部署

    Hadoop大数据部署 一. 系统环境配置: 1. 关闭防火墙,selinux 关闭防火墙: systemctl stop firewalld systemctl disable firewalld ...

  9. (第1篇)什么是hadoop大数据?我又为什么要写这篇文章?

    摘要: hadoop是什么?hadoop是如何发展起来的?怎样才能正确安装hadoop环境? 这些天,有很多人咨询我大数据相关的一些信息,觉得大数据再未来会是一个朝阳行业,希望能尽早学会.入行,借这个 ...

随机推荐

  1. DropDownList控件

    1.DropDownList控件 <asp:DropDownList runat="server" ID="DropDownList1" AutoPost ...

  2. 【转】ubuntu vpn自动切换路由

    需要的工作有以下三項 Ubuntu Network Manager Client (nmcli)用來建立VPN連線的工具其實在UBUNTU在桌面上就有VPN連線可以用, 為什麼我們還要這麼大費周章的用 ...

  3. ElasticSearch-5.0.0安装中文分词插件IK

    Install IK 源码地址:https://github.com/medcl/elasticsearch-analysis-ik,git clone下来. 1.compile mvn packag ...

  4. 使用spring注解@Controller @Service @Repository简化配置

    前言:在web项目中引入spring框架中的配置文件,我们给每一个java bean进行相关配置可以非常安全,便捷的管理我们的bean.那么,问题来了,如果一个项目中所涉及到的java bean十分庞 ...

  5. Unity Development with VS Code

    https://code.visualstudio.com/Docs/runtimes/unity

  6. Codeforces Round #277.5 (Div. 2) ABCDF

    http://codeforces.com/contest/489 Problems     # Name     A SwapSort standard input/output 1 s, 256 ...

  7. ORACLE 触发器

    •1.1 触发器类型 • DML触发器 • 替代触发器 • 系统触发器 •1.2 创建触发器 • 触发器触发次序 • 创建DML触发器 • 创建替代(INSTEAD OF)触发器 • 创建系统事件触发 ...

  8. CSS透明代码

    透明往往能产生不错的网页视觉效果,先奉上兼容主流浏览器的CSS透明代码: .transparent_class { filter:alpha(opacity=50); -moz-opacity:0.5 ...

  9. Shell入门教程:命令替换 $() 和 ``

    所谓命令替换,是把命令执行后的标准输出放入变量中.这是一个十分有威力的功能.例如说, 想查看工作目录中所有的文件名,可执行ls命令,但如何把这些文件名存入变量中,供往后的程序代码再利用呢? 使用命令替 ...

  10. linux内核调度算法(2)--CPU时间片如何分配 转!

    http://blog.csdn.net/russell_tao/article/details/7103012 内核在微观上,把CPU的运行时间分成许多分,然后安排给各个进程轮流运行,造成宏观上所有 ...