hadoop snapshots 快照实验

本文固定链接:https://www.askmac.cn/archives/hadoop-snapshots-try.html

1 实验环境

 

hadoop 2.7   jdk 1.8

 

在之前的单namenode非HA的hadoop环境中进行,其中3个datanode

 

各个节点分布如下:

 

10.0.0.22            dbdao         # NameNode
10.0.0.23            dbdao2        # ResourceManager
10.0.0.24            dbdao3        # web app proxy and MR Jobhistory server
10.0.0.25            dbdao4        # DataNode
10.0.0.26            dbdao5        # DataNode
10.0.0.27            dbdao6        # DataNode

 

 

2 创建快照

2.1 在hdfs中创建snapshottable目录

 

hdfs dfs -mkdir /hadoop-snapshot

 

然后检查目录是否成功创建

hdfs dfs -ls /

 

最后允许快照

hdfs dfsadmin -allowSnapshot /hadoop-snapshot


[Read more…]

hadoop snapshots 快照

本文是官方文档的翻译固定链接为:https://www.askmac.cn/archives/hadoop-snapshots.html

原文链接:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HdfsSnapshots.html

 

1概述

 

HDFS 快照是文件系一个时间点的只读的副本。快照可以是部分文件系统,或者整个文件系统。一些场景使用快照的场景是数据备份,防止用户误操作和灾难恢复。

 

使用HDFS 快照是高效的:

  • 快照创建是瞬间的:成本是0(1)排除查找信息节点的时间 。
  • 额外的内存使用仅仅当对快照进行修改时产生:内存使用时0(M),M是修改文件/目录的数量。
  • 在datanode中的块不会被拷贝:快照文件记录这些块列表和文件大小。不会产生数据拷贝。
  • 快照不会对日常的HDFS操作产生不利的影响:修改被按反向时间排序记录,这样当前数据可以直接的访问。快照数据是由当前数据减去修改数据计算出来的(www.askmac.cn)。

 

1.1 snapshottable目录

 

快照可以产生在任何被设置为snapshottable的目录中。一个snapshottable目录可以同时容纳65536个快照。snapshottable目录没有个数上限,管理员可以设置任意个snapshottable。如果一个snapshottable中存在快照,那么这个目录在删除所有快照之前,不能删除或改名。

嵌套的snapshottable目录在现在并不支持。换句话说,如果一个目录的父目录/子目录是一个snapshottable目录的话,那么其不能设置为snapshottable。

 

1.2 快照 路径

 

对于一个snapshottable目录,”.snapshot”组件有利于访问其快照。假设/foo是一个snapshottable目录,/foo/bar是 /foo中的一个文件/目录,/foo有一个快照s0,那么这个路径

/foo/.snapshot/s0/bar

[Read more…]

OOW Oracle Open World 2015 Keynote Agenda #OOW2015#

OOW Oracle Open World 2015 #OOW2015#

Sunday, October 25

下午5:00 – 7:00至下午Moscone North, Hall D

集成的云应用和云平台服务

甲骨文公司比任何其他云服务供应商拥有更多的云应用程序,平台和基础设施服务,它有唯一的真正集成的云堆栈。拉里·埃里森将发布一系列新产品,并突出为什么集成云将带给客户最具创新性和成本效益的好处。

拉里·埃里森

执行主席兼首席技术官,甲骨文

 

数据中心的转型与创新:推动企业的竞争优势

在过去几年我们见证了数据中心惊人的转变:从云的扩建,到大数据的力量,再到连接设备的激增。这一转型的步伐不断加快。这种转变提供了惊人的新机遇,同样带来了要解决的新挑战。英特尔首席执行官Brian Krzanich,以及一些特殊的客人,将探讨这些机遇和挑战,共享英特尔和我们的合作伙伴创造的创新型解决方案,并展示最一流的组织在如何使用这一转变推动竞争优势。

Brian Krzanich

Brian Krzanich

CEO,英特尔

 

周一10月26日

