The credentials of a very different kind of brand communications agency based in London's Soho. Whilst working with many very different types of brand across all categories, RedRoute prides itself on what it calls OPD - Old Product Development: i.e. taking a brand that has been neglected, ignored or under-supported for some time and reviving its fortunes, representing it to a contemporary market.
Back to the basics the moment we first believed -Raphael MndalasiniRaphael Mndalasini
Back to the Basics- The moment we first believed is a three-part booklet that explores on prayer, the word of God, fellowship, witnessing Christ and discipleship as our basics of faith. The second part gives a closer view of faith, hope, and love. The final part is a call to action of three groups of people. The first being people who have never accepted Christ , the second group comprises people who have accepted Christ but are convinced their lives are not sincere before God , and the third group is made of people who believe they are faithfully serving God but want divine strength to do more for Him. It is time to go back to the basics of faith and resurrect the passion we received that time we first believed.
A set of notes on Psalm 73 which reveal compelling truths on how we can deal with times of bitterness, God's sovereignty, and also discover the rewards of living a holy life.
Hpp Tolling technology shelf life and food safety presentation 2015Christopher Droney
HPP Tolling is an Irish based company that offers the 700+ food and beverage production companies in Ireland the opportunity to use our HPP Technology to extend the shelf life and safety of their food, while eliminates all the bacteria’s in their products such as Salmonella, Listeria and e coli. The technology works by applying tremendously high levels of pressure through the medium of water to the already packaged food products after they have been placed in a high pressure chamber for treatment.
5. H ad o o p 一个分布式系统基础架构,由 Ap ac h e 基金会开
发。用户可以在不了解分布式底层细节的情况下,开发分
布式程序。充分利用集群的威力高速运算和存储 。
H ad o o p 是项目的总称,主要是由分布式存储
( H D FS )、分布式计算( Map Re d u c e )组成 。
H ad o o p 程序目前只能运行在 Lin u x 系统上, win d o w 上
运行需要安装其他插件,安装过程见《 h ad o o p 安装说
明 .d o c x 》 。
6. 可扩展:不论是存储的可扩展还是计算的可扩展都是 H ad o o p
的设计根本。
经济:框架可以运行在任何普通的 PC 上。
可靠:分布式文件系统的备份恢复机制以及 Map Re d u c e 的任
务监控保证了分布式处理的可靠性。(元数据磁盘错误,心跳
测试,副本数,快照(目前还没实现))
高效:分布式文件系统的高效数据交互实现以及 Map Re d u c e
结合 Lo c al D ata 处理的模式,为高效处理海量的信息作了基础
准备。
7.
8. 名称节点( N am e N o d e ):管理文件系统的命名
空间,记录文件系统树及这个树内所有的文件和索
在 Hadoop 的系统中,会有一台 Master ,主要负责
引目录,同时也记录每个文件的每个块,所在的数
NameNode 的工作以及 JobTracker 的工作。 JobTracker
据节点。
的主要职责就是启动、跟踪和调度各个 Slave 的任务执行。
还会有多台 Slave ,每一台 ):文件系统的工作者,
数据节点( D ataN o d e Slave 通常具有 DataNode 的功
能并负责 TaskTracker 的工作。 TaskTracker 根据应用要
存储并提供定位块的服务,并定时向名称节点发送
求来结合本地数据执行 Map 任务以及 Reduce 任务。
块的存储列表
Jo b Trac ke r :协调作业的运行。
Tas kTrac ke r :运行作业划分后的任务。
11. 低延迟数据访问
H D F S 是为了达到高数据吞吐量而优化的,这是以延迟
为代价的,对于低延迟访问,可以用 H b as e ( h ad o o p
的子项目)。
大量的小文件
多用户写入,任意修改
12. 储存基本单元
B lo c k( 块 ) : H D F S 基本储存单元,是个逻辑单元,和 o s 中的页
类似。
一个文件有可能包含多个块,一个块有可以包含多个文件,由文
件的大小和块大小的参数决定。
d fs .b lo c k.s ize 参数。 H d fs 中 B lo c k 的大小,默认 64MB ,
如果设置大,就会有可能导致 Map 运行慢,设置小,有可能导
致 Map 个数多,所有一定要设置适当。(目前主流机器建议设置为
1 28M )
13.
14. Hdfs 集群框架图
文件写入:
b. C lie n t 向 N am e N o d e 发起文件写入的请求。
d. N am e N o d e 根据文件大小和文件块配置情况,返回给 C lie n t 它所管理部
分 D ataN o d e 的信息。
f. C lie n t 将文件划分为多个 B lo c k, 根据 D ataN o d e 的地址信息 , 按顺序写
入到每一个 D ataNo d e 块中。
文件读取:
i. C lie n t 向 N am e N o d e 发起文件读取的请求。
k. N am e N o d e 返回文件存储的 D ataN o d e 的信息。
m. C lie n t 读取文件信息。
15. N am e N o d e 记录着每个文件的元数据。每个文件在那个
块中,每个数据节点包含哪些块。(不储存原始文件)
D ataN o d e 是文件的工作者,它们存储文件并提供定位块
的服务,并且定时向名称节点发送它们的存储块的列表
。
(储存原始文件)
3. 重要参数
d fs .re p lic atio n .m in 参数。最小为 1 ,表示每个块在
H D F S 中的副本个数。
16.
17.
18. B lo c k 的放置:默认不配置。一个 B lo c k 会有三份备份,一份放在
N am e N o d e 指定的 D ataN o d e ,另一份放在与指定 D ataN o d e 非同一 Rac k
上的 D ataN o d e ,最后一份放在与指定 D ataN o d e 同一 Rac k 上的 D ataN o d e
上。备份无非就是为了数据安全,考虑同一 Rac k 的失败情况以及不同 Rac k
之间数据拷贝性能问题就采用这种配置方式。
心跳检测 D ataN o d e 的健康状况,如果发现问题就采取数据备份的方式来保
证数据的安全性。
数据复制(场景为 D ataN o d e 失败、需要平衡 D ataN o d e 的存储利用率和需
要平衡 D ataN o d e 数据交互压力等情况):这里先说一下,使用 H D FS 的
b alan c e r 命令,可以配置一个 Th re s h o ld 来平衡每一个 D ataN o d e 磁盘利用
率。例如设置了 Th re s h o ld 为 1 0% ,那么执行 b alan c e r 命令的时候,首先
统计所有 D ataN o d e 的磁盘利用率的均值,然后判断如果某一个 D ataN o d e
的磁盘利用率超过这个均值 Th re s h o ld 以上,那么将会把这个 D ataN o d e 的
b lo c k 转移到磁盘利用率低的 D ataN o d e ,这对于新节点的加入来说十分有用
。
22. Writab le 接口
序列化 : 指的是将结构化对象转换为字节流以便网络进行传输
或者写入存储的过程。
反序列化 : 指的是将字节流转为一系列结构化对象的过程。
(j ava 定义的序列化和反序列化工具不够紧凑,高效)
在 h ad o o p 中,常规 JAVA 数据类型是不能表示 H d fs 的数据类
型的,
例如 h d fs 中的字符串不是 s trin g 类表示,而是 Te xt 类,
这些
数据类型都必须实现一个 writab le 接口 。
Writab le 是 H ad o o p 的核心 (Map Re d u c e 程序使用他来序列化
键 / 值对 ) :
vo id write (D ataO u tp u t o u t) th ro ws IO E xc e p tio n ;
vo id re ad F ie ld s (D ataIn p u t in ) th ro ws IO Exc e p tio n ;
分别实现对数据的序列化和反序列化。
23.
24. 1 . 对 Java 中的 in t 型进行封装那么就是 h ad o o p 中的 In tWritab le
类
在写程序时可以把 In tWritab le 可以看着是 in t 类型,它实现
了 Writab le C o m p arab le 接口。 Writab le C o m p arab le 又是
Writab le 、 j ava.lan g .c o m p arab le 接口的子接口。
2.Writab le 类对所有的 Java 基本类型进行封装:
如: b o o le an - > B o o le an Writab le ; B yte - >
B yte Writab le
3. 我们可以自定义 Writab le 接口,来编写更复杂的结构的类。
核心: h ad o o p 有自己一套的 I/O 机制。 I/O 类都必须实现
Writab le 接口。
25.
26. 2 : get new job ID
MapReduce 1 : run job
JobClient JobTracker 5:initialize job
程序 4:submit job
6:retrieve Jobtracker 节点
客户端 JVM 3:copy Input splits 7:returns task
Job
rescouce
TaskTracker
8:retrieve job
HDFS resources 9:launch
子 JVM
户端: 提交 Map Re d u c e 作业, Child
即一个 j b 。
o 10:run
b Trac ke r : 协调作业的运行。
MapTask 或者
s kTrac ke r :作业划分后的任务 ReduceTask
(一个 j b 对应多个 tas k,
o
Tasktracker 节点
一个 tas k 对应一个
或者多个 Map Re d u c e 线程)。
27.
28. 2.1 根据输入数据的大小和参数的设置把数据分成 s p lits ,
每个 s p lit 对于一个 m ap 线程。
2.2 S p lit 中的数据作为 Map 的输入, Map 的输出一定在 Map 端。
2.3 Map 的输出到 Re d u c e 的输入的过程 (s h u ffle 过程 ) :
第一阶段:在 m ap 端完成
内存 - > 排序 - > 写入磁盘 - > 复制
分区 - > 排序 - > 分区合并 - > 合并后分区 - > 复制
第二阶段:在 re d u c e 端完成
映射到 re d u c e 端分区 - > 合并 - > 排序
2.4 Re d u c e 的输入到 Re d u c e 的输出
最后排好序的 ke y/valu e 作为 Re d u c e 的输入,输出不一定
是在 re d u c e 端。
29. Map Re d u c e 是 H ad o o p 程序的体现。框架极其简单:首
先是对 Map Re d u c e 程序运行前的参数配置,然后编写
Map 类 ( 实现 Map 方法 ) ,最后是 Re d u c e 类 ( 实现
Re d u c e 方法 ) 。
Map Re d u c e 程序的每个细节都与设置的参数有很大的关
系,参数设置的好,程序的效率肯定得到提高。
Map 方法: Map (k1 ,v1 ) - > lis t(k2,v2) ,并行应用于每
一个输入的数据集,每一次调用都会产生一个 (k2,v2) 的
队列 。
Re d u c e 方法: Re d u c e (k2,lis t(v2)) - > lis t(k3,v3) 。收
集 m ap 端输出队列 lis t(k2,v2) 中有相同 ke y 的数据对,
把它们聚集在一起,输出时形成目的数据 lis t(k3,v3) 。