摘要: 参考:http://blog.csdn.net/v_july_v/article/details/8203674 阅读全文
posted @ 2016-11-21 17:33 ZisZ 阅读(460) 评论(0) 推荐(0) 编辑
摘要: ambari是一个Hadoop套件的管理工具,可以方便部署、管理及监控。最初开发时使用的就是RH系的Linux,只支持RHEL、CentOS5/6、OEL、SLES,暂不支持Ubuntu;可我的需求就是在ubuntu系统中使用,我认为在ambari完全使用开源软件堆积,想兼容Debian系的系统不会太难,而且看了一下文档,大概了解了编译时会生成rpm包,而ubuntu又是有办法解压rpm的,理论上说没有问题,于是决定自己实践一把。后记:在追查代码的过程中发现,目前在开发的ambari版本已经开始支持ubuntu12;主要步骤都参考官方cwiki:Build and Install Ambari 阅读全文
posted @ 2013-11-29 16:16 ZisZ 阅读(4152) 评论(2) 推荐(0) 编辑
摘要: 在分布式系统下偶尔会有这样的需求,要增加一个服务时,需要在集群的所有节点上创建同一个用户,然后打通ssh通道,再分发软件包、配置、执行命令、启动服务...这个问题的根源是如何集中配置和管理系统,专业运维应使用如puppet等工具。但有时图简单或其它原因,不愿走puppet,这里给自己记几个简单的脚本备忘(前题条件:已经打通root的ssh通道,或另一个有sudo权限的用户):批量创建用户,参数:私钥、用户名、组名;要求有一个ip.list机器列表;#!/bin/bashif (( $# [group_name]" exit 1fi#pri_key is the path of you 阅读全文
posted @ 2013-11-29 13:25 ZisZ 阅读(828) 评论(0) 推荐(1) 编辑
摘要: Hadoop 2.2中正式启用了hdfs nfs功能,使得hdfs的通用性迈进了一大步。在公司让小朋友搭建了一下,然后我自己进行了一点简单的试验,有一点收获,记录在此。 理论 使用hdfs nfs功能的话,数据访问路径如上图:用户或程序通过Linux自带的nfs client访问hdfs nfs服务 阅读全文
posted @ 2013-11-27 14:36 ZisZ 阅读(4721) 评论(0) 推荐(0) 编辑
摘要: 一点调研资料,比较浅,只是觉得部分内容比较有用,记在这里; 首先,关于云计算,要理解什么是SAAS、PAAS、IAAS,这里不述;关于虚拟化,需要知道什么是Hypervisor,这里也不述; OpenStack是什么 OpenStack是一个由美国宇航局NASA与Rackspace公司共同开发的云计 阅读全文
posted @ 2013-11-01 15:39 ZisZ 阅读(15808) 评论(1) 推荐(3) 编辑
摘要: 对于非环形数组,求解和值最大子段的方法见之前一遍文章;对于环形数组,需要考虑最大和值子段越过首尾边界的情况,解决方法比较简单,即将数组处理两遍; 需要注意子段长度不可以超过整个数组长度; 1 #! -*- coding: utf-8 -*- 2 3 loop = (4, -3, 2, -4, 1, 5, -3, -4, 3) 4 #loop = (4, 3, 2, 4, 1, 5, 3, 4, 3) 5 #loop = (-4, -3, -2, -4, -1, -5, -3, -4, -3) 6 7 # 求解和值最大子段 8 # 算法关键是将和值对整体不利的子序列舍弃,修减问题树 9 # .. 阅读全文
posted @ 2013-10-30 14:16 ZisZ 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 参考:http://www.felix021.com/blog/read.php?2040以上参考的原文写得很好,解析的非常清楚。以下用我自己的理解,对关键部分算法进行简单的描述:回文的判断需要完成从中心字符向两侧进行逐字符匹配;回文好比圆,由两个重要的参数决定,即“圆心”(中心字符,对偶数长的回文而言是两个字符)和“直径”(回文长度);如果一个“点”落入另一个“圆”内,则以这个点为圆心的“圆”必定受这个“大圆”及相对大圆圆心对称的“对称圆”的影响:在“大圆”范围内,这个“圆”的直径不能大于“对称圆”的直径(只要在大回文的范围内,该回文的字符匹配结果可以取用对称位置回文的匹配结果);即使“对称 阅读全文
posted @ 2013-10-08 13:33 ZisZ 阅读(477) 评论(0) 推荐(0) 编辑
摘要: 首先是一个非常简单的题目,如何将一个数字反过来,比如12345反转成54321;可以选择将数字转换成字符串然后进行首尾换位操作,但更经典的作法应该是依次从原数字尾部取数,加到结果的高位;深入思考一下,如何将数字按二进制表示进行反转呢,比如6变成3(110变成011)?如何以两位为单位进行反转呢,比如12345变成45231?事实上,经典的数字反转算法中可以抽出两个概念,一个是这个数字的进制,另一个是进行反转时要求以多少位为一个整体;抽出这些之后,整个算法不需要改变:# -*- coding: utf-8 -*-import sys# 以多少位为一个整体N = 1# 进制factor = 2# 阅读全文
posted @ 2013-09-23 13:16 ZisZ 阅读(1092) 评论(0) 推荐(1) 编辑
摘要: 有一个正整数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行: ...在这个数列中求可整除奇数X(1除外)的数字的个数;好了,来解这道数学题:1. 首先,很容易看出,每一行是一个等差数列,差为2n-1;2. 然后,求解每行的首数,计算方法为:Firstn = ∑Cin-1*(i-1) = C0n-1 *1 + C1n-1*2 阅读全文
posted @ 2013-09-06 17:01 ZisZ 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 通过排序后,依次遍历前后两值求差即可,所以实质上的核心问题是排序;通过经典的比较排序算法复杂度在O(nlogn),而如果数据波动不大,则可通过桶排序将复杂度降到O(n);array = (5, 2, 4, 9, 0, 6)# quick sort# O(nlogn)def split(list, start, end): middle = list[end] index = start -1 for i in range(start, end+1): if list[i] max_e: max_e = i if i = 2:... 阅读全文
posted @ 2013-09-05 10:17 ZisZ 阅读(1658) 评论(0) 推荐(0) 编辑