摘要: 标准unix/linux下的grep通过以下参数控制上下文grep -C 5 foo file 显示file文件中匹配foo字串那行以及上下5行grep -B 5 foo file 显示foo及前5行grep -A 5 foo file 显示foo及后5行查看grep版本的方法是grep -V如果想升级,升级的方法:最新的源码(google或者百度搜索主页),编译安装到某个地方,比如 /home/aaa/bin/ 那么以后用的时候就用 /home/aaa/bin/grep ,或者把 /home/aaa/bin 加到PATH环境变量即可。 如果你把最新编译好的grep覆盖到你现在grep所在目录 阅读全文
posted @ 2011-06-30 13:44 xiao晓 阅读(31633) 评论(0) 推荐(2) 编辑
摘要: 这个类的关于consume() 和 flushBuffer()方法的等待调用比较绕逻辑 。package proj.zoie.impl.indexing;import java.util.Collection;import java.util.LinkedList;import org.apache.log4j.Logger;import proj.zoie.api.DataConsumer;import proj.zoie.api.ZoieException;/** * 数据的消费者,由ZoieSystem来继承,实际的的数据消费者 ,由StreamDataProvider.start(). 阅读全文
posted @ 2011-06-24 18:23 xiao晓 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 1、zoie在运行是需要实例化的对象有:StreamDataProvider、ZoieSystem(也是一个消费者) 。2、在StreamDataProvider中积累数据,然后调用StreamDataProvider的start()方法,该方法会启动一个消费StreamDataProvider中数据的线程DataThread<V> 。3、然后DataThread<V>会去处理StreamDataProvider中的数据,通过不断调用StreamDataProvider.next()方法来取得数据,当取到一定的数量(就是beachSize)后会调用ZoieSystem的 阅读全文
posted @ 2011-06-24 13:16 xiao晓 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 1、zoie中需要自己继承StreamDataProvider<T>来实现自己系统中的一个数据提供的处理者 。 T为自己系统中需要处理的数据的泛型 。2、StreamDataProvider自己并不会自动启动消费数据,继承类在实例化时候,需要给其注入消费者实例(一般为ZoieSystem),若不注入则无法消费数据 。3、然后在系统的运行中需要线程定时 或者 其它方法去调用StreamDataProvider<T>的start()方法,然后其在start()中其中一个消费数据的线程(该线程持有StreamDataProvider的实例对象)。 阅读全文
posted @ 2011-06-23 09:55 xiao晓 阅读(143) 评论(0) 推荐(0) 编辑
摘要: package org.apache.hadoop.fs;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;import org.apache.hadoop.classification.InterfaceAudience;import org.apache.hadoop.classification.InterfaceStability;import org.apache.hadoop.fs.permission.FsPermission;import org.apache.hadoop 阅读全文
posted @ 2011-06-17 11:02 xiao晓 阅读(1843) 评论(0) 推荐(0) 编辑
摘要: Nutch是一个开源的搜索引擎,包括抓取,索引,搜索,不过它主要专注于抓取,下面我讲一下它的简单使用。首先,从这里下载Nutch的最新release(作此文时最新release为1.0),或者从这里直接下载源码,然后解压。解压后,打开文件$NUTCH_HOME/conf/nutch-site.xml(NUTCH_HOME为你nutch所在的文件夹,这个nutch-site文件是nutch的配置文件,不要直接修改nutch-default文件,那个是nutch的默认配置,nutch-site.xml会覆盖nutch-default.xml中的配置,详情请见Nutch配置文件的加载。当然你也可以修 阅读全文
posted @ 2011-06-14 18:58 xiao晓 阅读(3222) 评论(0) 推荐(0) 编辑
摘要: /proc/pid/是进程目录,存放的是当前运行进程的信息。譬如apache进程 ls -al /proc/23597:-r——– 1 root root 0 2009-05-26 15:00 auxv-r–r–r– 1 root root 0 2009-05-26 02:03 cmdline-r–r–r– 1 root root 0 2009-05-26 15:00 cpusetlrwxrwxrwx 1 root root 0 2009-05-26 15:00 cwd -> /-r——– 1 root root 0 2009-05-26 15:00 environlrwxrwxrwx 阅读全文
posted @ 2011-05-19 13:54 xiao晓 阅读(1423) 评论(0) 推荐(0) 编辑
摘要: df -lh 查看当前机器挂载的各个磁盘的空间大小du -sh * 查看当前目录下的所有文件夹的大小du -sh test/ 查看当前目录下的test文件夹的大小 阅读全文
posted @ 2011-05-19 13:09 xiao晓 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 该类的作用同Bobo中的com.browseengine.bobo.util.BoundedPriorityQueue作用一样 。 1、构造一个存储有序但容量固定的数组,数组中数据按升序排列 。 可以向该PriorityQueue中插入数据,但这个数据比最小的那个数据小时,则不插入这个数据 。当数据大于最小的那个数据(top()得到)时候,提出最小的那个数据,然后有序插入到相应的位置 。源代码以及注释如下 :/** A PriorityQueue maintains a partial ordering of its elements such that the least element c 阅读全文
posted @ 2011-04-12 15:08 xiao晓 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 一般通过IndexSearch.explain(query,docId)----》weight.explain(reader, doc) 方法得到一个文档的评分的具体信息 。Explanation的信息如下:4.803122= (MATCH) fieldWeight(keywords:奶粉 in457), product of:2.0= tf(termFreq(keywords:奶粉)=4)4.803122= idf(docFreq=414, maxDocs=18609)0.5= fieldNorm(field=keywords, doc=457)第一行表示总得分:document(docId 阅读全文
posted @ 2011-04-08 15:11 xiao晓 阅读(1052) 评论(0) 推荐(0) 编辑
摘要: org.apache.lucene.search.DocIdSetIteratorpackage org.apache.lucene.search;import java.io.IOException;/** * This abstract class defines methods to iterate over a set of * non-decreasing doc ids. * 提供一个访问id的迭代器的接口 。 */public abstract class DocIdSetIterator { /** Returns the current document number. &l 阅读全文
posted @ 2011-04-07 17:23 xiao晓 阅读(639) 评论(0) 推荐(0) 编辑
摘要: java的自带数据库,觉得挺方便的就实验了下 package com.gemantic.util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;public class JavaDBTest { public static void main(String[] args) throws Exception { String driver = "org.apache.derby.jdbc.EmbeddedDriver"; String url = " 阅读全文
posted @ 2011-03-31 15:06 xiao晓 阅读(3137) 评论(0) 推荐(0) 编辑
摘要: 症状 :两个SOA的服务部署在同一台机器上,当一个服务重启动时,这个服务启动正常,但另外一个服务会死掉,重启另外一个也是同样的现象 。查询services端口,也并没有冲突 ,也没有互相依赖的想象 。原因:两个服务的启动类名称写成了一样的,但是在stop服务的shell脚本中,查询脚本也是根据服务的启动类名称来查找的, 重启服务需要先调用stop脚本去kill调以前的自己,但是会查找到对方,然后将对方杀掉,然后重启自己 .....囧 阅读全文
posted @ 2011-03-25 14:20 xiao晓 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 这几个命令都是执行脚本的语句 ,均可以带参数执行,和普通的脚本作用相同 。. filename(注意之间有个空格)和source filename的作用是相同的 ,相当于在当前的shell中将文件中的语句一个个执行一遍,相当于把里面的语句一行行的取出来并执行,所以里面定义变量等操作在外面也可以用 。./ 也是执行脚本文件,同sh一样,脚本中定义的变量不能在外面使用,但此时需要对文件赋予相应的执行权限,没有执行权限的脚本文件不能用此命令来执行 。这个又名fork的咨询你个方式 。sh 执行文件中的脚本,作用和./基本相同,创建一个新的子进程,子进程和父进程之间的变量是隔离开的 。exec:在ba 阅读全文
posted @ 2011-03-23 13:37 xiao晓 阅读(732) 评论(0) 推荐(0) 编辑
摘要: stdout 是标准输出流,它显示来自命令的输出。它的文件描述符为 1。stderr 是标准错误流,它显示来自命令的错误输出。它的文件描述符为 2。stdin 是标准输入流,它为命令提供输入。它的文件描述符为 0。ls x* z* >output.txt 2>&1 >> 和 > 都是重定向的意思,区别是>>表示如果文件不存在这新建文件并输出,如果文件存在这在文件末尾添加 ,>新建文件并输出会覆盖原有文件 。上命令相当于:ls x* z* 1>output.txt 2>&1 将stdout(1)输出到output.txt 阅读全文
posted @ 2011-03-22 18:41 xiao晓 阅读(635) 评论(0) 推荐(0) 编辑
摘要: Linux Shell 环境中支持输入输出重定向,用符号<和>来表示。0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>a.txt 表示将错误信息输出到文件a.txt中。同时,还可以在这三个标准输入输出之间实现重定向,比如将错误信息重定向到标准输出,可以用 2>&1来实现。Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。如果想要正常输出和错误信息都不显示,则要 阅读全文
posted @ 2011-03-22 18:24 xiao晓 阅读(1060) 评论(0) 推荐(0) 编辑
摘要: nohup命令是使得命令在后台不间断执行的,当在一个终端执行时,该已经执行的进程并不会随着终端的关闭而关闭 。such as :在后台执行bin/fastfetch.sh news >> $LOG 2>&1 命令,第二个&是执行命令的参数nohup bin/fastfetch.sh news >> $LOG 2>&1 & 让bin/fastfetch.sh news在后台执行,并且将1 和 2(0 stdin、1 stdout、 2 stderr )都输出到$LOG 2文件中 ,如果使用nohup命令提交作业,那么在缺省情况下 阅读全文
posted @ 2011-03-22 18:10 xiao晓 阅读(4366) 评论(0) 推荐(0) 编辑
摘要: file=abcd1234hfehco echo ${file:1:2} 截取file中从位置1开始的2个字符 ,第二个参数可以不写 。ehco echo ${file:1} 显示从位置1开始到最后的字符串,当第一个参数小于0时候,无论有没有第二个参数都显示所有字符串。 阅读全文
posted @ 2011-03-17 18:21 xiao晓 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 今天处理一个过滤的功能需要往控制层里面注册一个Map<String,HashSet<String>> ,研究了好久也不会写这个在Spring中的配置文件,最后得以解决~ ~,如下 :<bean id="hotFacetFitler" class="java.util.HashMap"> <constructor-arg> <map> <entry key="theme"> <bean class="java.util.HashSet"&g 阅读全文
posted @ 2011-03-16 19:47 xiao晓 阅读(633) 评论(0) 推荐(0) 编辑
摘要: deploy.sh 1 #!/bin/sh 2 3 #定义变量 4 5 mainpath=/data/ddc/index-service/cd $mainpathecho "rm classes" 6 7 #删除原有的class文件以及lib文件 8 9 rm -rf $mainpath/classes10 11 echo "rm lib"rm -rf $mainpath/lib12 13 #解压新的文件,传入文件名称14 15 tar xvf $1echo "stop service"cd deploy16 17 #停掉原有服务18 阅读全文
posted @ 2011-03-16 12:48 xiao晓 阅读(358) 评论(0) 推荐(0) 编辑
摘要: http://sna-projects.com/sensei/ sensi的主页,linkin公司的,并列的还有zoie 、bobo 阅读全文
posted @ 2011-03-15 12:51 xiao晓 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 1、对于datanode可以在master中配置,然后在maste启动的时候,一并去启动这些节点 。对于死掉的节点,也可以通过以下命令启动 。重启挂掉的节点进入到 挂掉的机器bin/hadoop-daemon.sh start datanode //启动数据节点bin/hadoop-daemon.sh start tasktracker //启动任务管理器此时再在master上使用./hadoop dfsadmin -report 是就会发现这些节点已经启动起来 。2、对于新添加datanode的话:只需配置相应的主机IP,然后在在本机上启动datanode和tasktracker ,便可以将 阅读全文
posted @ 2011-03-04 14:06 xiao晓 阅读(4089) 评论(1) 推荐(0) 编辑
摘要: 环境以及配置:三台机器,两台作为datanode ,一台机器启动namenode 、JobTracker 。基本的WordCounter 程序,打包成jar包,将输入文件上传到HDFS上 ,然后命令:./hadoop jar /home/dev/hadoop/Counter.jar hadoopApp.WordCount /data/input/ /data/output/ 注意:后面的两个路径必须是HDFS上的路径,不能是本地路径 ,jar包为普通jar包且不需要上传到服务器 。 阅读全文
posted @ 2011-03-04 13:44 xiao晓 阅读(1127) 评论(0) 推荐(0) 编辑
摘要: 现象:namenode端的namenodelog一直报could only be replicated to 0 nodes, instead of 1 错误,表示没有一个可用的节点 。datanode端一直报错:Server at /10.0.0.21:54310 not available yet, Zzzzz...2011-03-03 11:33:10,047 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: /10.0.0.21:54310,一直尝试连接master但连接不上 。改正:在namenode中配置m 阅读全文
posted @ 2011-03-03 15:58 xiao晓 阅读(8673) 评论(0) 推荐(0) 编辑
摘要: 发生的场景:本机上启动一个namenode和一个datanode ,然后datanode无法启动 。错误:namespaceIDs不一致 。原因:每次namenode format会重新创建一个namenodeId,而tmp/dfs/data下包含了上次format下的id,namenode format清空了namenode下的数据,但是没有晴空datanode下的数据,导致启动时失败,所要做的就是每次fotmat前,清空tmp一下 的所有目录.解决,给出两种方法:Workaround 1: Start from scratchI can testify that the following 阅读全文
posted @ 2011-03-03 13:58 xiao晓 阅读(825) 评论(0) 推荐(0) 编辑
摘要: JProfiler试用手记2008-06-03 11:53JProfiler试用手记所谓“工欲善其事,必先利其器”,好的工具确能起到事半工倍的作用。我用到的最多的就两个JConsole 和JProfiler 。JConsole监控系统内存变化情况,如果有内存溢出的话,垃圾回收将会呈现锯齿状。发现问题以后,使用JProfiler,在小压力(或无压力)的情况下监控对象变化,定位内存溢出原因。 JProfiler是一款Java的性能监控工具。可以查看当前应用的对象、对象引用、内存、CPU使用情况、线程、线程运行情况(阻塞、等待等),同时可以查找应用内存使用得热点,即:哪个对象占用的内存比较多;或者C 阅读全文
posted @ 2011-02-24 15:50 xiao晓 阅读(11700) 评论(0) 推荐(1) 编辑
摘要: 转自:Venus神庙原文:http://www.cnblogs.com/duguguiyu/archive/2009/02/28/1400278.html分布式计算(Map/Reduce)分布式式计算,同样是一个宽泛的概念,在这里,它狭义的指代,按Google Map/Reduce框架所设计的分布式框架。在Hadoop中,分布式文件系统,很大程度上,是为各种分布式计算需求所服务的。我们说分布式文件系统就是加了分布式的文件系统,类似的定义推广到分布式计算上,我们可以将其视为增加了分布式支持的计算函数。 从计算的角度上看,Map/Reduce框架接受各种格式的键值对文件作为输入,读取计算后,最终生 阅读全文
posted @ 2011-02-15 14:55 xiao晓 阅读(2926) 评论(0) 推荐(0) 编辑
摘要: 写了个远程调用的小工具,分享下 。有时写程序时候,会在代码中加一些打印的语句,将中间结果打印出来,以便查看正确性与否 ,但当这一部分代码上传到服务器的时候,随之的打印结果也在相应的服务机器上,有没有一种方法,将自己中间打印的东西全部打印到一个特定的地方,无论代码在哪里运行 ??? RMI ,原理很简单:在自己的机器上启动个RMI的服务,然后打印语句时调用这个RMI,将这些语句打印到特定的机器(或文件中,只要你查看方便即可) 。示例代码如下RMI服务端:远程调用的接口RemoteInterface远程调用接口的实现RemoteInterfaceImpl启动服务的代码main方法调用端的:调用时 阅读全文
posted @ 2011-01-27 14:24 xiao晓 阅读(786) 评论(0) 推荐(0) 编辑
摘要: 两个索引是不一样的,一个是基于硬盘上的index.dic来打开的索引(相当于lucene中基本的打开索引文件夹得到的索引),一个是直接在内存中的索引,搜索时为保证完整性,会在两个中都搜索。 但添加时只添加到内存索引中,因为效率的问题(在内存中操作事件极短),添加后会立刻重新读入索引,以便添加后可以立刻搜索到 。 当内存中索引添加到一定的量时,会将在内存中的这这一部分合并到硬盘中 ,然后在重新打开硬盘索引,这个中间会有一些无缝的延时或者不完整搜索 。 阅读全文
posted @ 2011-01-12 15:45 xiao晓 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 先说下SOA:面向服务编程 。SCA:服务组件框架(SCA)提供了一套可构建基于面向服务的应用系统的编程模型,说白了就是对于面向服务编程(SOA)提出来的一套管理模型 ,一套思想,并不是一个开源模型或者开源代码 。Tuscany 是SCA的一个具体实现,也是当前较成熟的一个应用框架 ,它将那些SOA的服务管理起来,和Spring结合,以Bean的形式来配置管理这些服务 ,这些SOA底层走的是java基本的RMI形式 。 阅读全文
posted @ 2011-01-06 17:54 xiao晓 阅读(188) 评论(0) 推荐(0) 编辑
摘要: service name="indexService" promote="newsServiceComponent/indexService" interface.java interface="com.gemantic.analyse.news.service.NewsIndexService"/ scallop:binding.rmi host="localhost" port="8109" serviceName="IndexRMIService"/ /service第一个service name(indexService),表示要启动的RMI服务的对象的名字,与Spri 阅读全文
posted @ 2011-01-06 10:32 xiao晓 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 1、选筛选的人对分类的结构、每个分类中应该有哪些文章应该比较清楚并有一定的理解。2、择较容易判别、典型的文章:一篇文章大致阅读以后,就能判定这篇文章属于哪个类别,而且可以指出因为哪些词语而使得这篇文章归属到该类别,这样的样本为上佳样本。3、感觉这篇文章会在类别中有交叉,则立即放弃 。4、对于分类中可能出现的文章内容,每个都筛选一些样本 。反例:关于时事新闻的类别可能包含的内容:国际时事、近期的国际... 阅读全文
posted @ 2010-10-26 23:37 xiao晓 阅读(359) 评论(0) 推荐(1) 编辑