第4页
-
一种简单的分布式存储系统
三层架构(MetaNodeMonitor+MetaNode+DataNode),核心是下面两层(MetaNode+DataNode),下面两层是可以脱离Monitor独立运行。 Monitor的存在主要是作为一个MetaNode的监控和MetaNode出错时进行切换角色,并且通知DataNode进行切换。 DataNode在获取主MetaNode的Ip后进行本地缓存,不需要主动询问Monitor,而且DataNode还可以主动从任意MetaNode获取主MetaNode的IP信息。 MetaNod...
-
两阶段提交算法
两阶段提交协议是在事务处理、数据库,以及计算机网络中使用的一种原子提交协议(atomic commitment)。它是一个分布式算法,协调在整个分布式原子事务中的参与者的行为(commit或者roll back)。这个协议在一些系统错误发生时仍然能够成功,((两阶段提交协议))但并不能保证对所有错误都能进行容错。为了能做错误恢复,协议的所有参与 者都需要使用日志对协议状态进行记录。 两阶段提交协议中,其中一个节点被设置为coordinator,其他节点设置为cohorts。每个Mutation都会经历两个状态...
-
netty用pb来实现多接口rpc
在netty中使用pb, nettty的pb编解码必须指定要解码和编码的pb结构体,这然做多接口的应用就很不方便,这里采用了一种简单的方式来解决。 pb定义如下: package org.zhwen.netty.hello; enum ReqestType { LOGIN = 0; SERVICE = 1; } message Request { required ReqestType type = 1; optional Login login = 100; optional...
-
zz MySQL的InnoDB索引原理详解
原文地址:http://www.admin10000.com/document/5372.html 摘要: 本篇介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节。 InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档)。本着高效学习的目的,本篇以介绍InnoDB为主,少量涉及MyISAM作为对比。 这篇文章是我在学习过程中总结完成的,内容主要来自书本和博客(参考文献会给出),过程中加入了一些自己的理解,描述不准确的地方烦请指出。 1 各...
-
ngingx访问限制和iptables简单使用
为了方便安装了一个phpmyadmin,结果公司扫描了之后说要做一些安全限制,主要还是用到nginx的访问限制和iptables,这里稍微做一下记录 nginx的限制较为简单,在server中添加对phpmyadmin的限制即可 location ~* /phpmyadmin/ { allow 192.168.3.0/24; deny all; } 主要还是记录一下iptables的简单使用: 1、查看 iptables -vL –line-number -v 输出...
-
hdfs的C++接口编译测试
项目中要做一个数据包管理服务,我们主要项目开发都是C++的,所以这个数据包管理也是c++开发的,但是数据包的存储是个问题,最后选择了本地存储和hdfs存储结合。 昨天调试了以下hdfs的C++接口,简单这里记录一下: 代码程序是网上随处可以搜到的测试代码: #include <stdlib.h> #include <stdio.h> #include <string.h> #include "hdfs.h" int main(int argc, cha...
-
zz分布式文件系统FastDFS架构剖析
【本文系外部转贴,原文地址:http://www.programmer.com.cn/4380/】 FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统。 它只 能通过专有API对文件进行存取访问,不支持POSIX接口方式,不能mount使用。准确地讲,Google FS以及FastDFS、 mogileFS、HDFS、TFS等类Google FS都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。 Fa...
-
扩展sawzall代码实现自定义接口
使用sawzall开发mr程序虽然很快,不过也有不少限制,尤其对于新手来说,比如不能直接像c++一样调用线程的库,不过它提供了一种扩展开发的方式,我们可以自己修改sawzall代码实现新的功能接口,在下载平台的sawzall代码中,我们就扩展了一种聚合器,两个和我们web相关的功能接口:连接我们的domain service进行聚合域名的识别,根据url进行域名提取。这里以使用我们comm库中的url类进行域名提取为例来说明一下sawzall的功能函数扩展。 首先来看一下sawzall代码的目录结构和其用途说...
-
海量数据分析:Sawzall并行处理(中文版论文)
海量数据分析:Sawzall并行处理(中文版论文) Google的工程师为了方便内部人员使用MapReduce,研发了一种名为 Sawzall的DSL,同时Hadoop也推出了类似Sawzall的Pig语言,但在语法上面有一定的区别。今天就给大家贴一下Sawall的论文, 值得注意的是其第一作者是UNIX大师之一(Rob Pike)。原文地址,并在这里谢谢译者崮山路上走9遍。 海量数据分析:Sawzall并行处理(中文版论文) Google的工程师为了方便内部人员使用MapReduce,研...
-
使用gdb和ps定位程序cpu占用问题
先使用ps获取子进程cpu占用时间,可以看出那个线程cpu占用严重 ps -m -o tid,cpu,time -p 6321 TID CPU TIME - - 00:30:50 6321 - 00:00:00 6322 - 00:30:50 6323 - 00:00:00 6324 - 00:00:00 6325 - 00:00:00 6326 - 00:00:00 6327 - 00:00:00 6328 - 00:00:00 在用gdb a...
-
Storm云计算学习摘录总结
本想自己也总结以下,看到这篇文章总结的太好了,直接转载了 原文:http://my.oschina.net/yilian/blog/175451 1.Storm概念: 是一个分布式的、容错的实时计算系统,它被托管在GitHub上,遵循 Eclipse Public License 1.0。Storm是由BackType开发的实时处理系统,BackType现在已在Twitter麾下。GitHub上的最新版本是Storm 0.5.2,基本是用Clojure写的。 Storm为分布式实时计...
-
Sqlite使用笔记
在目前做的元数据节点中,为了保存一些节点的私有数据,选择了本地存储,在选择本地存储的选择上又选择了使用sqlite,sqlite对数据存储和数据解析在使用比较简单。而且编译入当前代码也是比较容易的。 Sqlite常使用的函数有下面几个。 sqlite3_open() sqlite3_errcode(_sqlite) sqlite3_errmsg() sqlite3_get_table() sqlite3_exec() sqlite3_prepare() sqlite3_step() sq...
-
Hadoop2.3.0源码编译过程记录
要在hadoop上作一个mr程序,做一些统计工作。但是发现官网下载的2.3的库只有32位的,而我的机器系统都是64位的。用g++直接指定编译32位的程序又发现头文件依赖有问题,没法编译通过。所以就只能编译hadoop,编译后在服务上启动64位程序,再编译mr程序进行工作。下面是编译的过程和其中遇到的一些问题。 编译文件准备: protobuf-2.5.0.tar.gz findbugs-2.0.3-source.zip gcc, build-essential, libssl-dev...
-
hadoop2.3单机搭建
没事整理了之前搭建hadoop的过程,这里使用了最新的hadoop版本,想在单机上做一些测试,顺手也就整理了一下这个文档。 一、准备环境 1.Hadoop是用Java开发的,必须要安装JDK1.6或更高版本 apt-get install openjdk-6-jdk 2.Hadoop是通过SSH来启动slave主机中的守护进程,必须安装OpenSSH apt-get install openssh-server 3.Hadoop更新比较快,我们采用最新版hadoop2.3...
最新留言
说:静态BLOG hugo欢迎你
2019-08-22 15:04:03说:您好,我是开发者头条的运营。感谢您的辛苦创作。您的《Redis 源码分析(一):Redis 启动分析》已被我们平台用户推荐到首页。为了让更多读者认识您,我们邀请您来开发者头条分享。与创作不同,您仅需复制粘贴文章链接即可完成分享。可以在各大应用市场搜索 “开发者头条” 找到我们的应用,欢迎了解。期待您的分享。
2019-03-13 01:03:11说:假的E: Type '“deb' is not known on line 1 in source list /etc/apt/sources.list.d/docker.listE: The list of sources could not be read.
2019-02-05 05:15:07说:[…] Golang UnitTest单元测试 […]
2019-01-31 04:40:36说:解决:使用心得的Linux版本,就不会出现此类问题了。我想问下博主这句话能解决问题吗?
2018-08-24 10:37:28说:不错不错,继续加油
2018-08-13 01:54:05说:我踩故我在,下次还会来!
2018-04-03 09:22:51说:[…] golang的httpserver优雅重启 […]
2018-03-15 03:10:41