聊聊HDFS RBF第二阶段的主要改进

前言 HDFS RBF特性(基于路由的Federation解决方案)已经在Apache Hadoop 3.0.0中正式发布了,此特性的发布将会大大方便于广大用户多于多集群的使用。另一方面来说,面对往后日益扩展,日益多样化的环境,单一,同构化的集群运行模式,不会是一个一劳永逸的方式了,异构,多集群的方式将会是一个趋势。其实在目前发布的版本中,HDFS RBF特性单纯实现了一个最基本功能的版本,
分类: 其他 发布时间: 05-24 23:51 阅读次数: 3

UVa12589 Learning Vector

大家都是用优雅的记忆化搜索做的,我最笨,懒得写记忆化,直接递推暴力转移了。 这题的难点在贪心上。自己想出来了 大概明天会写详细证明吧。。 1 #include <cstdio> 2 #include <iostream> 3 #include <cstring> 4 #include <algorithm> 5 using namespace std; 6 typedef pair<int, int> P; 7 #define x first 8 #define y secon
分类: 其他 发布时间: 05-24 23:51 阅读次数: 2

udp实现c/s服务器模型

server #include<stdio.h> #include<unistd.h> #include<sys/socket.h> #include<sys/types.h> #include<ctype.h> #include<strings.h> #include<arpa/inet.h> #include<string.h> #define port 8000 #define buflen 1024 int main(void){ int sfd; char buf[bufle
分类: 其他 发布时间: 05-24 23:51 阅读次数: 5

Android WebView Java和JavaScript交互

Java调用JavaScript mWebView.loadUrl("javascript:toast()"); js: <script language="javascript> <!--提供给android的java代码调用--> function toast(){ alert("fdsaf") } JavaScript调用Java WebView提供了一个名为WebSetting的工具类来实现让WebView中的JavaScript脚本调用android的java
分类: 其他 发布时间: 05-24 23:51 阅读次数: 5

UDP用户数据报协议

最初的TCP/IP协议族为运输层制定了俩个协议。UDP和TCP。我们先讨论UDP: 用户数据报协议:位于网络层和应用层之间,提供介于应用程序和网络功能之间的服务。 运输层协议通常有几种责任:1、创建进程到进程的通信,UDP采用端口号来完成这种通信。 2、在运输层提供控制机制,UDP在一个非常低的水平上完成这个功能。UDP没有流量限制机制,在收到分组时候也没有确认。但是UDP提供了某种程度的差错控制。如果UDP在收到的分组中检测出有差错,他就悄悄的丢弃这个分组。 UDP是一种无连接,不可靠的运输
分类: 其他 发布时间: 05-24 23:51 阅读次数: 3

Ubuntu18.04下安装比特币客户端

一、下载 有两种安装方式:安装包和源码 二、安装 1、通过安装包安装 在https://bitcoin.org/en/download下载Windows,Mac OS X,Linux对应的安装包。安装过程比较简单,不再赘述。 2、通过源码编译安装 在https://github.com/bitcoin/bitcoin下载源码,可以使用git clone命令或者直接下载zip包。 下载后源码里边有很多README.md文档,安装之前可以先阅读以下主目录下的README.md。然后doc/buil
分类: 其他 发布时间: 05-24 23:51 阅读次数: 5

回顾链表

这两天有点累,博客的更新的速度有点慢,准确的来说是自己有点精力分散在其他方面,话不多说,进入正题: 再数据结构中,链表算是比较初级的东西,所谓链表,可以看做数组的变形,我们可以利用数组先来模拟链表,首先我们需要先理解下链表的结构,链表可以理解下面这样 我们首先开辟出一块空间来存储一系列的数字,但是这些数字存储的地方含有指向下一个数的指针,这些在c语言中可以用结构体来完成;代码部分如下 struct node { int data; struct node * next; }; 上述代码定
分类: 其他 发布时间: 05-24 23:51 阅读次数: 4

TCP-拥塞控制

和UDP不同,TCP要考虑到网络的拥塞状况。发送方允许发送的数据量不仅要收接收方的控制(流量控制),而且还要有网络的拥塞状况(如果有的话)决定。 1、报文段:格式、封装、TCP的链接:TCP是面向连接的协议。面向连接的运输层协议在源点和终点之间建立了一条虚路径。同属于一个报文段的所有报文都沿着这条路径发送。为整个报文使用一条虚路径能够更容易的事实确认过程以及对损伤或丢失报文的重传。 2、连接建立:TCP以全双工方式传送数据。当俩个后台主机TCP建立连接后,他们应当能够同时向对方发送报文段。也就
分类: 其他 发布时间: 05-24 23:51 阅读次数: 5

HDFS未来底层存储架构的演变趋势

前言 经常关注笔者博客的朋友们,一定看过笔者之前写过的关于HDFS对象存储(Ozone)系列的文章,并且笔者曾经预言这个功能很快将要发布在最新的Hadoop社区版本中。但是在合并此功能分支代码时,社区内部展开了很多讨论:包括内部全新的存储结构设计,以及新结构会对现有HDFS结构造成何种影响。那么有同学就好奇了,为什么一个局部的功能特性代码,合入社区就这么麻烦呢?但是笔者可要郑重其事的说:这可...
分类: 其他 发布时间: 05-24 23:51 阅读次数: 3

HDFS QJM原理分析

前言 最近在重新研读HDFS QJM的细节实现,所谓“温故而知新”,感觉还是收获不少。之前笔者曾简单地翻译过HDFS QJM的设计文档,感兴趣的同学可以点此链接:HDFS QJM的架构设计。本文笔者打算挑选其中的一些细节要点,进程阐述。 背景 在HDFS QJM出现之前,editlog的一种推荐存储方式是基于NAS网络存储设备。这种方式会带来一些局限性: 对于特定硬件的要求。...
分类: 其他 发布时间: 05-24 23:51 阅读次数: 7

