- 博客(82)
- 资源 (3)
- 收藏
- 关注
原创 makefile小结
makefile心得在Makefile中也#开始的行都是注释行.Makefile中最重要的是描述文件的依赖关系的说明。一般的格式是: target:components TAB rule 第一行表示的是依赖关系。第二行是规则。 比如说我们上面的那个Makefile文件的第二行。 main:main.o mytool1.o
2015-04-09 15:14:26
213
原创 序列化浅析
简单来说序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,流的概念这里不用多说(就是I/O),我们可以对流化后的对象进行 读写操作,也可将流化后的对象传输于网络之间(注:要想将对象传输于网络必须进行流化)!在对对象流进行读写操作时会引发一些问题,而序列化机制正是用来 解决这些问题的!问题的引出:如上所述,读写对象会有什么问题呢?比如:我要将对象写
2014-07-22 16:26:53
167
转载 Ubuntu下eclipse开发hadoop应用程序环境配置
大家好,今天给大家介绍一下Ubuntu下eclipse开发hadoop应用程序环境配置,目的很简单,为进行研究与学习,部署一个hadoop运行环境,并搭建一个hadoop开发与测试环境。环境:Vmware 10.0 和Ubuntu10.04第一步:下载eclipse-SDK-4.2.1-linux-gtk.tar.gzhttp://mirrors.ustc.edu.cn
2014-07-14 15:36:12
322
转载 explicit修饰构造函数
按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String {String ( const char* p ); // 用C风格的字符串p作为初始化值//…}String s1 = “hello”; //OK 隐式转换,等价于String s1 = String(“hello”
2014-07-07 16:59:44
439
转载 Linux中brk(),sbrk(),mmap(),malloc(),calloc()的异同
转自:http://blog.youkuaiyun.com/ubuntulover/article/details/7581317brk和sbrk主要的工作是实现虚拟内存到内存的映射.在GNUC中,内存分配是这样的: 每个进程可访问的虚拟内存空间为3G,但在程序编译时,不可能也没必要为程序分配这么大的空间,只分配并不大的数据段空间,程序中动态分配的空间就是从这一块分配的。如
2014-07-07 15:30:40
261
转载 linux并发服务器模型
转自;http://blog.youkuaiyun.com/lingfengtengfei/article/details/12348903总结的e
2014-07-07 15:07:41
251
转载 linux内存管理
前言内存管理一向是所有操作系统书籍不惜笔墨重点讨论的内容,无论市面上或是网上都充斥着大量涉及内存管理的教材和资料。因此我们这里所要写的Linux内存管理采取必重就轻的策略,从理论层面就不去板门弄斧,贻笑大方了。我们最想做的和可能做到的是以开发者的角度谈谈对内存管理的理解,最终目的是把我们在内核开发中使用内存的经验和对Linux内存管理的认识与大家共享。当然这其中我们也会设计一些诸如
2014-07-07 14:53:35
243
转载 MapReduce 编程模型在日志分析方面的应用
简介日志分析往往是商业智能的基础,而日益增长的日志信息条目使得大规模数据处理平台的出现成为必然。MapReduce 处理数据的有效性为日志分析提供了可靠的后盾。本文将以对访问网页用户的日志进行分析,进而挖掘出用户兴趣点这一完整流程为例,详细解释 MapReduce 模型的对应实现,涵盖在 MapReduce 编程中对于特殊问题的处理技巧,比如机器学习算法、排序算法、索引机制、连接机
2014-06-23 21:16:01
298
转载 mapreduce编程基础
. WordCount示例及MapReduce程序框架首先通过一个简单的程序来实际运行一个MapReduce程序,然后通过这个程序我们来哦那个结一下MapReduce编程模型。下载源程序:/Files/xuqiang/WordCount.rar,将该程序打包成wordcount.jar下面的命令,随便写一个文本文件,这里是WordCountMrtrial,并上传到hdfs上,这里的路径是/
2014-06-23 20:19:11
276
转载 hadoop基本命令
在这篇文章中,我们默认认为Hadoop环境已经由运维人员配置好直接可以使用。假设Hadoop的安装目录HADOOP_HOME为/home/admin/hadoop。启动与关闭启动HADOOP1. 进入HADOOP_HOME目录。2. 执行sh bin/start-all.sh关闭HADOOP1. 进入HADOOP_HOME
2014-06-19 16:40:34
239
转载 hadoop slot详解
Slots是Hadoop的一个重要概念。然而在Hadoop相关论文,slots的阐述难以理解。网上关于slots的概念介绍也很少,而对于一个有经验的Hadoop开发者来说,他们可能脑子里已经理解了slots的真正含义,但却难以清楚地表达出来,Hadoop初学者听了还是云里雾里。我来尝试讲解一下,以期抛砖引玉。首先,slot不是CPU的Core,也不是memory chip,它是一个逻辑概念
2014-06-19 15:21:04
380
原创 hadoop 容量能力调度器
计算能力/容量调度器(Capacity Scheduler)是Yahoo公司开发的多用户调度器。多用户调度器的使用场景很多,根据资料1的说法,Hadoop集群的用户量越来越大,不同用户提交的应用程序具有不同的服务质量要求(QoS):1. 批处理作业:耗时较长,对完成时间没有严格要求。如数据挖掘、机器学习等应用。2. 交互式作业:期望及时返回结果。如Hive等应用。3. 生产
2014-06-19 15:11:30
315
转载 各种分布式文件系统简介
转自:http://elf8848.iteye.com/blog/1724382常见的分布式文件系统有,GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等。各自适用于不同的领域。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。 Google学术论文,这是众多分布式文件系统的起源
2014-06-01 19:54:33
234
转载 c++const 修饰符总结
C++中const的一个很重要的作用就是把一个对象转换成一个常量。在程序中任何改变这个值的企图会被标记为编译错误。它被称为是“只读的”。(1)const对象在定义的时候必须被初始化。未初始化的常量会引起编译错误。原因是因为常量在定义之后就不能被修改,所以必须被初始化。(2)不能将一个非const对象的指针指向一个const对象。比如下面的代码
2014-05-29 15:51:01
248
转载 c++类型转换
C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)a。C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。const_cast,字面上理解就是去const属性。static_cast,命名上理解是静态类型转换。如int转换成char。dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多
2014-05-29 14:42:22
229
转载 C++基础]重载、覆盖、多态与函数隐藏
转自:http://www.cppblog.com/fwxjj/archive/2006/09/24/12876.html
2014-05-23 09:22:52
241
转载 浅析C++的构造函数,拷贝构造函数和赋值运算符
转自:http://blog.youkuaiyun.com/lovekatherine/article/details/1753523
2014-05-21 21:00:58
281
转载 vim操作基本指令
转自:http://blog.youkuaiyun.com/borefo/article/details/5017731§ 进入输入模式在命令模式下输入以下指令,程序将会进入输入(insert)模式此时使用者便可以修改文件档,若想跳出输入模式,则键入即可回到命令模式。i在光标左方进入输入模式I在光标所在行的行首进入输入模式a在光标右方进入输入模式A在光标所在
2014-05-19 15:30:17
341
转载 c语言可变参数函数实现原理
转自:http://www.cnblogs.com/archimedes/p/variable-parameter.html
2014-05-19 15:17:44
267
转载 c语言内存对齐(3)
转自:http://www.cnblogs.com/cpoint/p/3369486.html在minix的stdarg.h文件中,定义了如下一个宏:/* Amount of space required in an argument list for an arg of type TYPE. * TYPE may alternatively be an expressi
2014-05-19 14:37:00
256
转载 c语言内存对齐(1)
转自:http://www.cnblogs.com/cpoint/p/3369273.html一、什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就
2014-05-19 14:31:48
231
转载 epoll源码实现分析
转自:epoll用法回顾先简单回顾下如何使用C库封装的3个epoll相关的系统调用。更详细的用法参见http://www.cnblogs.com/apprentice89/archive/2013/05/06/3063039.htmlint epoll_create(int size);int epoll_ctl(int epfd, int op, int fd, st
2014-05-13 16:08:44
245
转载 排序算法稳定性总结
转自:http://blog.youkuaiyun.com/johnny710vip/article/details/6895654这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记
2014-05-12 09:19:42
211
转载 HDFS Federation 设计动机和基本原理
转自:http://dongxicheng.org/mapreduce/hdfs-federation-introduction/HDFS Federation是Hadoop最新发布版本Hadoop-0.23.0中为解决HDFS单点故障而提出的namenode水平扩展方案。该方案允许HDFS创建多个namespace以提高集群的扩展性和隔离性。本篇文章主要介绍了HDFS Feder
2014-05-09 11:06:40
329
转载 mapreduce 框架详解
转自:http://www.cnblogs.com/sharpxiajun/p/3151395.htmlhadoop 学习笔记:mapreduce框架详解 开始聊mapreduce,mapreduce是hadoop的计算框架,我学hadoop是从hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密。这个可能是
2014-05-09 10:09:51
259
转载 linux基础编程:IO模型:阻塞/非阻塞/IO复用 同步/异步 Select/Epoll/AIO
IO概念Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(fd,文件描述符)。而对一个socket的读写也会有相应的描述符,称为socketfd(socket描述符)。描述符就是一个数字,指向内核中一个结构体(文件路
2014-05-05 09:16:26
230
转载 TCP快速重传与快速恢复原理分析
zhuan超时重传是TCP协议保证数据可靠性的一个重要机制,其原理是在发送一个数据以后就开启一个计时器,在一定时间内如果没有得到发送数据报的ACK报文,那么就重新发送数据,直到发送成功为止。这是数据包丢失的情况下给出的一种修补机制。一般来说,重传发生在超时之后,但是如果发送端接收到3个以上的重复ACK,就应该意识到,数据丢了,需要重新传递。这个机制不需要等到重传定时
2014-05-03 16:26:29
343
转载 namenode启动开启了那些任务线程
转自:http://dikar.iteye.com/blog/943524第一类:后台任务线程 Java代码 org.apache.hadoop.hdfs.server.namenode.PendingReplicationBlocks$PendingReplicationMonitor org.apache.hadoop.hdfs.serv
2014-04-28 16:01:40
349
转载 HDFS追本溯源:HDFS操作的逻辑流程与源码解析
转自:http://blog.youkuaiyun.com/anzhsoft/article/details/23428475
2014-04-25 15:30:35
383
转载 HDFS追本溯源:体系架构详解
Hadoop是一个开发和运行处理大规模数据的软件平台,是Apache的一个用Java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。 Hadoop框架中最核心设计就是:HDFS和MapReduce。HDFS提供了海量数据的存储,MapReduce提供了对数据的计算。
2014-04-25 10:41:31
300
原创 linux环境下动态链接和静态链接
一个程序要想在内存中运行,除了编译之外还要经过链接和装入这两个步骤。从程序员的角度来看,引入这两个步骤带来的好处就是可以直接在程序中使用printf和errno这种有意义的函数名和变量名,而不用明确指明printf和errno在标准C库中的地址。当然,为了将程序员从早期直接使用地址编程的梦魇中解救出来,编译器和汇编器在这当中做出了革命性的贡献。编译器和汇编器的出现使得程序员可以在程序中使用更具意义
2014-04-10 11:03:34
332
转载 Linux 中的零拷贝技术
引言传统的 Linux 操作系统的标准 I/O 接口是基于数据拷贝操作的,即 I/O 操作会导致数据在操作系统内核地址空间的缓冲区和应用程序地址空间定义的缓冲区之间进行传输。这样做最大的好处是可以减少磁盘 I/O 的操作,因为如果所请求的数据已经存放在操作系统的高速缓冲存储器中,那么就不需要再进行实际的物理磁盘 I/O 操作。但是数据传输过程中的数据拷贝操作却导致了极大的 CPU 开销,限
2013-12-24 09:28:33
602
转载 Linux下select, poll和epoll IO模型的详解
转自:http://blog.youkuaiyun.com/tianmohust/article/details/6677985一).Epoll 介绍Epoll 可是当前在 Linux 下开发大规模并发网络程序的热门人选, Epoll 在 Linux2.6 内核中正式引入,和 select 相似,其实都 I/O 多路复用技术而已 ,并没有什么神秘的。其实在 Linux 下设计并发网络程序,向来
2013-12-02 21:43:31
356
转载 一致性哈希和分布式哈希表
一致性哈希和分布式哈希表转自:http://www.dullgull.com/2012/05/%E4%B8%80%E8%87%B4%E6%80%A7%E5%93%88%E5%B8%8C%E5%92%8C%E5%88%86%E5%B8%83%E5%BC%8F%E5%93%88%E5%B8%8C%E8%A1%A8/一致性哈希(consistent hashing)和分布式哈希表(D
2013-11-27 15:17:06
287
转载 memmove和memcpy函数的区别
转自:http://www.cppblog.com/colorful/archive/2012/04/23/172483.aspx1.memmove函数原型:void *memmove(void *dest, const void *source, size_t count)返回值说明:返回指向dest的void *指针参数说明:dest,source分别为目标串和源串
2013-07-17 09:59:49
269
LINUX内核设计与实现(第二版)
2013-05-15
深入理解计算机系统(原书第2版)压缩
2013-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人