- 博客(37)
- 收藏
- 关注
转载 利用multiprocessing.managers开发跨进程生产者消费者模型
研究了下multiprocessing.managers,略有收获,随笔一篇;核心思路是构造一个manager进程,这个进程可以通过unix socket或tcp socket与其它进程通信;因为利用了socket,所以通信的进程间不要求具备父子关系,甚至可以跨主机(通过tcp socket);通过manager进行数据结构共享,可以应用于很多的IPC场景;这里只做一个示例,在m...
2019-04-25 19:33:00
282
转载 [算法] 举一反三之n重复数组中找唯一m重复异类数
n重复数组,是指数组中的数字都出现n次;唯一m重复异类数,是指存在唯一一个没出现n次,只出现了m次的数;这里我简记它为nX+my问题,求解y,其中m < n,数组中都是整数;3X+y问题一直没有精力刷leetcode,今天查问题无意中看到了leetcode 137:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次;找出那个只出现了一次...
2019-02-27 10:56:00
260
转载 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
508
转载 kubernetes pod infra container网络原理
刚开始接触kubernetes时,对kubelet的--pod-infra-container-image参数非常不能理解,不理解为什么我的业务应用需要依赖一个第三方的容器;上文入门级kubernetes安装流程中简单提了一句,启动pod后的两个容器会有相同的网络地址,这样,多个容器可以绑定为一个pod进行管理;本文展开来说一下这里的网络原理;其实就是一层窗户纸,捅破了就明白了;...
2018-07-02 09:50:00
778
转载 CentOS7上手动部署入门级kubernetes
前言翻看了很多的kubernetes的安装教程,也反复做了一些实验,深感教程之复杂,所以决定写一个极简版本的安装教程,目标在于用尽可能少的参数启动服务,并且剖析各组件关系,然后再在此基础上逐步添加参数,实现功能完备;干什么在server节点上启动三个主要服务:apiserver、controller-manager、scheduler;在node节点上启动两个主要服务...
2018-06-29 10:06:00
167
转载 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
293
转载 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
139
转载 tensorflow学习笔记2:c++程序静态链接tensorflow库加载模型文件
首先需要搞定tensorflow c++库,搜了一遍没有找到现成的包,于是下载tensorflow的源码开始编译;tensorflow的contrib中有一个makefile项目,极大的简化的接下来的工作;按照tensorflow makefile的说明文档,开始做c++库的编译:1. 下载依赖在tensorflow的项目顶层运行:tensorflow/co...
2018-06-06 15:04:00
343
转载 C/C++ strict-aliasing
最近发现了一个奇怪的编译参数-fno-strict-aliasing,好奇之下做了一点研究;重点参考Understanding C/C++ Strict Aliasing;所谓的aliasing就是多个变量指向同一块内存,变量之间互为别名;strict-aliasing是一种编译器希望开发者遵守的规则:虽然C/C++变量可以随便赋值(强制类型转换),但也请你们收敛一点,...
2018-05-29 16:35:00
621
转载 信息论随笔3: 交叉熵与TF-IDF模型
接上文:信息论随笔2: 交叉熵、相对熵,及上上文:信息论随笔在读《数学之美》的时候,相关性那一节对TF-IDF模型有这样一句描述:“其实 IDF 的概念就是一个特定条件下、关键词的概率分布的交叉熵(Kullback-Leibler Divergence)”;当时尚不明白,等我看懂交叉熵与相对熵之后,再看TF-IDF,略有所获,本想与上一篇合写在一起的,但越写越多,于是单独成文;...
2018-05-25 16:29:00
234
转载 信息论随笔2: 交叉熵、相对熵
接上文:信息论随笔1参考以下:如何通俗的解释交叉熵与相对熵; https://www.zhihu.com/question/41252833/answer/108777563https://blog.youkuaiyun.com/qq547276542/article/details/78370245交叉熵一个变量X,可能有多种取值,每个取值结果对应一个事件,对于一个...
2018-05-24 17:15:00
117
转载 matplotlib解决中文乱码
调试以前写的matplotlib相关脚本,中文呈方块样;重新解决一遍,感觉比以前的理解更进一步,故而记下一笔;1. 首先要为matplotlib添加中文字体库;系统字体库在/usr/share/fonts/,可以看一下配置文件/etc/fonts/fonts.confmatplotlib字体库需要看python安装位置了,打开python,输入:import m...
2018-05-21 10:30:00
146
转载 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
164
转载 将texlive带的字体安装进linux系统字体库
装机之后装系统,装完系统就装texlive,然后又遇一坑,编译以前的文档竟然找不到某字体;kpathsea:make_tex: Invalid fontname `FontAwesome Regular', contains ' ' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! fontspec error: "font-...
2018-04-16 12:38:00
911
转载 CentOS7解决firefox无法启用ibus中文输入的问题
最近换电脑,要换掉使用了6年的旧环境,开始折腾重装系统;下了minimal版本的CentOS7.4,然后开始一点点装想用的东西,多少找到一点十年前折腾LFS的感觉;然后竟然被输入法拌住了半天,事后回想整个解决流程,觉得有必要记下来;在gnome上安装、设置中文输入法,按标准的教程点一点菜单就可以了,然后也确实在界面上看到了输入法的存在,也可以切换输入法,但是gnome-termi...
2018-04-14 17:22:00
1059
转载 拓朴排序
最近接触了一下拓朴排序,手痒写了下代码,给自己找了点麻烦,dfs特地没有用递归做;关于拓朴排序的原理有很多人写得很好了,请参考以下文章:https://blog.youkuaiyun.com/qinzhaokun/article/details/48541117https://blog.youkuaiyun.com/yafeichang/article/details/53893120https...
2018-04-10 17:41:00
136
转载 信息论随笔
近期补了一点信息论的知识,随笔记一下自己的理解;参考以下文章:《数学之美》第六章:信息的度量和作用http://blog.sina.com.cn/s/blog_5fc770cd0100ia5k.htmlhttp://blog.youkuaiyun.com/lk7688535/article/details/52529610自信息量一个事件e发生的自信息量 \( ...
2018-03-14 15:04:00
158
转载 KD Tree算法
参考:http://blog.youkuaiyun.com/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
160
转载 [实践] ubuntu下编译安装ambari
ambari是一个Hadoop套件的管理工具,可以方便部署、管理及监控。最初开发时使用的就是RH系的Linux,只支持RHEL、CentOS5/6、OEL、SLES,暂不支持Ubuntu;可我的需求就是在ubuntu系统中使用,我认为在ambari完全使用开源软件堆积,想兼容Debian系的系统不会太难,而且看了一下文档,大概了解了编译时会生成rpm包,而ubuntu又是有办法解压rpm...
2013-11-29 16:16:00
340
转载 [工具] 分布式系统下批量创建用户及分发公钥打通ssh通道的脚本
在分布式系统下偶尔会有这样的需求,要增加一个服务时,需要在集群的所有节点上创建同一个用户,然后打通ssh通道,再分发软件包、配置、执行命令、启动服务...这个问题的根源是如何集中配置和管理系统,专业运维应使用如puppet等工具。但有时图简单或其它原因,不愿走puppet,这里给自己记几个简单的脚本备忘(前题条件:已经打通root的ssh通道,或另一个有sudo权限的用户):批量...
2013-11-29 13:25:00
156
转载 [测试] 试用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
150
转载 OpenStack调研:OpenStack是什么、版本演变、组件关系(Havana)、同类产品及个人感想...
一点调研资料,比较浅,只是觉得部分内容比较有用,记在这里;首先,关于云计算,要理解什么是SAAS、PAAS、IAAS,这里不述;关于虚拟化,需要知道什么是Hypervisor,这里也不述;OpenStack是什么OpenStack是一个由美国宇航局NASA与Rackspace公司共同开发的云计算平台项目,且通过Apache许可证授权开放源码。它可以帮助服务商和企业实现类...
2013-11-01 15:39:00
706
转载 [算法] 求环形数组中和值最大子段
对于非环形数组,求解和值最大子段的方法见之前一遍文章;对于环形数组,需要考虑最大和值子段越过首尾边界的情况,解决方法比较简单,即将数组处理两遍; 需要注意子段长度不可以超过整个数组长度; 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
158
转载 [算法] Manacher算法线性复杂度内求解最长回文子串
参考:http://www.felix021.com/blog/read.php?2040以上参考的原文写得很好,解析的非常清楚。以下用我自己的理解,对关键部分算法进行简单的描述:回文的判断需要完成从中心字符向两侧进行逐字符匹配;回文好比圆,由两个重要的参数决定,即“圆心”(中心字符,对偶数长的回文而言是两个字符)和“直径”(回文长度);如果一个“点”落入另一个“圆”...
2013-10-08 13:33:00
101
转载 [算法] 数字变换:举一反三之数字反转
首先是一个非常简单的题目,如何将一个数字反过来,比如12345反转成54321;可以选择将数字转换成字符串然后进行首尾换位操作,但更经典的作法应该是依次从原数字尾部取数,加到结果的高位;深入思考一下,如何将数字按二进制表示进行反转呢,比如6变成3(110变成011)?如何以两位为单位进行反转呢,比如12345变成45231?事实上,经典的数字反转算法中可以抽出两个概念,一个是...
2013-09-23 13:16:00
421
转载 [数学] 沉淀三角中求某奇数的倍数的个数
有一个正整数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
81
转载 [算法] 求无序数组元素最小差值
通过排序后,依次遍历前后两值求差即可,所以实质上的核心问题是排序;通过经典的比较排序算法复杂度在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
330
转载 [算法] 求解和值最大子段及绝对值最小子段
求和值最大子段:不断对已有子段加值,当和值小于0时舍弃子段;由遍历决定复杂度O(n);求和值绝对值最小子段:求前n子段和值,然后求最小差值;求最小差值时使用了排序后遍历的方法,由排序决定复杂度O(nlogn);这里求最小差值的问题中,在某些限制条件下(数组波动不大)可以用桶排序进一步降低时间复杂度,见求最小差值,但因有条件限制不稳定,故不选取;# -*- coding:...
2013-09-04 21:11:00
359
转载 [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
97
转载 POSIX rename语义
POSIX对rename行为的定义如下(http://www.opengroup.org/onlinepubs/009695399/functions/rename.html):将一个文件重命名为一个目录,或将一个目录重命名为一个文件将会失败。将旧文件重命名为一个已经存在的新文件将会成功,原本存在的新文件会先被删除。将旧目录重命名为一个已经存在的、且非空的新目录会失败。...
2013-08-15 18:13:00
633
转载 Hadoop HA方案调研
原文成文于去年(2012.7.30),已然过去了一年,很多信息也许已经过时,不保证正确,与Hadoop学习笔记系列一样仅为留做提醒。-----针对现有的所有Hadoop HA方案进行调研,以时间为线,总结如下:1. BackupNode方案: 08年时开源社区已经开始着手解决Namenode单点问题,随之出来的第一个方案是BackupNode方案。基于0.20版,并合并进入...
2013-08-15 16:01:00
106
转载 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
250
转载 Hadoop学习笔记之六:HDFS功能逻辑(2)
Lease(租约)HDFS(及大多数分布式文件系统)不支持文件并发写,Lease是HDFS用于保证唯一写的手段。Lease可以看做是一把带时间限制的写锁,仅持有写锁的客户端可以写文件。租约的有效期HDFS的Lease设定了两个时间限制:softLimit(默认1m),hardLimit(默认1h);Lease持有者在softLimit时限内可以写文件,且不用担心被其它写者抢走...
2013-08-12 19:04:00
155
转载 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
155
转载 Hadoop学习笔记之四:HDFS客户端
HDFS的客户端核心是DFSClient类,所有使用HDFS的客户端都会持有一个DFSClient对象,或通过持有一个DistributedFileSystem对象间接使用DFSClient;DFSClient通过ClientProtocol向NameNode进行元数据请求;当需要进行数据请求时,DFSClient会通过访问的类型(读、写)分别构造DFSInputStream、DFS...
2013-08-12 17:44:00
179
转载 Hadoop学习笔记之二:NameNode
NameNode对三大协议接口(NamenodeProtocol、ClientProtoco、DatanodeProtocol)进行实现,利用ipc::Server通过三个协议分别向SNN、Client、DN提供RPC服务(参考:Hadoop IPC);NameNode的核心是FSNamesysem;FSNamesystem持有几大主要数据结构:FSDirectory维护系统目录结构...
2013-08-12 17:07:00
110
转载 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
179
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人