随笔-149  评论-183  文章-18  trackbacks-0
  置顶随笔
很久没有在此博客写东西了。但一个多月了,原因是我已经有自己的博客空间了,此博客很少更新,不过如果写得好文就转载到此博客。

posted @ 2008-10-25 11:54 流浪汗 阅读(92) | 评论 (0)编辑 收藏
  2009年4月27日
中文分词 mmseg4j 1.7.2 版发布,其实两天前就发布了,只是没有写博客而已。与引版本发布的还有 1.6.2,两者基本一样,只是词库的数据结构不同,1.7的是键树,1.6的是数组与二分查找。 mmseg4j 1.7.2 版的主要更新:
  • 修复由 1.7-beta 升级到 1.7 版的 bug:添加 lowerCaseFilter 后的一个 bug: NullPointerException。
  • 核发程序与 lucene 和 solr 扩展分开打包, 同时给出低版本的 lucene 扩展(lucene 1.9 到 2.2; lucene 2.3)
如何从源码编译:下载源码:mmseg4j-1.7.2-srcmmseg4j-1.6.2-src。解压到如:e:/mmseg4j-1.7.2-src。然后到这个目录,运行:

 




上面编译是在 solr 1.3 和 lucene 2.4 环境下的。如果您要在 低版本的 lucene 中使用,到 e:/mmseg4j-1.7.2-src/contrib/lucene_1_9 或 e:/mmseg4j-1.7.2-src/contrib/lucene_2_3 运行:

 

说明:到 contrib 下的子项目中编译的话,先要编译 mmseg4j,contrib/lucene_1_9 可以支持到 2.2。

如果有任何疑问、建议,欢迎到论坛 http://groups.google.com/group/mmseg4j/topics?hl=zh_CN 讨论。或与我联系 chenlb2008#gmail.com。

还要感谢网友“苦涩可乐”提示 NullPointerException 的bug。

官方博客:mmseg4j,项目:google code mmseg4j
posted @ 2009-04-27 20:00 流浪汗 阅读(1897) | 评论 (0)编辑 收藏
  2008年10月25日
很久没有在此博客写东西了。但一个多月了,原因是我已经有自己的博客空间了,此博客很少更新,不过如果写得好文就转载到此博客。

posted @ 2008-10-25 11:54 流浪汗 阅读(92) | 评论 (0)编辑 收藏
  2008年9月5日
一直找代码高亮显示,在wp上可以有coolcode但,觉得美中不足的是服务器解析,每请求一次做一次。今天偶然看到 Unmi的博客,他的代码好漂亮,看源码,知道shCore,把他的拿过来试用下。 java 代码

java 代码

groovy 代码

 

posted @ 2008-09-05 00:26 流浪汗 阅读(159) | 评论 (2)编辑 收藏
  2008年9月3日
.tgz 解压:
tar zxvf myfile.tgz
posted @ 2008-09-03 13:33 流浪汗 阅读(1105) | 评论 (0)编辑 收藏
  2008年9月2日
solr分发问题。
用rsync同步目录里出现:rsync:link_stat "snapshot.20080820124136/." (in solr) failed: No such file or directory (2)

上一编配置得没什么问题:http://www.blogjava.net/chenlb/archive/2008/07/04/212398.html 。现竟然出错,郁闷。

网上找了下, 说明路径有空格。http://bbs.chinaunix.net/viewthread.php?tid=1003058

二楼的回复:

带空格的文件/目录名不知道害死了多少人。

`rsync -av --progress $dir1 $dir2`;

`rsync -av --progress "$dir1" "$dir2"`;
代替。

其实 `` 虽然用着方便,
但不适合内插变量。
有变量作为参数的情况下,建议用 system。

此是解决那楼主的问题,可以本来就没有空格的问题,没解决到我的问题。仔细思索。

机子里有几个rsync服务,我部署的时候是复制相关的配置,rsync服务端口没改,子机同步这个服务的时候(子机同步端口与rsync一致,是错的,重复的),然后做同步的时候出现上面的问题。改了其它端口后就可以。

总的来讲,还是自己对linux了解不多。
posted @ 2008-09-02 16:14 流浪汗 阅读(141) | 评论 (0)编辑 收藏
用unzip

unzip myfile.zip
posted @ 2008-09-02 16:03 流浪汗 阅读(356) | 评论 (0)编辑 收藏
  2008年8月11日
上一篇记录了本机模式我虚拟分布模式。http://www.blogjava.net/chenlb/archive/2008/08/11/221311.html

现我在虚拟机里开三台机子,分别命名为:master(172.16.249.210),slave-1(172.16.249.211),slave-2(172.16.249.212)。

master可以无密码登录到slave机。
每台机子都匹配ip对应名。
127.0.0.1       localhost       localhost

172.16.249.210  master
172.16.249.211  slave-1
172.16.249.212  slave-2

修改conf/masters文件和conf/slaves文件。
conf/masters文件:
master

conf/slaves文件:
slave-1
slave-
2

格式化后可以启动了:
[chenlb@master hadoop-0.17.1]$ bin/start-all.sh 