上午9:00 – 10:15上午,Moscone North, Hall D

2025年愿景:云的数字化改造

部署云解决方案有许多优点和好处,但现实情况是,许多大型企业,本地应用程序和基础设施都不会很快消失。这种转变需要在业务和技术层面被管理,部分企业的转型将比别人更快。你现在对应用程序,平台,业务流程,安全性,数据管理的,以及如何整合业务的基本架构决定可能对未来10年有所影响。现在就开始创建你2025年的战略吧。

 

加入甲骨文CEO马克·赫德,美国国际集团首席技术官麦克·布雷迪,GE的CIO吉姆·福勒,以及其他客户一起来看企业和云的走向以及企业是如何响应的。

Mark Hurd

马克·赫德

CEO,甲骨文

 

与马克·赫德一起的客户

Mike Brady

迈克·布雷迪

首席技术官,美国国际集团

Jim Fowler

吉姆·福勒

首席信息官,GE

 

周二,10月27日

 

上午8:30 – 10:15上午,Moscone North, Hall D

 

甲骨文软件创新功能

该主题将展示甲骨文的技术和应用软件产品组合的最新进展,突出了云计算,软件定义的基础设施,移动,数据管理,业务分析,客户体验,人力资本管理等的新功能。 Kurian将突出客户如何使用Oracle的创新功能来实现业务的突破转型。

Thomas Kurian

托马斯·库里安

总裁,产品开发,甲骨文

 

打造一个成功的文化—创新文化

由蒂姆·罗伊主持,金州勇士队和KNBR主持电台播放,播放播音员

建设创新成功的文化需要领导和伟大的人民。寻找合适的组合通常意味着从头到尾彻底的转型,无论是体育专营权或大型全球性企业组织的转型。所有成功的组织在寻找最优秀的人才,这个人才要知道成功的文化是要无论身在组织何处都担当领导的角色。这往往意味着为更大的理由牺牲,不论是团队或公司。加入Rick Welts,2015年NBA总冠军金州勇士队总裁以及Thomas Kurian,产品开发的甲骨文公司总裁,他们将讨论如何才能打造一个注重创新的成功文化。

Thomas Kurian

托马斯·库里安

总裁,产品开发,甲骨文

Rick Welts

Rick Welts

总裁兼首席营运官,金州勇士

Tim Roye

蒂姆·罗伊

金州勇士队和KNBR电台播放,播放播音员

 

新服务经济:在数字世界中获得优势

在日益数字化的世界里,SaaS应用程序和业务流程作为一项服务的快速增长和多样性不仅帮助企业创造了新的商业模式,同时帮助它们在近实时接触新的客户群体和市场。这解决了性能,成本和灵活性,但也带来在可管理性和集成方面的二阶挑战。因此,CIO的作用正日益成为主流,变得更加重要。 在CIO中的“I”,现在表示整合,洞察力,信息安全和网络。

 

Abidali Neemuchwala,集团总裁兼首席运营官,将突出Wipro公司作为作为一种服务的模式的早期投资者和使用者,是如何从系统集成商转变为服务整合者,即通过可操作的洞见提供终端到终端业务,即通过利用最全面和集成的Oracle解决方案堆栈套件。

Abidali Z. Neemuchwala

Abidali Z. Neemuchwala

集团总裁,首席运营官,维布络有限公司

下午1点30分,3:15下午,Moscone North, Hall D

 

安全的云

 

甲骨文总是引领安全性,在云中也是一样。拉里·埃里森谈到整合的云方法为何是保证安全的云的最佳途径。

Larry Ellison

拉里·埃里森

执行主席兼首席技术官,甲骨文

 

人类的革命:在AI时的服务

