自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(37)
  • 收藏
  • 关注

转载 利用multiprocessing.managers开发跨进程生产者消费者模型

研究了下multiprocessing.managers,略有收获,随笔一篇;核心思路是构造一个manager进程,这个进程可以通过unix socket或tcp socket与其它进程通信;因为利用了socket,所以通信的进程间不要求具备父子关系,甚至可以跨主机(通过tcp socket);通过manager进行数据结构共享,可以应用于很多的IPC场景;这里只做一个示例,在m...

2019-04-25 19:33:00 234

转载 [算法] 举一反三之n重复数组中找唯一m重复异类数

n重复数组,是指数组中的数字都出现n次;唯一m重复异类数,是指存在唯一一个没出现n次,只出现了m次的数;这里我简记它为nX+my问题,求解y,其中m < n,数组中都是整数;3X+y问题一直没有精力刷leetcode,今天查问题无意中看到了leetcode 137:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次;找出那个只出现了一次...

2019-02-27 10:56:00 230

转载 HBase Thrift过滤语法

摘抄自hbase ref guide 0.94;在写本文的时候,hbase ref guide已经更新到1.2及2.0了,但是个人感觉Thrift过滤语法部分写得都没有0.94的好,省掉了example,看起来很不方便,也不便于在hbase shell中进行调试,因而复制一份过来,以免以后找不到;-------------10.3.ThriftC...

2018-09-18 09:58:00 466

转载 kubernetes pod infra container网络原理

刚开始接触kubernetes时,对kubelet的--pod-infra-container-image参数非常不能理解,不理解为什么我的业务应用需要依赖一个第三方的容器;上文入门级kubernetes安装流程中简单提了一句,启动pod后的两个容器会有相同的网络地址,这样,多个容器可以绑定为一个pod进行管理;本文展开来说一下这里的网络原理;其实就是一层窗户纸,捅破了就明白了;...

2018-07-02 09:50:00 727

转载 CentOS7上手动部署入门级kubernetes

前言翻看了很多的kubernetes的安装教程,也反复做了一些实验,深感教程之复杂,所以决定写一个极简版本的安装教程,目标在于用尽可能少的参数启动服务,并且剖析各组件关系,然后再在此基础上逐步添加参数,实现功能完备;干什么在server节点上启动三个主要服务:apiserver、controller-manager、scheduler;在node节点上启动两个主要服务...

2018-06-29 10:06:00 141

转载 CentOS7 手动部署flannel并启用vxlan

本以为docker准备妥当之后,就可以直接上k8s了,结果yum install kubernetes,报错:Error: docker-ce conflicts with docker-1.9.1 .....这才想起来,自己的docker不是从centos官方源获取的,而是用了docker的源安装docker-ce,参见上一遍docker的部署文档。centos官方源提供的k8...

2018-06-22 17:40:00 257

转载 tensorflow学习笔记3:写一个mnist rpc服务

本篇做一个没有实用价值的mnist rpc服务,重点记录我在调试整合tensorflow和opencv时遇到的问题;准备模型mnist的基础模型结构就使用tensorflow tutorial给的例子,卷积-池化-卷积-池化-全连接-dropout-softmax,然后走常规的优化训练,得到一个错误率2.0%的结果;然后准备一个单张图片的输入,一个(1, 28, 28, 1)...

2018-06-20 10:54:00 116

转载 tensorflow学习笔记2:c++程序静态链接tensorflow库加载模型文件

首先需要搞定tensorflow c++库,搜了一遍没有找到现成的包,于是下载tensorflow的源码开始编译;tensorflow的contrib中有一个makefile项目,极大的简化的接下来的工作;按照tensorflow makefile的说明文档,开始做c++库的编译:1. 下载依赖在tensorflow的项目顶层运行:tensorflow/co...

2018-06-06 15:04:00 301

转载 C/C++ strict-aliasing

最近发现了一个奇怪的编译参数-fno-strict-aliasing,好奇之下做了一点研究;重点参考Understanding C/C++ Strict Aliasing;所谓的aliasing就是多个变量指向同一块内存,变量之间互为别名;strict-aliasing是一种编译器希望开发者遵守的规则:虽然C/C++变量可以随便赋值(强制类型转换),但也请你们收敛一点,...

2018-05-29 16:35:00 559

转载 信息论随笔3: 交叉熵与TF-IDF模型

