Hadoop学习之内容概览

Background:第一次接触hadoop,之前总听说,也早早的列了学习计划,中途间间断断的看了官网文档,买了本书,太厚了,只看了封皮。终于今天有时间和兴趣,初窥门径,赶紧记下来。

Hadoop是什么?就是Apache Hadoop,一个大数据技术框架,Big Data一般指就是它了。

解决什么问题?这个也许是我最关系的问题了,其实官方文档里面没有讲太多,都是技术细节,这个就要搜索了。大概比较满意的答案是说,非结构化的数据,比如网页搜索引擎的检索结果,数据量很大的时候,用传统的数据库存储和处理就不太合适了,需要换个思路,就是Hadoop的思路,解决这类问题的。所以有时被贴上NoSQL的标签,其实和SQL没什么对立。参考:https://www.oreilly.com/ideas/what-is-hadoop

工作原理是啥?这个就是要研读官方文档了,也是最需要花时间的地方,这边就简单归纳一下吧。

大概分两块,基础软件包和开发接口。基础软件包是讲运行环境的搭建、安装、部署,是一个分布式文件系统,即HDFS,工作原理比较复杂,但技术核心也在这里。开发接口是讲怎么用的,Hadoop其实是面向技术人员的,是一个技术框架,所以落地是怎么用,就是MapReduce,这个接口需要运行在HDFS之上的,必须配套使用。

HDFS工作原理

HDFS Architecture

看上去比较复杂,的确复杂,不过和SAP NW思路有类似的地方,Datanodes可以理解为真正存数据的地方,类似于NW的servernode,Namenode可以理解为控制怎么存数的地方,类似于NW的message server和enqueue server。里面的Datanode里面绿色的block应该是划分的物理空间大小,比如128MB一个块。Client就是用户了,写操作是写多个地方的,读操作是读一个地方的。HDFS有冗余机制判断写多个地方成功几个算成功,好处就是不怕单点故障,这就是分布式的好处。并且HDFS有数据复制机制,增加数据存储的可靠性。

MapReduce工作原理

其实MapReduce即使一个Hadoop Job工作的2个阶段,第一个阶段是定义问题,就是Map,把Text中要关心的数据的Key定义出来。第二个阶段就归纳问题,就是Reduce,Job跑完Map接口后会跑Reduce,会基于Map阶段定义的Key Value,对相同的Key进行合并,所以合并完,结果集里面Key基本唯一了,复杂的场景可能要跑多轮,比如多个Reducer同时Reduce,第一轮每一个Reducer拿到的Map都是不全的,Reduce一遍之后,再集中Reduce一遍,得到最终的结果集,这是后Key就唯一了,任务就完成了,数据就可以被使用或消费了。

结尾,底层很多复杂的细节不再深究了。比如为了管理这套东西,提供的专门的一套命令行工具,就是Common。还有YARN,实现了资源和应用的全局管理。

 

 

2018新年快乐

最近一直加班,春节到了,在这里也和世界问一声好,2018,新年快乐!

完成阅读《深入剖析Tomcat》

实际上很早就开始读这本书了,只不过中间又去先读了别的书,所以现在才读完。

读这本书的起源是先前想了解tomcat源码,下载了tomcat的源码阅读,但是发现源码很多,直接阅读起来十分困难,很是费力,于是想找一找,有没有一本书可以帮助阅读源码,于是找到了这本书。

归根到底,这本书还是围绕着tomcat源码开展的,源码阅读是十分费力的,所以常常有些章节也是粗略略过,总体上看的不是十分细致,勉强看完。不过现如今也是不求甚解,故到此告一段落。

系统更新

wordpress系统更新到4.9。

这两天利用零碎时间,手动更新了wordpress,今天早晨完成了更新。但还有些后续常规运维操作,如备案信息维护,插件检查等。会抽空尽量完成。

体验wordpress手机客户端写作的乐趣

一直在寻找一种记录,积累,分享的畅快的博客体验。随心,随时,随地,都可以记录与写作。发现自从有了wordpress手机客户端,这种想法便满足了。

想要实现一套这样的自己的博客架构,概括一下,需要这些知识:

1. linux administration,即linux的管理运维。

2. apache httpd的安装和管理运维。

3. php的安装与语言基础知识。

4.  mysql数据库安装与管理运维。

5. wordpress软件的安装和功能使用的知识。

6. html css javacript语言基础知识。

7. https ssl等安全的基础知识。

8. 最后要舍得花钱申请域名和购买云服务器主机了。

能让实践和理论学习相结合,这或许是这个博客对于我最大的帮助了。

升级未完待续…

升级遇到一个问题,不知道为什么,进度滞留在下载阶段。

已经排除网络问题和权限问题。

有事情不得不中断一下。回头可能会尝试手动升级。

关于ctblog升级的通知

最近实在不能忍,一天cpu 100%2次,都是xmlrpc,所以决定好好研究一下wordpress,首先要做的就是升级到最新版本。

当前使用的是4.7.3 版本,要升级到4.9版本。大概需要4个小时左右的时间。中午12点开始。

关于ctblog迁移/other目录的公告

最近blog被攻击导致CPU 100%网站访问不了的频率实在太高了,通过控制台信息看到,大多是由于/other目录下方的临时代码导致,很久之前为开发测试上传的临时代码文件。
迁移会影响到API-doc的目录,这也是迟迟不想迁移的只要原因。
感谢一直一类攻击ctblog的朋友,让我的安全技术水平一直进步,呵呵。