由于采用云的企业不断激增,消费终端越来越重要,同时企业在简化和显著降低他们架构的成本方面展开竞争,服务世界正处在一个巨大的转折点。智能系统的新时代能够释放巨大的价值,并有助于加速我们周围世界的有效数字化。然而,同样的自动化和性价比也呈现出上一代服务的不相关。在这次讲座中Infosys公司CEO兼执行董事Vishal Sikka作为在转变Infosys公司的领导,从他独特的视角,讨论人类伟大的革命如何帮助重新设想服务,这个服务以全新方式扩展人类能力,有意义地广泛地点在我们生活的每一个方面提供AI,帮助企业满足革新遗留产物,拥抱新领域的双重目标。

Dr. Vishal Sikka

维沙尔西卡博士

行政总裁,董事总经理,印孚瑟斯

 

周三,10月28日

上午9:00 – 10:15上午,Moscone North, Hall D

 

甲骨文公司的融合战略:从本地到云…再返回

云服务改变了一切,这是过去20年的主要行业转型之一。云不仅影响了IT供应商,更重要的是,它影响了你如何进行选购,消耗和使用计算和存储资源。甲骨文以其超融合基础设施堆栈为混乱的行业指明了去路,它具有从芯片到应用程序和云的coengineered创新和安全功能。相对于使用第三方公共云,这种垂直整合堆栈使你能够从本地到云无缝地移动工作负荷,在任何地方使用相同的硬件和软件。这都只要通过屏幕的单一界面进行管理。有了甲骨文,你能获得根据终端到终端的问责制,安全性和可视性获得显著的商业价值,并充分利用一套通用的工具和技能,在所有的环境中管理你的应用程序和数据。

Dave Donatelli

戴夫·特利

执行副总裁,融合基础架构,甲骨文

 

Secure Computing公司的新时代,并融合与Oracle系统

加入甲骨文公司领先的系统管理人员,了解我们是如何设计这些正在推动硬件和软件创新的新时期的工程系统,服务器和存储。这使客户能够获得以前无法想象的应用程序和云的结果,现在这些都实现了。在这个主题中,你会了解业界最先进的永远在线的安全平台(通过设计的安全性);硅谷的融合基础设施(突破集成和效率);世界上最快的微处理器(极致性能);和甲骨文融合基础设施堆栈,它通过终端到终端的问责制,安全性和可见性,以及一套通用的工具和技能来管理所有的环境中应用程序和数据,为客户提供显著的商业价值。

John Fowler

约翰·福勒

执行副总裁,系统,甲骨文

Juan Loaiza

胡安·洛艾萨

高级副总裁,系统技术,甲骨文

 

 

Hadoop MapReduce开发的基础知识

本文固定链接:https://www.askmac.cn/archives/basics-of-mapreduce-development.html

 

5.MapReduce 开发的基础知识

 

 

在前面的章节中,我们将Hadoop作为一个平台介绍给你。您了解了Hadoop架构背后的的概念,知道Hadoop管理的基础知识,甚至还编写了基本的MapReduce程序。

在这一章中,你将学习MapReduce编程的基本原理以及MapReduce程序常见的设计模式,并附带样本用例。这些基本原理将帮助你在下面的章节中深入理解MapReduce的高级概念。

 

 

5.1  Hadoop和数据处理

 

这里将通过实践案例来介绍MapReduce的基本原理。 RDBMS和SQL在数据处理中是无处不在的;我们使用SQL中的语言元素来解释MapReduce的基本概念。

在SQL语言元素背景下讨论MapReduce的基本概念不仅为你创造了一个了解MapReduce的熟悉环境,并且也将使你体会到当数据集很大时,MapReduce解决常见数据处理问题的合适性。

为了实现本章目标,我们使用了航空公司的数据集,包括到从1987年2008年所有商业航班抵达及起飞的详细信息。我们首先介绍一下这个数据集;然后你就可以开始通过MapReduce依据我们提到的SQL语言元素处理常见数据问题。在这一过程中,您将熟悉MapReduce的各个组成部分,其中包括:

  • Mapper
  • Reducer
  • Combiner
  • Partitioner

 

5.2 回顾航空数据集

 