接上文:信息论随笔2: 交叉熵、相对熵,及上上文:信息论随笔在读《数学之美》的时候,相关性那一节对TF-IDF模型有这样一句描述:“其实 IDF 的概念就是一个特定条件下、关键词的概率分布的交叉熵(Kullback-Leibler Divergence)”;当时尚不明白,等我看懂交叉熵与相对熵之后,再看TF-IDF,略有所获,本想与上一篇合写在一起的,但越写越多,于是单独成文;...

2018-05-25 16:29:00 201

转载 信息论随笔2: 交叉熵、相对熵

接上文:信息论随笔1参考以下:如何通俗的解释交叉熵与相对熵; https://www.zhihu.com/question/41252833/answer/108777563https://blog.csdn.net/qq547276542/article/details/78370245交叉熵一个变量X,可能有多种取值,每个取值结果对应一个事件,对于一个...

2018-05-24 17:15:00 98

转载 matplotlib解决中文乱码

调试以前写的matplotlib相关脚本,中文呈方块样;重新解决一遍,感觉比以前的理解更进一步,故而记下一笔;1. 首先要为matplotlib添加中文字体库;系统字体库在/usr/share/fonts/,可以看一下配置文件/etc/fonts/fonts.confmatplotlib字体库需要看python安装位置了,打开python,输入:import m...

2018-05-21 10:30:00 116

转载 CentOS7 docker试水

CentOS 7.0,无外网直接访问权限,有一台代理服务器。首先安装docker-ce,参考http://blog.51cto.com/aaronsa/2056882除非特殊说明,以下操作都用root用户:$ export http_proxy=http://xxxx$ export https_proxy=http://xxxx$ yum install...

2018-04-27 14:12:00 115

转载 将texlive带的字体安装进linux系统字体库

