- 博客(113)
- 资源 (1)
- 收藏
- 关注
转载 自用Git提交后自动发送邮件的脚本
首先是下载这个post-receive脚本,我稍微做了些修改,支持在.gitconfig中指定邮件发送程序(hooks.sendmail)和发件人信息(hooks.emailfrom)。 脚本下载后放到仓库的hooks目录下,并“chmod a+x post-receive”赋予执行权限。 同时,因为邮件中的项目名称是从仓库目录下的description文件的第一行读取,所以也应该进行相应的修
2012-10-11 16:05:27
2080
转载 Windows环境下 Git 实现发邮件功能
windows git 邮件通知 我个人在公司研究了很长时间,在测试的过程中,只有本地可以,外发我还在研究 准备工具 winwebmail(邮件服务器) http://www.winwebmail.com/wemdownent.html 两个命令行发邮件的工具,任选一个 blat http://www.blat.net/examples/ sendemail http://
2012-10-11 15:56:49
2387
转载 Git Update邮件通知设置
在团队里面,我们使用Git管理共用代码,可以解决代码更改冲突问题,但还有另外一个问题,我怎么知道别人的工作进展呢?这个时候,就要求我们用一种方式,告诉团队里面的其它人,嘿,伙计们,咱有新代码更新提交进了仓库了。 Git 有一个post-receive挂钩,我们通过对该挂钩进行相关设置,即可实现自动通知功能。当然了,通知是英文的,中文支持还是有点麻烦,现在咱不弄成中文,只要求它能工作就行。
2012-10-11 15:55:24
2822
转载 windows git 邮件通知
准备工具 开源mail server hmail 命令行发邮件的工具 blat 初始化下blat,注意域名的修改blat -install localhost admin@localmail.ddatsh.com blat -body test -to admin@localmail.ddatsh.com -s "miss you" -u admin -pw a
2012-10-11 15:25:57
961
转载 GIT自动发邮件功能配置
原来配置过SVN版本控制在项目成员提交CODE的时候,会自动发邮件给团队成员,公司在使用GIT之后,同样有这样需求,如下是配置方法. GIT的邮件通知是通过MSMTP和MUTT来发信的,所以首先需要配置MSMTP和MUTT环境。 1、 下载安装MSMTP wget http://cdnetworks-kr-1.dl.sourceforge.net/project/ms
2012-10-11 15:23:40
3145
转载 hadoop集群内lzo的安装与配置
最近我们部门在测试云计算平台hadoop,我被lzo折腾了三四天,累了个够呛。在此总结一下,也给大家做个参考。 操作系统:CentOS 5.5,Hadoop版本:hadoop-0.20.2-CDH3B4 安装lzo所需要软件包:gcc、ant、lzo、lzo编码/解码器,另外,还需要lzo-devel依赖 配置lzo的文件:core-site.xml、mapred-site.xml
2012-10-11 15:00:11
487
转载 mysql数据导出SQLserver格式的数据总结
我用php写的采集程序入库的数据都是mysql,用户可能要求给他的数据是Access或SQLserver,这时侯就涉及到数据转换的过程,从网上找了一下要想mysql直接转成SQLserver的,得装mysql odbc driver,同时还得装SQLserver,这种方法我直接不考虑了。 最后我想到方法是:mysql导出Access在导出SQLserver 1.mysql导入Access文
2012-10-11 14:36:25
472
转载 Cacti完全使用手册 ( 让你快速个性化使用Cacti )
I.总览 Cacti和Nagios的监控体系可以说是使用广泛而且支持丰富的国内外的运维人员都需要掌握的一套监控体系,这套体系的好处在于使用Cacti的强大画图和自定义画图能力,以及Nagios的可控报警。但是网上的大部分内容都是如何安装,在安装成功如何使用的方面介绍的很少,而真正开始用之后,为了工作需
2012-10-08 14:48:02
693
转载 Httpd.worker Confused Me
最近因为一个服务需要改版,而且是前端和后端都需要更新。那就免不了要倒腾一下 MySQL 、 Apache 这些服务了。 其实我是很怕倒腾服务器搭建的,在我看来,这要比搞研发麻烦的多,因为每次倒腾这些东西总会因为一些自己莫名其妙的疏忽或者是服务的 bug 而引起一堆连锁反应。 这次的起因其实是个很不起眼的事情。优化完数据库之后需要把数据库搬迁到另外一台服务器上,无意间发现 Apache
2012-09-28 10:25:47
1764
转载 从链接目录指向绝对路径
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" Is a useful one-liner which will give you the full directory name of the script no matter where it is being called from 表示有一种链接的情况。 ==
2012-09-26 15:53:12
846
转载 linux中shell变量$#,$@,$0,$1,$2的含义解释
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出
2012-09-26 14:33:20
376
转载 shell中条件判断if中的-z到-d的意思
[ -a FILE ] 如果 FILE 存在则为真。 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。 [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。 [ -d FILE ] 如果 FILE 存在且是一个目录则为真。 [ -e FILE ] 如果 FILE 存在则为真。 [ -f FILE ] 如果 FILE 存
2012-09-25 20:39:54
955
转载 Hprof使用及在Hadoop中MR任务使用
J2SE中提供了一个简单的命令行工具来对java程序的cpu和heap进行 profiling,叫做HPROF。HPROF实际上是JVM中的一个native的库,它会在JVM启动的时候通过命令行参数来动态加载,并成为 JVM进程的一部分。若要在java进程启动的时候使用HPROF,用户可以通过各种命令行参数类型来使用HPROF对java进程的heap或者 (和)cpu进行profiling的功能。
2012-09-25 20:22:04
442
转载 Hadoop是怎么分块的
hadoop的分块有两部分,其中第一部分更为人熟知一点。 第一部分就是数据的划分(即把File划分成Block),这个是物理上真真实实的进行了划分,数据文件上传到HDFS里的时候,需要划分成一块一块,每块的大小由hadoop-default.xml里配置选项进行划分。 dfs.block.size 67108864 The default block si
2012-09-25 20:21:52
294
转载 源码级强力分析Hadoop的RPC机制
前言: 这些天一直奔波于长沙和武汉之间,忙着腾讯的笔试、面试,以至于对Hadoop RPC(Remote Procedure Call Protocol ,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。机制分析的文章一直耽搁了下来。昨天晚上胡老大和我抱怨说:最近乱的很。呵呵,老是往武汉跑,能不乱嘛。不过差不多腾讯面试的事就该告一段落了。五一期间,云
2012-09-25 20:21:29
505
转载 关于UNIX和Linux系统下SUID、SGID的解析
如果你对SUID、SGID仍有迷惑可以好好参考一下! Copyright by kevintz. 由于用户在UNIX下经常会遇到SUID、SGID的概念,而且SUID和SGID涉及到系统安全,所以用户也比较关心这个问题。关于SUID、SGID的问题也经常有人提问,但回答的人一般答得不够详细,加上曾经回答过两个网友的问题,还查了一些资料,决定整理成本文,以供大家参考。
2012-09-25 20:20:31
508
转载 Hadoop 0.21的bakupnode的工作过程分析
1、backupnode启动后,在初始化阶段完成握手和注册,其中在握手阶段handShake,检测storage的版本是否一致,同时建立到namenode的RPC句柄,保存在成员变量namenode当中,registerWith通过RPC调用Namenode的register,完成backupnode信息在namenode上的注册,同时完成在FSNamesystem和FSEditLog上的检查,如
2012-09-23 15:38:03
636
转载 Hadoop的shell脚本分析
前记: 这些天一直学习Hadoop,学习中也遇到了许多的问题,主要是对hadoop的shell脚本和hadoop的源码概念不够清楚,所以我就对hadoop的bin目录下的shell脚本进行了研究,有一些成果想记录下来,也希望大家前来批评指正。 分析原因: 很多Hadoop的初学者对hadoop的脚本不是很清楚,不知道为什么可以在命令行中启动hadoop,也不知道为什么有时在命令行中运
2012-09-23 15:37:06
456
转载 Hadoop学习笔记(一)HBase脚本分析(二)hbase-daemon.sh
Hadoop学习笔记(一)HBase脚本分析(二)hbase-daemon.sh。 相关阅读:Hadoop学习笔记(一)HBase脚本分析(一)start-hbase.shhttp://www.codesky.net/Linux/2012-06/62630.htm usage="Usage: hbase-daemon.sh [--config ] (start|stop|res
2012-09-23 15:35:46
2021
转载 Hadoop相关启动脚本分析
Hadoop相关启动脚本分析 有助于troubleshoot,顺便学习shell。 刚开始配置Hadoop难免出错,学习一下启动的脚本对分析错误还是很有帮助的。而且可以顺便学习shell。 我自己对shell命令还算比较熟,shell脚本基本看得懂,不过没具体去深究。所以下面提到的一些shell要点高手莫笑。 Hadoop 0.20.203 Hadoop 主要命令
2012-09-23 15:35:05
518
转载 Hadoop启动脚本与配置详解[转载]
+ 下载和安装 设置环境变量 $HADOOP_INSTALL 作为Hadoop的安装目录。 各个版本的hadoop都是安装在$HADOOP_INSTALL这个目录下。 然后在$HADOOP_INSTALL创建一个软连接hadoop连接到指定版本的hadoop。这样运行hadoop的所有工具都是在$HADOOP_INSTALL/hadoop/bin下,所有的配置文件都是放置在$HADOOP_I
2012-09-23 15:31:21
599
转载 Hadoop Cluster 启动分析
初来乍到,先发骗帖子当见面礼。 可能在大多数人看来这里写的东西是毫无意义的,毕竟没人会真去这么做。的确如此,绝大多数情况下这么做绝对是多余的。 我之所以弄这个完全是出于我的一次“天方夜谭”般的尝试:我企图将Hadoop移植到Sun的一个PaaS实验项目Project Caroline上。当时我深信我的想法是可行的,结果我只对了一半。HDFS的移植算是成功的(当然用了一个trick),但由于
2012-09-23 15:30:19
440
转载 Thrift之代码生成器Compiler原理及源码详细解析3
3 生成C++语言代码的代码详解 这个功能是由t_cpp_generator类实现(在文件t_cpp_generator.cc定义和实现),直接继承至t_oop_generator类(这个类是所有面向对象语言生成器类的直接基类,封装了面向对象语言生成器共有的特征与行为),而t_oop_generator又从t_generator继承(上面已经介绍),下面详细分析这个类是怎样生成C++语言的代
2012-09-23 15:29:16
473
转载 Thrift之代码生成器Compiler原理及源码详细解析2
目录(?)[+] 我的新浪微博:http://weibo.com/freshairbrucewoo。 欢迎大家相互交流,共同提高技术。t_generator类和t_generator_registry类 2 t_generator类和t_generator_registry类 这个两个类的主要功能就是为生成所有语言的代码提供基础信息和提供具体代码生成器对象,上面就是调
2012-09-23 15:28:22
558
转载 Thrift之代码生成器Compiler原理及源码详细解析1
目录(?)[+] 第一节 类关系图第二节 程序流程图第三节 源代码详细分析 Main.cc文件 又很久没有写博客了,最近忙着研究GlusterFS,本来周末打算写几篇博客的,但是由于调试GlusterFS的一些新增功能就用了整整的一天,还有一天就陪老婆大人逛街去了!今晚浏览完微博发现时间还早就来博客一篇,本篇博客内容主要是前一段时间研究的Thrift的代码生成器的源码
2012-09-23 15:27:41
820
转载 第一章 Hadoop启动Shell启动脚本分析--基于hadoop-0.20.2-cdh3u1
第一章 Hadoop启动Shell启动脚本分析 第一节 start-all.sh脚本 此脚本很简单,就是根据运行此脚本的目录进入安装hadoop目录下的bin目录,然后运行启动hdfs和mapred的启动脚本。 [plain] view plaincopyprint? bin=`dirname "$0"` bin=`cd "$bin"; pwd` . "$bin"/
2012-09-23 15:22:44
526
转载 hadoop源码研读之路(八)----DataNode本地数据块管理
刚接触Hadoop的时候,老师问我咱们上传的数据存放到那里了,我说我不知道,当时很囧。呵呵。 在hdfs-site.xml中 dfs.data.dir /home/hadoop/data 这行数据就代表了数据块存放地址,现在才明白过来。 在Linux上有四个目录 1.current存放的是当前有效的数据块, 2.detach存的是快照
2012-09-23 15:12:13
569
转载 hadoop源码研读之路(七)----HDFS的数据管理
HDFS主要通过NameNode、DataNode和Client端来管理数据 NameNode主要负责管理文件系统的命名空间、集群的配置、和存储块的复制。 NameNode会将系统的元数据存储在内存中。 元数据主要包括下面几个信息: 1.namespace用来描述整个文件系统的体系结构(文件树) 2.access control information 用来检测访问和
2012-09-23 15:11:44
471
转载 hadoop源码研读之路(六)----RPC的Client端和Server端
既然是RPC,就一定有Client端和Server端, 如果进行一次HDFS的读写,其中一个DataNode需要跟NameNode建立连接,也需要和其他的DataNode建立连接,那么每一个Client需要维护多个连接。同时为了减少不必要的连接,Client的做法是拿Connectionid来作为Connection的ID。 RPC Client的结构 Client.
2012-09-23 15:11:06
1176
转载 hadoop源码研读之路(五)----Java动态代理
熟悉设计模式的人对于代理模式可能都不陌生。代理对象和被代理对象一般实现相同的接口,调用者与代理对象进行交互。代理的存在对于调用者来说是透明的,调用者看到的只是接口。代理对象则可以封装一些内部的处理逻辑,如访问控制、远程通信、日志、缓存等。比如一个对象访问代理就可以在普通的访问机制之上添加缓存的支持。这种模式在RMI和EJB中都得到了广泛的使用。传统的代理模式的实现,需要在源代码中添加一些附加的类。
2012-09-23 15:10:33
377
转载 hadoop源码研读之路(四)----IPC.RPC
写这篇文章的时候比较吃力,因为我也不知道什么是IPC,基础知识太薄弱了。 进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据或信号的一些技术或方法。进程是计算机系统分配资源的最小单位。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。这些进程可以运行在同一计算机上或网
2012-09-23 15:10:01
694
转载 hadoop源码研读之路(三)----序列化
简单来说,序列化就是将对象(实例)转换为字符流(字符数组)的过程,转换后的字符流可用于网络传输或写入磁盘;相对的,反序列化就是将字符流转换成对象的过程。Hadoop有自己的序列化实现,并已提取为Avro子项目。序列化要求具有字符流紧凑,处理快速,可扩展,多语言支持特性。 Hadoop并没有采用Java的序列化,而是引入了它自己的系统。 Hadoop中定义了两个序列化相关的接口:Writ
2012-09-23 15:09:33
597
转载 hadoop源码研读之路(二)----配置类
Configuration是org.apache.hadoop.conf包中的主类 Configuration类中包含了10个属性 private static final Log LOG = LogFactory.getLog(Configuration.class); LOG是记录日志的对象 private boolean quietmode = ture;
2012-09-23 15:08:55
299
转载 Hadoop源代码研读之路(1)
首先,阅读过此文的朋友,希望你们能留下宝贵的意见。 此背景以hadoop-0.20.2为基础 解压完之后如下: /bin:包含一些集群的命令 /C++:应该是在hadoop上用C++开发的接口 /conf:hadoop的配置文件 /contrib:一些插件 /docs:说明文档 /ivy:不知道什么意思 /lib:一些架包 /librec
2012-09-23 15:08:21
299
转载 hadoop启动和关闭脚本分析
1.启动hadoop start-all.sh 包含两个部分 "$bin"/start-dfs.sh (start dfs daemons) "$bin"/start-mapred.sh (start mapred daemons) 2.查看start-dfs.sh ."$bin"/hadoop-config.sh "$bin/hadoop-daemon.sh
2012-09-23 15:07:42
303
转载 FSImage
类FSImage如下图: 分析FSImage,不免要跟DataStorage去做比较(上图也保留了类DataStorage)。前面我们已经分析过DataStorage的状态变化,包括升级/回滚/提交,FSImage也有类似的升级/回滚/提交动作,而且这部分的行为和DataStorage是比较一致,如下状态转移图。图中update方法和DataStorage的差别比较
2012-09-20 15:53:44
1461
转载 AOP技术基础
1、引言 2、AOP技术基础 3、Java平台AOP技术研究 4、.Net平台AOP技术研究 2.1 AOP技术起源 AOP技术的诞生并不算晚,早在1990年开始,来自Xerox Palo Alto Research Lab(即PARC)的研究人员就对面向对象思想的局限性进行了分析。他们研究出了一种新的编程思想,借助这一思想或许可以通过减少代码重复模块从而帮助开发人员
2012-09-20 15:16:28
1063
转载 AOP实例(1)日志记录功能
目前整个开发社区对AOP(Aspect Oriented Programing)推崇备至,也涌现出大量支持AOP的优秀Framework,--Spring, JAC, Jboss AOP 等等。AOP似乎一时之间成了潮流。Java初学者不禁要发出感慨,OOP还没有学通呢,又来AOP。本文不是要在理论上具体阐述何为AOP, 为何要进行AOP . 要详细了解学习AOP可以到它老家http://aosd
2012-09-20 10:59:05
385
转载 Java安全停止线程方法
1.早期Java提供java.lang.Thread类型包含了一些列的方法start(), stop(), stop(Throwable) and suspend(), destroy() and resume()。,Sun公司的一篇文章《Why are Thread.stop, Thread.suspend and Thread.resume Deprecated? 》 2.使用volat
2012-09-20 09:27:44
378
转载 hadoop shuffle机制中针对中间数据的排序过程详解(源代码级)
在所有公开资料中,很少有对Hadoop 中间数据的sort过程进行详细介绍的。如果想要深入了解hadoop对中间数据的排序机制,只有通过阅读源代码才能达到。而hadoop的这段代码本身具有非常大的迷惑性,如果不注意细节,很容易会发生错误的理解。 本篇文章从原理上详细介绍了hadoop针对中间数据的排序机制,并且对一些重要的源代码段进行了介绍。阅读本文对理解该机制或者深入阅读该部分的hadoop源代
2012-09-20 09:19:26
580
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