查看端口进程

lsof -i:9092
分类: 企业开发 发布时间: 05-24 23:51 阅读次数: 3

模块七:web开发进阶笔记

1、JS正则test-判断字符串是否符合规定的正则rep=/\d+/;rep.test("asdfoiklfasdf89asdfasdf")#truerep=/^\d+$/;rep.test("asdfoiklfasdf89asdfasdf")#trueJavaScriptismorefunthanJavaorJavaBeans!varpattern=/\bJava\w*\b/g;#["JavaS
分类: 企业开发 发布时间: 05-24 23:51 阅读次数: 3

现阶段为什么国内程序员无法很好的参与到开源社区?

前言 早在2年多前,笔者曾写过一篇关于如何参与到开源社区的文章:作为一名非Committer,如何向开源社区提交自己的代码,但是现在笔者重新阅读这篇文章,发现与其讲述的参与开源的方法论,还不如帮大家仔细分析其内在本质的一些现象和原因,核心问题:为什么国内程序员无法很好的参与进开源社区?笔者在15年刚毕业不久,因为工作的机会偶然间接触到了开源,随后就一直乐此不疲,开源给我带来快乐的同时也促进着...
分类: 其他 发布时间: 05-24 23:51 阅读次数: 2

一致性哈希环的理论实现

前言 最近阅读社区代码时,发现了一段富有创造性的程序算法–一致性哈希环。也就是一致性哈希算法的具体实现,由一位微软工程师在提交社区代码时,笔者review到的,感觉代码实现严谨简洁,并且把一致性哈希环的特点全考虑到了,是一段很不错的算法程序。本文简单对其进行分析,解释。一致性哈希算法这里就不多介绍了,可点击笔者之前写过的文章一致性哈希算法。一致性哈希算法在分布式系统中有很多的应用场景,主要是...
分类: 其他 发布时间: 05-24 23:50 阅读次数: 3

HDFS RBF支持多目标集群的挂载映射

前言 在RBF出现之前的ViewFS还是现在发布的RBF,目前支持的映射模式都是1对1的。什么意思呢?就是一个虚拟路径地址对一个实际集群地址。这种方式会有个弊端,如果写入的数据量很大,那么这个集群会出现容量用完的情况。针对这种潜在的“大路径”,其实我们可以希望他的目标集群地址可以有多个。这样就可以减轻单一集群的高负载现象了。但是如果支持配置多个地址,那么地址的选择策略将是一个很重要的环节了。...
分类: 其他 发布时间: 05-24 23:50 阅读次数: 3

简单聊聊Synchronized和ReentrantLock锁

前言 前些天偶然阅读到了一篇IBM博客,讲述Synchronized,ReentrantLock锁的区别以及相关的性能比较,读完发现获益匪浅,自己之前对于这块知识了解的还挺浅的。所以本文就是对此的一个小结吧。这里笔者将主要讨论这么几个话题:Synchronized和ReentrantLock锁的区别,二者的性能比较,以及具体场景下的锁选择问题(其实也就是二者的优劣势比较了)。 Sync...
分类: 其他 发布时间: 05-24 23:50 阅读次数: 5

AWS S3存储基于Hadoop之上的一致性保证

前言 Hadoop发展至今,它所涵盖的周边生态圈已经非常庞大了。但是作为一套目前看来如此成熟的系统,免不了要做一些兼容性的事情,比如一些第三方服务类型的系统。毕竟有些用户会使用到第三方的系统,但又不想去改变现有程序运行的模式以及学习第三方系统的成本。Hadoop作为一个如此成熟的项目,在兼容其它第三方系统上,肯定是有考虑到。今天,笔者就来讲讲目前Amazon S3服务与Hadoop的集成兼容...
分类: 其他 发布时间: 05-24 23:50 阅读次数: 5

简单聊聊HDFS RBF第二阶段工作近期的一些进展

前言 前些时间Apache Hadoop 3.1.0版本正式发布,里面新增了很多feature以及一些bug fix,improvement改进。因为笔者本人最近几个月一直跟进,参与的是HDFS RBF这块,所以就简单聊聊这块所做的一些事情,旨在帮助大家方便了解这个feature具体做什么的。如果还有同学对RBF完全不太了解的,可以先阅读这篇博文:HDFS基于路由的Federation方案....
分类: 其他 发布时间: 05-24 23:49 阅读次数: 4

LinkedBlockingQueue和ArrayBlockingQueue之间的比较

前言 最近在工作中用到了LinkedBlockingQueue,不过随后发现了另一个与此用途十分类似的类ArrayBlockingQueue。于是花了点时间,查阅了相关的文章介绍,本篇就来简单的做个小结,也是为了方便下次查阅。 LinkedBlockingQueue和ArrayBlockingQueue的共性 在讲述LinkedBlockingQueue和ArrayBlockingQ...
分类: 其他 发布时间: 05-24 23:49 阅读次数: 3

公司如何使用开源软件

前言 本篇文章的内容来自于Hadoop元老级人物(也是Cloudera首席架构师)Doug Cutting对于公司如何使用开源软件来提升公司商业价值的一个分享。其中分享了很多与公司和开源有关的一些内容,本文对其做了简单的小结和概括(第一人称叙述)。原文为纯英文,感兴趣的同学,点击此链接阅读:How Cloudera Uses Open Source。以下内容难免有翻译不准确之处,同时也仅仅代...
分类: 其他 发布时间: 05-24 23:49 阅读次数: 5