- 浏览: 92631 次
- 性别:
- 来自: 深圳
文章列表
Hadoop MapReduce的特性
- 博客分类:
- Hadoop
1.计数器
计数器是一种收集作业统计的有效手段,用于质量控制或应用级统计。计数器还可以辅助诊断系统故障。
相对于日志,它获取更方便,其次根据计数器值统计特定事件的发生次数要比分析一堆日志文件容易多了。
1 ...
Hadoop MapReduce的类型和格式
- 博客分类:
- Hadoop
1.MapReduce的类型
Hadoop的MapReduce函数遵循如下常规格式:
--map:(K1, V1) -> list(K2, V2)
--combine:(K2, list(V2)) -> list(K2, V2)
--partition:(K2, V2) -> integer
--reduce:(K2, list(V2)) -> list(K3, V3)
输入数据(K1,K2)的类型由输入格式进行设置。
由于JAVA的泛型存在类型擦除,其它的类型不能从mapper,reducer等直接导出,而需要手动设置。
其余设置如下表所示:
1) ...
Hadoop MapReduce工作机制
- 博客分类:
- Hadoop
1.MapReduce运行过程
如下图所示,运行过程包含下述4个独立的实体
--JobClient:提交MapReduce作业
--JobTracker:协调作业的运行
--TaskTracker:运行作业划分后的任务
--分布式文件系统(一般为HDFS):用来在其他实体之间共享作业文 ...
1.开发流程
1)编写map函数和reduce函数,最好使用单元测试来确保函数的运行符合预期
2)写一个驱动程序来运行作业
3)通过在一个小的数据集上运行这个驱动程序来进行测试
2.配置API
1)Configuration
一个Configuration类的实例代表配置属性及其取值的一个集合。
每个属性由一个String来命名,而值类型可以是多种。
Configuration从XML文件中读取属性内容,常见的有core-site.xml,hdfs-site.xml,mapred-site.xml。e.g.
configuration-1.xml
<?xml ver ...
1.数据完整性
检测数据的常用措施:在数据第一次引入系统时计算校验和,读取时再次计算校验和然后进行比较,常用的错误检测码是CRC-32。
注:校验和也是可能损坏的,但是校验和比数据小得多,所以损坏的可能性很小。
1)HDFS的数据完整性
HDFS会对写入的所有数据计算校验和,并在读取数据时验证校验和。默认针对每512个字节的数据计算校验和。
core-site.xml
<property>
<name>io.bytes.per.checksum</name>
<value>512</value>
< ...
MongoDB JAVA
- 博客分类:
- MongoDB
http://docs.mongodb.org/ecosystem/drivers/java/
MongoDB 分片
- 博客分类:
- MongoDB
1.简介
分片(分区),是指将数据拆分,将其分散存在不同的机器上的过程。
将数据分散到不同的机器上,不需要功能强大的大型计算机就可以存储更多地数据,处理更大的负载。
2.MongoDB的自动分片
MongoDB分片的基本思想是将 ...
MongoDB 复制
- 博客分类:
- MongoDB
1.主从复制
主从复制是MongoDB最常用的复制方式。这种复制方式非常灵活,可用于备份、故障恢复、读扩展等。
通过启动时的选项进行设置,每个从节点要知道主节点的地址,所有从节点都从主节点复制内容,目前还没有能够从从节点复制的机制,原因是从节点并不保存自己的oplog。
相关的启动选项
--master 设置当前服务为主节点
--slave 设置当前服务为从节点
--source 指定主节点的地址
--only 在从节点上指定只复制特定某个数据库(默认复制除local之外的所有数据库)
--slavedelay 设置从节点复制主节点时的延时
--fastsy ...
MongoDB 运维
- 博客分类:
- MongoDB
1.启动
查看启动选项
mongod --help
几个重要的选项
dbpath:数据目录,启动时mongod实例会在该目录下创建mongod.lock文件,防止其它mongod实例使用该数据目录
port:服务器监听的端口号,默认为27017
fork:以守护进程的方式运行
log ...
MongoDB 数据库引用
- 博客分类:
- MongoDB
1.简介
数据库引用DBRef,是一个内嵌文档,它就像一个URL,唯一确定一个到文档的引用。
2.语法
{ "$ref": ..., "$id": ..., "$db": ...}
$ref: 集合名称
$id: 文档的_id
$db: 数据库名称
注:DBRef中的键的顺序不能改变。
3.使用
//插入
db.user.insert({"_id": "001", "name": "路人甲0", "age": 20 ...
MongoDB 服务器端脚本
- 博客分类:
- MongoDB
1.简介
MongoDB可以通过db.eval函数来执行JS脚本,也可以把JS脚本保存在数据库中,然后在别的数据库命令中调用。
2.使用db.eval
//方式一
db.eval('var age = db.user.findOne({"id": 0}).age; db.user.update({"id": 0}, {"$set": {"age": age + 10}});');
//方式二
db.eval('function() { var age = db.user.findOne({" ...
MongoDB GridFS
- 博客分类:
- MongoDB
1.简介
GridFS是一种MongoDB中存储大二进制文件的机制。
2.优点
1)基于MongoDB,不需要独立的文件存储架构
2)可以使用MongoDB的复制和分片机制,故障恢复和扩展都很容易
3)由于MongoDB分配数据文件时以2GB为一块,不会产生磁盘碎片
3.使用
查看帮助文档
mongofiles --help
上传文件
mongofiles put -d micromsg D:\mongoDB\testfile.log
结果
{
_id: ObjectId('5327c0eb754750db9c8a8c4c'),
filename: &quo ...
MongoDB 固定集合
- 博客分类:
- MongoDB
1.定义
固定集合大小固定,必须事先创建,并且指定大小。
固定集合很像环形队列,如果空间不足,最早的文档就会被删除,为新的文档腾出空间,即自动淘汰最早的文档。
2.与普通集合的区别
1)不能删除文档
2)更新不能导致文档移动,即更新不能使得被更新的文档的存储空间变大
3)在默认情况下固定集合没有索引
3.特点
1)插入速度极快
2)按照插入顺序输出的查询速度极快
4.应用
1)日志
2)缓存少量的文档
3)任何想要自动淘汰过期属性的场景
5.创建
方法一:
db.createCollection("sys_log", {"capp ...
windows删除服务(转载)
- 博客分类:
- 五花八门
一、什么是Windows服务
Windows服务也称为Windows Service,它是Windows操作系统和Windows网络的基础,属于系统核心的一部分,它支持着整个Windows的各种操作。诸如DNS客户端、打印程序、Windows更新服务、计划任务、Windows时间服务、告警器等服务,它们关系到机器能否正确运行。如果不能适当地管理这些服务,就会影响到机器的正常操作。
一个服务首先是一个Win32可执行程序,或者是是rundll32.exe来运行一个。dll的方式形成的进程。
跟普通应用程序不一样,如打开WORD,有一个界面出来,但服务没有用户界面。也不能通过直接双击运行相应 ...
MongoDB 数据库命令Command
- 博客分类:
- MongoDB
1.语法
db.runCommand(...);
注:访问有些命令需要有管理员权限,必须在admin数据库里执行。
2.查看所有的命令
方法一:
db.listCommands();
方法二:
http://localhost:28017/_commands
(启动mongo时必须添加--rest选项)
3.工作原理
MongoDB中的命令其实是作为一种特殊类型的查询来实现的,这些查询对$cmd集合来执行。runCommand仅仅是接受命令文档,执行等价查询。e.g.
db.runCommand({"drop": "user"}); ...