随笔分类 -  Distributed system

摘要:Paxos 节点角色 Proposer:用于接收客户端的请求,客户端的请求到达 Proposer 之后,它会将这个请求封装为提案,然后把这个提案广播给所有的 Acceptor。 Acceptor:决定是否批准提案,会给 Proposer 返回一个类似于 yes or no 的响应。Proposer 阅读全文
posted @ 2022-08-15 21:37 Kayden_Cheung 阅读(180) 评论(0) 推荐(0) 编辑
摘要:准备工作 在做该实验前,需要熟读论文《In Search of an Understandable Consensus Algorithm (Extended Version)》,主要根据 Figure 2 来实现代码。 此外,在做实验的过程中,如果遇到了问题可以去看一下助教写的raft指南:Stu 阅读全文
posted @ 2022-07-14 17:06 Kayden_Cheung 阅读(936) 评论(1) 推荐(0) 编辑
摘要:准备工作 在做该实验前需要先阅读下论文《MapReduce: Simplified Data Processing on Large Clusters》 Lab1 的实验任务是实现 Word Count,测试文件在 src/main 下,以 pg-*.txt 格式命名。 由于该系列课程是使用 Go 阅读全文
posted @ 2022-07-14 17:05 Kayden_Cheung 阅读(513) 评论(0) 推荐(0) 编辑
摘要:前言 之前写过稀疏图的实现方法,这次写用矩阵存储数据的算法实现,只要会矩阵相乘的话,实现这个就很简单了。如果有不懂的可以先看一下下面两篇随笔。 MapReduce实现PageRank算法(稀疏图法) Python+MapReduce实现矩阵相乘 算法实现 我们需要输入两个矩阵A和B,我一开始想的是两 阅读全文
posted @ 2019-03-24 19:38 Kayden_Cheung 阅读(604) 评论(0) 推荐(0) 编辑
摘要:算法原理 map阶段 在map阶段,需要做的是进行数据准备。把来自矩阵A的元素aij,标识成p条<key, value>的形式,key="i,k",(其中k=1,2,...,p),value="a:j,aij";把来自矩阵B的元素bij,标识成m条<key, value>形式,key="k,j"(其 阅读全文
posted @ 2019-03-23 23:34 Kayden_Cheung 阅读(2051) 评论(0) 推荐(1) 编辑
摘要:前言 本文用Python编写代码,并通过hadoop streaming框架运行。 算法思想 下图是一个网络: 考虑转移矩阵是一个很多的稀疏矩阵,我们可以用稀疏矩阵的形式表示,我们把web图中的每一个网页及其链出的网页作为一行,即用如下方式表示: 1 A B C D 2 B A D 3 C C 4 阅读全文
posted @ 2019-03-23 13:35 Kayden_Cheung 阅读(1655) 评论(0) 推荐(0) 编辑
摘要:前言 Hadoop 本身是用 Java 开发的,所以之前的MapReduce代码小练都是由Java代码编写,但是通过Hadoop Streaming,我们可以使用任意语言来编写程序,让Hadoop 运行。 本文用Python语言实现了词频统计功能,最后通过Hadoop Streaming使其运行在H 阅读全文
posted @ 2019-03-22 09:10 Kayden_Cheung 阅读(2885) 评论(0) 推荐(0) 编辑
摘要:问题描述 将乱序数字按照升序排序。 思路描述 按照mapreduce的默认排序,依次输出key值。 代码 package org.apache.hadoop.examples; import java.io.IOException; import java.util.Iterator; import 阅读全文
posted @ 2019-03-04 11:11 Kayden_Cheung 阅读(1118) 评论(0) 推荐(0) 编辑
摘要:问题描述 现在有三个文件分别代表学生的各科成绩,编程求各位同学的平均成绩。 编程思想 map函数将姓名作为key,成绩作为value输出,reduce根据key即可将三门成绩相加。 代码 package org.apache.hadoop.examples; import java.io.IOExc 阅读全文
posted @ 2019-03-04 10:03 Kayden_Cheung 阅读(868) 评论(0) 推荐(0) 编辑
摘要:编程实现单词去重要用到NullWritable类型。 NullWritable: NullWritable 是一种特殊的Writable 类型,由于它的序列化是零长度的,所以没有字节被写入流或从流中读出,可以用作占位符。比如,在MapReduce 中,在不需要这个位置的时候,键或值能够被声明为Nul 阅读全文
posted @ 2019-01-09 21:33 Kayden_Cheung 阅读(572) 评论(0) 推荐(0) 编辑
摘要:hadoop包装了java的基本数据类型使他们实现以上的接口而且给予实现细节,这些类都实现了WritableComparable接口,能够在不同的hadoop节点之间毫无障碍的传输了。 阅读全文
posted @ 2019-01-09 20:35 Kayden_Cheung 阅读(238) 评论(0) 推荐(0) 编辑
摘要:首先在项目的src文件中需要加入以下文件,log4j的内容为: log4j.rootLogger=INFO, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org. 阅读全文
posted @ 2019-01-09 15:37 Kayden_Cheung 阅读(506) 评论(0) 推荐(0) 编辑
摘要:传送门:厦门大学博客 阅读全文
posted @ 2019-01-08 17:05 Kayden_Cheung 阅读(369) 评论(0) 推荐(0) 编辑
摘要:hadoop生态系统如下图所示: HDFS: HDFS(Hadoop Distributed File System)是分布式文件系统,是针对谷歌开发的分布式文件系统GFS(Google File System)的开源实现,是Hadoop两大核心组成部分之一。 HDFS有NameNode和DataN 阅读全文
posted @ 2019-01-04 23:12 Kayden_Cheung 阅读(377) 评论(0) 推荐(0) 编辑
摘要:下图显示了HDFS文件系统中路径为“localhost:50070/explorer.html#/user/hadoop”的目录中所有的文件信息: 对于该目录下的所有文件,我们将执行以下操作: 首先,从该目录中过滤出所有后缀名不为".abc"的文件。 然后,对过滤之后的文件进行读取。 最后,将这些文 阅读全文
posted @ 2019-01-04 19:48 Kayden_Cheung 阅读(1835) 评论(0) 推荐(0) 编辑
摘要:文件简单写操作: 文件简单读操作: 阅读全文
posted @ 2019-01-04 14:19 Kayden_Cheung 阅读(464) 评论(0) 推荐(0) 编辑
摘要:在解决这个问题的过程中,我又是积累了不少经验。。。 首先让我搞了很久的问题是,书上说进程全部启动的命令是/bin/start-all.sh,但是当我执行的时候显示command not found。后来才知道这个命令到了sbin文件中,应该是版本的原因。我装的是hadoop2.9。 所以正确的启动命 阅读全文
posted @ 2019-01-03 22:30 Kayden_Cheung 阅读(2720) 评论(0) 推荐(0) 编辑
摘要:hadoop的伪分布式安装流程如下所示: 其中core-site.xml和hdfs-site.xml是两个很重要的配置文件。 core-site.xml hadoop.tmp.dir用来存放hadoop运行过程中临时文件的目录,目录指定为/usr/local/hadoop/tmp,如果不设置这个目录 阅读全文
posted @ 2019-01-03 20:18 Kayden_Cheung 阅读(6154) 评论(1) 推荐(0) 编辑
摘要:hadoop是用Java语言实现的开源软件框架,可以支持多种语言,我学习的时候用得自然就是Java了。 在开始编程之前需要做一些配置工作: Hadoop开发:Hadoop为HDFS和Mapreduce提供了基础的支持,叫hadoop common。Hadoop有一个专门的common jar包,需要 阅读全文
posted @ 2019-01-03 16:10 Kayden_Cheung 阅读(293) 评论(0) 推荐(0) 编辑

//目录
点击右上角即可分享
微信分享提示