参考资料:
http://hadoop.apache.org/core/docs/r0.17.1/quickstart.html
http://hadoop.apache.org/core/docs/r0.17.1/cluster_setup.html
posted @ 2008-08-11 15:45 流浪汗 阅读(193) | 评论 (0)编辑 收藏

 

Required Software

  1. JavaTM 1.5.x
  2. ssh与sshd

如果没有安装请自行安装。我以CentOS 4.6为例。

下载hadoop,http://apache.mirror.phpchina.com/hadoop/core/ 我下载的是0.17.1版本。

解压hadoop-0.17.1.tar.gz,然后conf/hadoop-env.sh 设置JAVA_HOME ,我是可JAVA_HOME 去注释,值自己的路径。如:

export JAVA_HOME=/usr/java/jdk1.6.0_06

如果不设置启动后用不了。

先从简单开始。

1、Local (Standalone) Mode ,叫单机模式。

[chenlb@master hadoop-0.17.1]$ bin/hadoop jar hadoop-0.17.1-examples.jar grep conf output 'dfs[a-z.]+'

 

[chenlb@master hadoop-0.17.1]$ cat output/*


如果,正常可以看到内容。像这样。

3       dfs.
3       dfs.class
2       dfs.period
2       dfs.replication
...    ...

2、Pseudo-Distributed Mode,虚拟分布模式。
vi conf/hadoop-site.xml
<configuration>
<property>
        
<name>fs.default.name</name>
        
<value>hdfs://master:9000/</value>
</property>
<property>
        
<name>mapred.job.tracker</name>
        
<value>hdfs://master:9001/</value>
</property>
<property>
        
<name>dfs.replication</name>
        
<value>1</value>
</property>
<property>
        
<name>hadoop.tmp.dir</name>
        
<value>/home/chenlb/hadoop-0.17.1/tmp/</value>
</property>
</configuration>

在/etc/hosts里添加本机ip对应master,例如我的:172.16.249.210    master
保证可以无密码登录。请看那一篇文章:http://www.blogjava.net/chenlb/archive/2008/07/03/212293.html

用ssh localhost试一下是否免密码登录。

格式化分布式文件系统:
[chenlb@master hadoop-0.17.1]$ bin/hadoop namenode -format

启动Hadoop:
[chenlb@master hadoop-0.17.1]$ bin/start-all.sh 

默认可以在${HADOOP_HOME}/logs里看到日志。

可以用web看浏览NameNode和JobTracker
  • NameNode - http://localhost:50070/
  • JobTracker - http://localhost:50030/


    把文件放到分布式文件系统里:

    [chenlb@master hadoop-0.17.1]$ bin/hadoop dfs -put conf input

    此时已经在分布文件系统里建立了input文件夹。而conf是本地的文件夹。

    执行示例:
    [chenlb@master hadoop-0.17.1]$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'

    这里input和output都是分布式文件系统的的文件夹,而且output在分布式文件系统里不存在,否则报错(也可以先删除它bin/badoop dfs -rmr output)。

    耐心等待。结束后可以查看。
    [chenlb@master hadoop-0.17.1]$ bin/hadoop dfs -get output output 
    [chenlb
    @master hadoop-0.17.1]$ cat output/* 

    也可以直接在分布式文件系统里查:
    [chenlb@master hadoop-0.17.1]$ bin/hadoop dfs -cat output/*

    成功运行后可以关闭它了:
    [chenlb@master hadoop-0.17.1]$ bin/stop-all.sh

    我在第2阶段,出了些问题:output已经存在,要先删除它(第二次运行前,可以不用output)。

    下一篇讲:Fully-Distributed Mode http://www.blogjava.net/chenlb/archive/2008/08/11/221314.html
  • posted @ 2008-08-11 15:28 流浪汗 阅读(635) | 评论 (2)编辑 收藏
    在linux下改了ip地址后,不能立即生效。以前是重启机器,我觉得这样很傻,后来知道网卡可以重启。

    /etc/init.d/network restart
    posted @ 2008-08-11 09:34 流浪汗 阅读(1036) | 评论 (1)编辑 收藏
      2008年8月7日
    一直想了解分布搜索与索引。Lucene有MultiSearcher,solr1.2的只能有单个索引,现在1.3可以有Distributed Searching这玩意。可以从多个索引里搜索出并合并结果返回给你。这些索引不是replication的,是分割的。可以先%num方式索引在num台机器上,然后用solr的shards参数。

    如:
    shards=localhost:8080/use-solr1.3,localhost:9080/use-solr1.3&q=chenlb

    测试后可以返回结果,但合并的时候发了点时间,我的机子上40-60ms,单个搜索基本是0ms

    测试数据是14W结果,分开索引到两个tomcat里。看了后台,一个搜索有两次请求,其中合并的那机子是三次请求。时间可能花在请求里,还有就是合并可能缓存不到。

    官方建议:如果单个solr足够快的话没有必要搞Distributed Searching,如果再高点要求可以index repliction。

    当索引很大的时候可能Distributed Searching用的上场, 个人之见。

    参考:http://wiki.apache.org/solr/DistributedSearch
    posted @ 2008-08-07 18:31 流浪汗 阅读(204) | 评论 (0)编辑 收藏
    仅列出标题  下一页