装机之后装系统,装完系统就装texlive,然后又遇一坑,编译以前的文档竟然找不到某字体;kpathsea:make_tex: Invalid fontname `FontAwesome Regular', contains ' ' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! fontspec error: "font-...

2018-04-16 12:38:00 800

转载 CentOS7解决firefox无法启用ibus中文输入的问题

最近换电脑,要换掉使用了6年的旧环境,开始折腾重装系统;下了minimal版本的CentOS7.4,然后开始一点点装想用的东西,多少找到一点十年前折腾LFS的感觉;然后竟然被输入法拌住了半天,事后回想整个解决流程,觉得有必要记下来;在gnome上安装、设置中文输入法,按标准的教程点一点菜单就可以了,然后也确实在界面上看到了输入法的存在,也可以切换输入法,但是gnome-termi...

2018-04-14 17:22:00 975

转载 拓朴排序

最近接触了一下拓朴排序,手痒写了下代码,给自己找了点麻烦,dfs特地没有用递归做;关于拓朴排序的原理有很多人写得很好了,请参考以下文章:https://blog.csdn.net/qinzhaokun/article/details/48541117https://blog.csdn.net/yafeichang/article/details/53893120https...

2018-04-10 17:41:00 107

转载 信息论随笔

近期补了一点信息论的知识,随笔记一下自己的理解;参考以下文章:《数学之美》第六章:信息的度量和作用http://blog.sina.com.cn/s/blog_5fc770cd0100ia5k.htmlhttp://blog.csdn.net/lk7688535/article/details/52529610自信息量一个事件e发生的自信息量 \( ...

2018-03-14 15:04:00 114

转载 KD Tree算法

参考:http://blog.csdn.net/v_july_v/article/details/8203674#!/user/bin/env python# -*- coding:utf8 -*-__author__ = 'zky@msn.cn'import sysimport numpyimport heapqimport Queuec...

2016-11-21 17:33:00 140

转载 [实践] ubuntu下编译安装ambari

ambari是一个Hadoop套件的管理工具,可以方便部署、管理及监控。最初开发时使用的就是RH系的Linux,只支持RHEL、CentOS5/6、OEL、SLES,暂不支持Ubuntu;可我的需求就是在ubuntu系统中使用,我认为在ambari完全使用开源软件堆积,想兼容Debian系的系统不会太难,而且看了一下文档,大概了解了编译时会生成rpm包,而ubuntu又是有办法解压rpm...

2013-11-29 16:16:00 284

转载 [工具] 分布式系统下批量创建用户及分发公钥打通ssh通道的脚本

在分布式系统下偶尔会有这样的需求,要增加一个服务时,需要在集群的所有节点上创建同一个用户,然后打通ssh通道,再分发软件包、配置、执行命令、启动服务...这个问题的根源是如何集中配置和管理系统,专业运维应使用如puppet等工具。但有时图简单或其它原因,不愿走puppet,这里给自己记几个简单的脚本备忘(前题条件:已经打通root的ssh通道,或另一个有sudo权限的用户):批量...

2013-11-29 13:25:00 132

转载 [测试] 试用Hadoop 2.2中的HDFS NFS

Hadoop 2.2中正式启用了hdfs nfs功能,使得hdfs的通用性迈进了一大步。在公司让小朋友搭建了一下,然后我自己进行了一点简单的试验,有一点收获,记录在此。理论使用hdfs nfs功能的话,数据访问路径如上图:用户或程序通过Linux自带的nfs client访问hdfs nfs服务,然后再由nfs网关作为hdfs的客户端访问hdfs。这张图中,...

2013-11-27 14:36:00 113

转载 OpenStack调研:OpenStack是什么、版本演变、组件关系(Havana)、同类产品及个人感想...

一点调研资料,比较浅,只是觉得部分内容比较有用,记在这里;首先,关于云计算,要理解什么是SAAS、PAAS、IAAS,这里不述;关于虚拟化,需要知道什么是Hypervisor,这里也不述;OpenStack是什么OpenStack是一个由美国宇航局NASA与Rackspace公司共同开发的云计算平台项目,且通过Apache许可证授权开放源码。它可以帮助服务商和企业实现类...

2013-11-01 15:39:00 646

转载 [算法] 求环形数组中和值最大子段

对于非环形数组,求解和值最大子段的方法见之前一遍文章;对于环形数组,需要考虑最大和值子段越过首尾边界的情况,解决方法比较简单,即将数组处理两遍; 需要注意子段长度不可以超过整个数组长度; 1 #! -*- coding: utf-8 -*- 2 3 loop = (4, -3, 2, -4, 1, 5, -3, -4, 3) 4 #loop = (4, 3...

2013-10-30 14:16:00 123

转载 [算法] Manacher算法线性复杂度内求解最长回文子串

参考:http://www.felix021.com/blog/read.php?2040以上参考的原文写得很好,解析的非常清楚。以下用我自己的理解,对关键部分算法进行简单的描述:回文的判断需要完成从中心字符向两侧进行逐字符匹配;回文好比圆,由两个重要的参数决定,即“圆心”(中心字符,对偶数长的回文而言是两个字符)和“直径”(回文长度);如果一个“点”落入另一个“圆”...

2013-10-08 13:33:00 88

转载 [算法] 数字变换:举一反三之数字反转

首先是一个非常简单的题目,如何将一个数字反过来,比如12345反转成54321;可以选择将数字转换成字符串然后进行首尾换位操作,但更经典的作法应该是依次从原数字尾部取数,加到结果的高位;深入思考一下,如何将数字按二进制表示进行反转呢,比如6变成3(110变成011)?如何以两位为单位进行反转呢,比如12345变成45231?事实上,经典的数字反转算法中可以抽出两个概念,一个是...

2013-09-23 13:16:00 337

转载 [数学] 沉淀三角中求某奇数的倍数的个数

有一个正整数M(假设取10),构造如下的倒三角数列(因下一行每一个数字都是上一行两个数据之和,因而我给它简单命名为沉淀三角,希望有人知道学名告诉我);第一行:1 2 3 4 5 ...... M-2 M-1 M第二行: 3 5 7 9 ...... 2M-3 2M-1第三行: 8 12 16 ...... 4M-4......第M行: ......

2013-09-06 17:01:00 73

转载 [算法] 求无序数组元素最小差值

通过排序后,依次遍历前后两值求差即可,所以实质上的核心问题是排序;通过经典的比较排序算法复杂度在O(nlogn),而如果数据波动不大,则可通过桶排序将复杂度降到O(n);array = (5, 2, 4, 9, 0, 6)# quick sort# O(nlogn)def split(list, start, end): middle = li...

2013-09-05 10:17:00 292

转载 [算法] 求解和值最大子段及绝对值最小子段

求和值最大子段:不断对已有子段加值,当和值小于0时舍弃子段;由遍历决定复杂度O(n);求和值绝对值最小子段:求前n子段和值,然后求最小差值;求最小差值时使用了排序后遍历的方法,由排序决定复杂度O(nlogn);这里求最小差值的问题中,在某些限制条件下(数组波动不大)可以用桶排序进一步降低时间复杂度,见求最小差值,但因有条件限制不稳定,故不选取;# -*- coding:...

2013-09-04 21:11:00 312

转载 [trick] 玩弄svn的目录结构

今天在使用svn进行版本管理时出现了一个小问题:原本在s目录下有一个c目录,不知为何被删除了,而svn st命令并没有认为它消失,svn up命令也无法下载回来;从另一个地方拷贝过来一个c,svn st命令会认为c目录是新出现的,却又无法通过svn add命令加回到版本管理中;因为c目录下已经自带.svn版本,already under version control;把...

2013-08-20 13:46:00 80

转载 POSIX rename语义

POSIX对rename行为的定义如下(http://www.opengroup.org/onlinepubs/009695399/functions/rename.html):将一个文件重命名为一个目录,或将一个目录重命名为一个文件将会失败。将旧文件重命名为一个已经存在的新文件将会成功,原本存在的新文件会先被删除。将旧目录重命名为一个已经存在的、且非空的新目录会失败。...

2013-08-15 18:13:00 542

转载 Hadoop HA方案调研

原文成文于去年(2012.7.30),已然过去了一年,很多信息也许已经过时,不保证正确,与Hadoop学习笔记系列一样仅为留做提醒。-----针对现有的所有Hadoop HA方案进行调研,以时间为线,总结如下:1. BackupNode方案: 08年时开源社区已经开始着手解决Namenode单点问题,随之出来的第一个方案是BackupNode方案。基于0.20版,并合并进入...

2013-08-15 16:01:00 80

转载 NFS客户端阻塞睡眠问题与配置调研

Linux NFS客户端需要很小心地配置,否则在NFS服务器崩溃时,访问NFS的程序会被挂起,用ps查看,进程状态(STAT)处于D,意为(由于IO阻塞而进入)不可中断睡眠(如果是D+,+号表示程序运行于前台进程组)[1]。为此,最新的Hadoop HA方案Quorum-Journal的作者在设计文档中对NFS共享存储保存NameNode元数据的作法如下诟病[2]:Custom ...

2013-08-15 15:43:00 214

转载 Hadoop学习笔记之六:HDFS功能逻辑(2)

Lease(租约)HDFS(及大多数分布式文件系统)不支持文件并发写,Lease是HDFS用于保证唯一写的手段。Lease可以看做是一把带时间限制的写锁,仅持有写锁的客户端可以写文件。租约的有效期HDFS的Lease设定了两个时间限制:softLimit(默认1m),hardLimit(默认1h);Lease持有者在softLimit时限内可以写文件,且不用担心被其它写者抢走...

2013-08-12 19:04:00 129

转载 Hadoop学习笔记之五:HDFS功能逻辑(1)

Block ReportDataNode会周期性(默认1小时)将自身节点全部block信息发送给NameNode,以让NameNode正确确维护block信息。在Block Report的数据源DataNode端,处理逻辑比较简单,对磁盘上的所有Block文件进行遍历保存到一张表中,然后发送给NameNode;在NameNode端,将该block report与blocksMap中该...

2013-08-12 18:49:00 131

转载 Hadoop学习笔记之四:HDFS客户端

HDFS的客户端核心是DFSClient类,所有使用HDFS的客户端都会持有一个DFSClient对象,或通过持有一个DistributedFileSystem对象间接使用DFSClient;DFSClient通过ClientProtocol向NameNode进行元数据请求;当需要进行数据请求时,DFSClient会通过访问的类型(读、写)分别构造DFSInputStream、DFS...

2013-08-12 17:44:00 135

转载 Hadoop学习笔记之二:NameNode

NameNode对三大协议接口(NamenodeProtocol、ClientProtoco、DatanodeProtocol)进行实现,利用ipc::Server通过三个协议分别向SNN、Client、DN提供RPC服务(参考:Hadoop IPC);NameNode的核心是FSNamesysem;FSNamesystem持有几大主要数据结构:FSDirectory维护系统目录结构...

2013-08-12 17:07:00 89

转载 Hadoop学习笔记之一:Hadoop IPC

因为某些原因需要把前一段时间对Hadoop(版本基于0.20.2)的学习积累搬到这里,成为一个系列。写得会很简单,只为必要时给自己提醒。IPC框架所有Hadoop协议接口的实现都依赖Hadoop IPC;Hadoop IPC的目标是通过RPC完成调用者(RPC::Invoker)对被调用者(RPC::Server)的方法调用,核心是对调用(即RPC::Invocation...

2013-08-12 16:44:00 140

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除