前言:
在Linux的网络编程中,同步IO(synchronous IO)、异步IO(asynchronous IO)、阻塞IO(blocking IO)、非阻塞IO(non-blocking IO)究竟是什么?它们之间又有什么联系和区别? 本文是我对这个问题的答案整理的笔记,参考《UNIX网络编程.卷1》
Java基础笔记(四) IO/NIO与序列化
本文主要是我在看《疯狂Java讲义》时的读书笔记,阅读的比较仓促,就用 markdown 写了个概要。
第十一章 I/O与序列化
1、File类
Java中访问本地系统是通过java.io.File
类。 File类可以使用 绝对路径 或 相对路径 来创建 File 对象,然后调用 File 对象的方法来操作文件和目录。
Java基础笔记(三) 多线程
本文主要是我在看《疯狂Java讲义》时的读书笔记,阅读的比较仓促,就用 markdown 写了个概要。
第十章 多线程
1、进程和线程的概念
当一个程序进入内存运行时,即变成一个进程(Process)。进程是系统进行资源分配和调度的一个独立单位。—— 进程三特征:
Java基础笔记(二) 集合、泛型、异常处理
本文主要是我在看《疯狂Java讲义》时的读书笔记,阅读的比较仓促,就用 markdown 写了个概要。
第七章 Java集合(重点)
1、 Java集合概述
Java集合类是一种工具类,主要用来存储数量不定的对象,类似于容器。Java主要有四大集合体系:Set
、 List
、Queue
、Map
。
Java基础笔记(一) 数据类型、面向对象、基础类库
初识Elasticsearch
本文仅是个人的学习笔记,有问题请指正。
一、简介
在大数据领域,自从有了 Hadoop 以后,大家渐渐习惯收集日志到 HDFS 中,然后每天运行 MapReduce 任务做统计报表。但是,面对诸如“新上线的版本过去几分钟在各地反馈如何”,“昨天23:40左右这个投诉用户有没有异常”这种即时的开放性问题,传统的日志处理方案显得非常的笨拙和低效。复杂多变的实时数据分析需求,需要的是灵活快捷的响应处理,Elasticsearch的出现让这个问题得到了很好的解决!
常用linux系统监控命令
一、内存监控
监控内存的使用状态是非常重要的,通过监控有助于了解内存的使用状态,比如内存占用是否正常,内存是否紧缺等等,监控内存最常使用的命令有free、vmstat、top等
1.1 free
1 | $ free |
第一行(Mem):
-ROOT-表和.META.表结构详解
在《HBase技术简介》中我们知道,HBase中有两个特殊的表:-ROOT-
和.META.
。
由于HBase中的表可能非常大,故HBase会将表按行分成多个region,然后分配到多台RegionServer上。数据访问的整个流程如下图所示:
MapReduce将HDFS文本数据导入HBase中
HBase本身提供了很多种数据导入的方式,通常有两种常用方式:
- 使用HBase提供的TableOutputFormat,原理是通过一个Mapreduce作业将数据导入HBase
- 另一种方式就是使用HBase原生Client API
本文就是示范如何通过MapReduce作业从一个文件读取数据并写入到HBase中。
首先启动Hadoop与HBase,然后创建一个空表,用于后面导入数据:
第一个MapReduce程序——WordCount
通常我们在学习一门语言的时候,写的第一个程序就是Hello World。而在学习Hadoop时,我们要写的第一个程序就是词频统计WordCount
程序。
一、MapReduce简介
1.1 MapReduce编程模型
MapReduce采用”分而治之”的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapReduce就是”任务的分解与结果的汇总”。
在Hadoop中,用于执行MapReduce任务的机器角色有两个: