摘要:
前言: 在Linux的网络编程中,同步IO(synchronous IO)、异步IO(asynchronous IO)、阻塞IO(blocking IO)、非阻塞IO(non-blocking IO)究竟是什么?它们之间又有什么联系和区别? 本文是我对这个问题的答案整理的... 阅读全文
摘要:
一、IO多路复用所谓IO多路复用,就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。Linux支持IO多路复用的系统调用有select、poll、epoll,这些调用都是内核级别的。但select、poll、... 阅读全文
摘要:
在做游戏开发时,经常需要在应用层实现自己的心跳机制,即定时发送一个自定义的结构体(心跳包),让对方知道自己还活着,以确保连接的有效性。在TCP socket心跳机制中,心跳包可以由服务器发送给客户端,也可以由客户端发送给服务器,不过比较起来,前者开销可能更大。—— 这里实现的是由客... 阅读全文
摘要:
本文仅是个人的学习笔记,有问题请指正。一、简介在大数据领域,自从有了 Hadoop 以后,大家渐渐习惯收集日志到 HDFS 中,然后每天运行 MapReduce 任务做统计报表。但是,面对诸如“新上线的版本过去几分钟在各地反馈如何”,“昨天23:40左右这个投诉用户有没有异常”这种... 阅读全文
摘要:
一、内存监控监控内存的使用状态是非常重要的,通过监控有助于了解内存的使用状态,比如内存占用是否正常,内存是否紧缺等等,监控内存最常使用的命令有free、vmstat、top等1.1 free$ free total used free... 阅读全文
摘要:
在《HBase技术简介》中我们知道,HBase中有两个特殊的表:-ROOT-和.META.。由于HBase中的表可能非常大,故HBase会将表按行分成多个region,然后分配到多台RegionServer上。数据访问的整个流程如下图所示: 注意两点:Client端在访问数据的过... 阅读全文
摘要:
HBase本身提供了很多种数据导入的方式,通常有两种常用方式:使用HBase提供的TableOutputFormat,原理是通过一个Mapreduce作业将数据导入HBase另一种方式就是使用HBase原生Client API本文就是示范如何通过MapReduce作业从一个文件读取... 阅读全文
摘要:
通常我们在学习一门语言的时候,写的第一个程序就是Hello World。而在学习Hadoop时,我们要写的第一个程序就是词频统计WordCount程序。 一、MapReduce简介 1.1 MapReduce编程模型 MapReduce采用”分而治之”的思想,把对大规模数据集的操作,分发给一个主节点 阅读全文
摘要:
一、HBase简介HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase是Google BigTable的开源实现,类似Google BigTabl... 阅读全文
摘要:
一、环境说明集群环境至少需要3个节点(也就是3台服务器设备):1个Master,2个Slave,节点之间局域网连接,可以相互ping通,下面举例说明,配置节点IP分配如下: Hostname IP User Password master 192.168.59.133 ... 阅读全文