随笔-153  评论-235  文章-19  trackbacks-0
 
用unzip

unzip myfile.zip
posted @ 2008-09-02 16:03 流浪汗 阅读(721) | 评论 (0)编辑 收藏
上一篇记录了本机模式我虚拟分布模式。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 流浪汗 阅读(651) | 评论 (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 流浪汗 阅读(4621) | 评论 (2)编辑 收藏
    在linux下改了ip地址后,不能立即生效。以前是重启机器,我觉得这样很傻,后来知道网卡可以重启。

    /etc/init.d/network restart
    posted @ 2008-08-11 09:34 流浪汗 阅读(5917) | 评论 (1)编辑 收藏
    一直想了解分布搜索与索引。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 流浪汗 阅读(930) | 评论 (0)编辑 收藏
    html 与 xml的转义符不同, xml就只有5个:

    < &lt;
    > &gt;
    & &amp;
    " &quot;
    ' &apos;


    xml没有&nbsp;
    posted @ 2008-08-06 12:40 流浪汗 阅读(13899) | 评论 (2)编辑 收藏
    我比较喜欢免安装版(非安装版)的mysql,

    下载如: mysql-noinstall-5.0.45-win32.zip

    把它解压到如: E:/mysql-5.0.45, 当然可以任意位置。

    然后改my-medium.ini文件为my.ini,当然也可以不改名,但要改内容

    basedir="E:/mysql-5.0.45/"

    datadir
    ="E:/mysql-5.0.45/Data/"

    如果上面,最好加个字符集,在[mysqld]和[mysql]下面加
    default-character-set=utf8

    当然可能是其它字符集, 如:gbk

    写个mysql-startup.bat
    "E:\mysql-5.0.45\bin\mysqld" --defaults-file="E:\mysql-5.0.45\my.ini"

    双击mysql-startup.bat即可启动。

    用mysqladmin关闭mysql服务:
    E:/mysql-5.0.45/bin/mysqladmin -u root shutdown


    ^_^
    posted @ 2008-08-03 16:22 流浪汗 阅读(2869) | 评论 (1)编辑 收藏
        想让Tomcat支持ssi,一般是shtml文件。配置比较简单。

    默认tomcat不支持ssi。

    现以tomcat5.5.x为例。

    改conf/web.xml配置。

    有两种方式:一是servlet,二是filter。

    servlet方式的:
    <!--
        <servlet>
            <servlet-name>ssi</servlet-name>
            <servlet-class>
              org.apache.catalina.ssi.SSIServlet
            </servlet-class>
            <init-param>
              <param-name>buffered</param-name>
              <param-value>1</param-value>
            </init-param>
            <init-param>
              <param-name>debug</param-name>
              <param-value>0</param-value>
            </init-param>
            <init-param>
              <param-name>expires</param-name>
              <param-value>666</param-value>
            </init-param>
            <init-param>
              <param-name>isVirtualWebappRelative</param-name>
              <param-value>0</param-value>
            </init-param>
            <load-on-startup>4</load-on-startup>
        </servlet>
    -->

    <!--
        <servlet-mapping>
            <servlet-name>ssi</servlet-name>
            <url-pattern>*.shtml</url-pattern>
        </servlet-mapping>
    -->

    找到上面的内容,去掉注释。

    filter方式:
    <!--
        <filter>
            <filter-name>ssi</filter-name>
            <filter-class>
              org.apache.catalina.ssi.SSIFilter
            </filter-class>
            <init-param>
              <param-name>contentType</param-name>
              <param-value>text/x-server-parsed-html(;.*)?</param-value>
            </init-param>
            <init-param>
              <param-name>debug</param-name>
              <param-value>0</param-value>
            </init-param>
            <init-param>
              <param-name>expires</param-name>
              <param-value>666</param-value>
            </init-param>
            <init-param>
              <param-name>isVirtualWebappRelative</param-name>
              <param-value>0</param-value>
            </init-param>
        </filter>
    -->

    <!--
        <filter-mapping>
            <filter-name>ssi</filter-name>
            <url-pattern>*.shtml</url-pattern>
        </filter-mapping>
    -->

    同样是去掉上面的注释。但是filter方式的还要加mime-mapping=text/x-server-parsed-html
    <!--
        <mime-mapping>
            <extension>shtml</extension>
            <mime-type>text/x-server-parsed-html</mime-type>
        </mime-mapping>
    -->

    去掉mime-mapping的shtml注释。

    在test的web试下:
    index.shtml
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>ssi 示例</title>
    </head>

    <body>
    ssi area 
    <!--#include virtual="ssi.html" -->
    <p>

            footer 
    <!--#include virtual="footer.html" --><p>
            
            
    <p>
                
    <!--#config timefmt="%D" -->
            Me last modified 
    <!--#echo var="LAST_MODIFIED" -->

    </body>
    </html>

    footer.html
    <ul>
        
    <li>index</li>
        
    <li>about</li>
    </ul>

    ssi.html
    <p>this is ssi.html file</p><p>
    <p>中文</p>
    ssi.html file end
    <p/>


    现在可以,http://localhost:8080/test/index.shtml 有结果了。
    posted @ 2008-07-27 21:55 流浪汗 阅读(1287) | 评论 (0)编辑 收藏
        有一个项目的代码提交是用https协议的。一提交的时候出现如下错误:

    svn: PROPFIND request failed on '/svn/trunk/xxx'
    svn: PROPFIND of '/svn/trunk/xxx': Could not create SSL connection through proxy server (https://.

        这下郁闷,看了下eclipse设置,又没有设代理。google一下,看到一个邮件列表,有一个字眼“TSVN”。哦,快去看看TortoiseSVN。任意一个目录右击->TortoiseSVN->设置->网络,有学校时用的代理。去掉一试,好了没错了。

        前端时间用Subclipse时,一定要安装TortoiseSVN才可保存密码,现在又TortoiseSVN的设置Subclipse又有效。带着探索心去看eclipse的设置。Team->svn那里有一个选项:

    SVN接口:
    1.JavaHL(JNI)
    2.SVNkit(纯Java)

    原来选的是JavaHL(JNI),现在明白了。改用SVNkit试一下,现在的subclipse不会理TortoiseSVN了。

    posted @ 2008-07-26 13:34 流浪汗 阅读(3436) | 评论 (0)编辑 收藏
    有些windows操作系统被人"强奸"过的, 导致语言栏变灰色,无法显示,在任务栏里不显示.

    一般是ctfmon.exe问题. 看下C:\windows\system32\ctfmon.exe文件. 没有就下载

    http://www.blogjava.net/Files/chenlb/ctfmon_xp.rar

    安装它,

    然后在: 控制面板->区域和语言选项->语言->详细信息->高级->去掉"关闭高级文字服务"

    即可.

    那一种(百度知道): http://zhidao.baidu.com/question/31477300.html

    看你是使用2003 还是XP系统

    要是XP系统的话了就设置两个地方
    1.开始,运行,msconfig,勾选ctfmon.exe

    控制面板--区域和语言选项--语言--详细信息--高级--不要选“关闭高级文字服务”
    2.开始--控制面板--日期、时间、语言和区域设置--区域和语言选择--语言--详细信息--语言栏(选择在桌面显示语言栏 还有 选择:在任务栏中显示其他语言栏图标)

    参考: http://www.nvyouwm.cn/html/jishuwendang/huanjingpeizhi/20080602/266_2.html
    posted @ 2008-07-12 13:26 流浪汗 阅读(7376) | 评论 (9)编辑 收藏
    仅列出标题
    共16页: 上一页 1 2 3 4 5 6 7 8 9 下一页 Last