本章使用了包括美国国内商业航班从1987年到2008年航班到达和起飞详细信息的航空公司数据集。该数据集是以逗号分隔的(CSV)格式,拥有大约120万条记录。数据集未压缩格式的磁盘总容量为120 GB。这是一个适合Hadoop处理的比较大的数据集,但也不是太大,所以很适合这本书的目的。选择该数据集的另一个原因是要在结构化数据处理的背景下讨论MapReduce。虽然Hadoop也用于非结构化数据处理,但其最常见的用途是在结构化数据集上执行大规模的ETL和把它用作大型数据集的数据仓库。该航空公司数据集高度结构化,适合用于解释SQL语言元素方面的MapReduce概念。该数据集可从http://stat-computing.org/dataexpo/2009/the-data.html下载。

数据集各种字段如表5​​-1所示。

[Read more…]

【MySQL学生手册】MySQL锁

本文地址:https://www.askmac.cn/archives/mysql-lock.html

第7章 锁

 

章节概述

本章介绍如何MySQL的锁(Lock)机制。你会了解:

  • 锁的概念
  • 如何使用显式表锁
  • 如何使用协同(advisory)锁

 

7.1 锁的概念

MySQL服务端使用多线程架构,这样使其能够并行地位多个客户端进行服务。对连接的每个客户端来说,服务端分配了一个线程作为其连接处理。如果每个客户端访问不同的表,它们并不会互相干扰对方。然而,当多个客户端尝试在同一时间访问同一张表,会产生争用并需要客户端间协调。如,一个客户端正在修改行而另一个客户端正在读取它们,或两个客户端正在同时修改同一行,这样都会产生问题。为了避免这些问题引发的数据讹误,MySQL使用锁来进行解决。

 

锁是一种避免由于多个客户端同时进行数据访问而引发问题的机制。锁由服务端管理:它会为某个客户端对数据上锁以限制其它客户端对此数据的访问,直到锁被释放。锁仅允许持有它的客户端对被锁的数据进行访问,而对其它对此数据进行争用的客户端限制访问的操作行为。锁机制所起到的效果是为了在多个客户端进行有冲突的操作时,进行等待,以达到顺序化的数据访问。

 

不是所有并行访问都会产生冲突,因此使用什么类型的锁以允许客户端访问数据则取决于客户端到底是希望进行读还是写:

  • 如果一个客户端希望读数据,其它客户端也希望读这同样的数据,这并不会产生冲突,它们可以在同时进行读取。然而,如果其它客户端如果要进行写(修改)数据的话,就需要等到读取完成才能进行。
  • 如果一个客户端希望写数据,所有其它客户端必须等它写完,不管它们要做的操作是写操作还是读操作。

 

换句话说,一个读取器一定会阻碍写,但是不会阻止其它的读取操作。而写则会对其它读和写都进行阻止。读锁和写锁的作用就是允许这些限制被实现。锁使得客户保持等待直到可以安全进行。在这种方式下,锁通过不允许并行冲突来保证避免数据讹误,以有序的方式读取被改变的数据。

[Read more…]

C100DBA MongoDB DBA认证考题讲解 Journal日志的存放

本文永久链接:https://www.askmac.cn/archives/mongodb-journal.html

C100DBA MongoDB DBA认证考题讲解 Journal日志的存放

 

Screen Shot 2015-04-28 at 10.44.03 PM

 

Why might you want to put your journal on a separate drive on your primary?

在你的主库上是什么驱动你去把journal日志存放在一个分离(与db文件分离)的磁盘上?

  1. 允许使用文件系统快照备份
  2. 为了改善写出吞吐量
  3. 提供更好的故障容错
  4. 消除对secondary服务器的需求
  5. 增加oplog的窗口

此为单选题, 答案为B 为了改善写出吞吐量

参考:https://docs.mongodb.org/manual/core/write-performance/

Journaling

MongoDB uses write ahead logging to an on-disk journal to guarantee write operation durability and to provide crash resiliency. Before applying a change to the data files, MongoDB writes the change operation to the journal.

While the durability assurance provided by the journal typically outweigh the performance costs of the additional write operations, consider the following interactions between the journal and performance:

  • if the journal and the data file reside on the same block device, the data files and the journal may have to contend for a finite number of available write operations. Moving the journal to a separate device may increase the capacity for write operations.
  • if applications specify write concern that includes journaled, mongod will decrease the duration between journal commits, which can increases the overall write load.
  • the duration between journal commits is configurable using the commitIntervalMs run-time option. Decreasing the period between journal commits will increase the number of write operations, which can limit MongoDB’s capacity for write operations. Increasing the amount of time between commits may decrease the total number of write operation, but also increases the chance that the journal will not record a write operation in the event of a failure.

 

C100DBA MongoDB DBA认证考题讲解 mongodump command

C100DBA MongoDB DBA认证考题讲解 mongodump command

 

Screen Shot 2015-04-28 at 10.46.18 PM

 

 

Which of the following are true about the mongodump command ?

  1. Can backup data by connecting to a running mongos or mongod server
  2. Can backup data using only the data files for a MongoDB database
  3. Writes data in either BSON or JSON format

此为多选题

答案为 A

参考地址:https://docs.mongodb.org/manual/reference/program/mongodump/

1、mongodump 导出数据使用的是BSON格式,而非JSON格式

2、 mongodump can read data from either mongod or mongos instances. mongodump 可以基于mongod/mongos读取数据

 

在AngularJS+NodeJS+MongoDB+OAuth中搭建web Service

本文永久链接: https://www.askmac.cn/archives/try-mean.html

 

随着JavaScript的深入学习,在此我总结了web service的制作方法。编写了简单的Todo列表。

AngularJS+NodeJS(ExpressJS)+MongoDB

 

虽然搭建web service有很多方法,但这次主要讲解下述几种方法。

因为从服务器到客户端中,都可以用javascript来写。基于MonogoDB,我们称为MEAN栈。

以下我们将其取名为meanstack-sample,主要按顺序讲授直到启动为止所需要做的事。

Yeoman的设定

 

在制作网络应用的时候,使用yeoman的话,就可以简单地完成制作雏形以及调试,所以我很推荐大家使用。Yeoman是由Yo(项目管理)+bower(依赖性管理)+grunt(实施搭建测试)来组成的,这些都是能辅助JavaScript开发的nodejs的library。

npm install -g yo grunt-cli bower generator-angular generator-karma

 

Yo

使用Yo的话,就能安装各种雏形。雏形是可以在npm中搜索,通过输入

 npm saerch yeoman-generator

 

就可以实现搜索。根据想搜索的结果,可以选择想使用的雏形比如输入

% yo webapp

 

或者

% yo angular

 

就可以生成各种雏形。

 

Bower

 

在Yo中制作雏形之后,根据需要追加JavaScript library时,通过使用bower就可以简单地对此进行管理。

安装:

bower install jquery --save

 

通过添加-save,就可以实现在安装的同时记录设定文件。目录中有bower.json的话,通过输入

 bower install

 

Grunt就可以将已经记录的library之后进行汇总来一起安装。

grunt server

[Read more…]

NGINX的商用版更新 NGINX Plus R7支持HTTP/2 TCP负载均衡也得到了改良

本文永久链接地址:https://www.askmac.cn/archives/nginx-new-edition.html

NGINX的商用版更新 NGINX Plus R7支持HTTP/2  TCP负载均衡也得到了改良

 

投资着们所热切关心的,人气急剧上升的webserver 网页服务器 NGINX今天(美国时间9/16),发表声明称,服务器的最新商用发行中开始支持HTTP的次时代标准HTTP/2了。

 

在之前的免费的开源版本中,已经部分支持HTTP/2了,今天则正式对顾客们宣布NGINX Plus R7发行了。这个版本中,HTTP/2服务最大的看点在于,在代表同社的product中,也追加了一些其他的新功能。

 

HTTP/2的一部分是基于Google的SPDY协议的。但是,NGINX的市场顾问Peter Guagenti所述,浏览器方面的HTTP/2的支持还是有点问题的,在大部分的浏览器都实装了HTTP/2之前,默认的高速HTTP协议,使用SPDY会更好。但是HTTP/2的安全性非常优秀,试用应该从现在开始。

 

HTTP/2的NGINX的实装方式中,对于传统用户,用标准的HTTP1就可以简单地服务于页面。另外,在支持这个功能的客户端中,可以用HTTP/2以及SPDY来连接。但是,无法并行操作SPDY与HTTP/2。

 

在这次的更新中,NGINX Plus的TCP负载均衡得到了改良。在上次,首次的发行过程中,TCP的支持与NGINX的HTTP的支持无法良好匹配。。但今后,用户可以设定TCP连接的连接限制以及带宽限制。乍一看觉得这只是个次要的功能,但因为限制在流媒体服务中会频繁用到TCP连接,所以可以限制活跃的连接数的功能,对于防范DDoS是最重要的。

[Read more…]

C100DBA MongoDB DBA认证考题讲解 备份运行中的分片集群

C100DBA MongoDB  DBA认证考题讲解 备份运行中的分片集群

 

Screen Shot 2015-04-28 at 10.43.33 PM

 

 

which of the following must you do before backing up a running sharded  cluster using a file system snapshot?

  1. Disable Journaling
  2. Force an election
  3. Stop all the config server
  4. backup secondaries
  5. Disable the balancer

下列哪个选项是当你使用文件系统快照备份一个在运行中的分片集群时必要做的?

  1. 禁用 Journaling 日志
  2. 强制一次election
  3. 关闭所有的config server
  4. 备份secondaries
  5. 禁用balancer

可参考文档 https://docs.mongodb.org/manual/tutorial/backup-sharded-cluster-with-filesystem-snapshots/

 

最佳答案为 E  禁用balancer

其过程分为:

Disable the balancer.

1

Disable the balancer.

Disable the balancer process that equalizes the distribution of data among the shards. To disable the balancer, use the sh.stopBalancer() method in the mongo shell.

Consider the following example:

use config
sh.stopBalancer()

For more information, see the Disable the Balancer procedure.

2

If necessary, lock one secondary member of each replica set in each shard.

If your mongod does not have journaling enabled or your journal and data files are on different volumes, you must lock your mongod before capturing a back up.

If your mongod has journaling enabled and your journal and data files are on the same volume, you may skip this step.

If you need to lock the mongod, attempt to lock one secondary member of each replica set in each shard so that your backups reflect the state of your database at the nearest possible approximation of a single moment in time.

To lock a secondary, connect through the mongo shell to the secondary member’s mongod instance and issue the db.fsyncLock() method.

3

Back up one of the config servers.

Backing up a config server backs up the sharded cluster’s metadata. You need back up only one config server, as they all hold the same data. Do one of the following to back up one of the config servers:

Create a file-system snapshot of the config server.

Do this only if the config server has journaling enabled. Use the procedure in Backup and Restore with Filesystem Snapshots. Never use db.fsyncLock() on config databases.

Create a database dump to backup the config server.

Issue mongodump against one of the config mongod instances. If you are running MongoDB 2.4 or later with the –configsvr option, then include the –oplog option to ensure that the dump includes a partial oplog containing operations from the duration of the mongodump operation. For example:

mongodump --oplog
4

Back up the replica set members of the shards that you locked.

You may back up the shards in parallel. For each shard, create a snapshot. Use the procedure inBackup and Restore with Filesystem Snapshots.

5

Unlock locked replica set members.

If you locked any mongod instances to capture the backup, unlock them now.

Unlock all locked replica set members of each shard using the db.fsyncUnlock() method in themongo shell.

6

Enable the balancer.

Re-enable the balancer with the sh.setBalancerState() method. Use the following command sequence when connected to the mongos with the mongo shell:

use config
sh.setBalancerState(true)

沪ICP备14014813号-2

沪公网安备 31010802001379号