用unzip
unzip myfile.zip
上一篇記錄了本機(jī)模式我虛擬分布模式。
http://www.aygfsteel.com/chenlb/archive/2008/08/11/221311.html
現(xiàn)我在虛擬機(jī)里開三臺(tái)機(jī)子,分別命名為:master(172.16.249.210),slave-1(172.16.249.211),slave-2(172.16.249.212)。
master可以無(wú)密碼登錄到slave機(jī)。
每臺(tái)機(jī)子都匹配ip對(duì)應(yīng)名。
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
格式化后可以啟動(dòng)了:
[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
Required Software
- JavaTM 1.5.x
- ssh與sshd
如果沒有安裝請(qǐng)自行安裝。我以CentOS 4.6為例。
下載hadoop,http://apache.mirror.phpchina.com/hadoop/core/ 我下載的是0.17.1版本。
解壓hadoop-0.17.1.tar.gz,然后conf/hadoop-env.sh 設(shè)置JAVA_HOME ,我是可JAVA_HOME 去注釋,值自己的路徑。如:
export JAVA_HOME=/usr/java/jdk1.6.0_06
如果不設(shè)置啟動(dòng)后用不了。
先從簡(jiǎn)單開始。
1、Local (Standalone) Mode ,叫單機(jī)模式。
[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/*
如果,正常可以看到內(nèi)容。像這樣。
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里添加本機(jī)ip對(duì)應(yīng)master,例如我的:172.16.249.210 master
保證可以無(wú)密碼登錄。請(qǐng)看那一篇文章:
http://www.aygfsteel.com/chenlb/archive/2008/07/03/212293.html
用ssh localhost試一下是否免密碼登錄。
格式化分布式文件系統(tǒng):
[chenlb@master hadoop-0.17.1]$ bin/hadoop namenode -format
啟動(dòng)Hadoop:
[chenlb@master hadoop-0.17.1]$ bin/start-all.sh
默認(rèn)可以在
${HADOOP_HOME}/logs里看到日志。
可以用web看瀏覽NameNode和JobTracker
NameNode - http://localhost:50070/
JobTracker - http://localhost:50030/
把文件放到分布式文件系統(tǒng)里:
[chenlb@master hadoop-0.17.1]$ bin/hadoop dfs -put conf input
此時(shí)已經(jīng)在分布文件系統(tǒng)里建立了input文件夾。而conf是本地的文件夾。
執(zhí)行示例:
[chenlb@master hadoop-0.17.1]$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'
這里input和output都是分布式文件系統(tǒng)的的文件夾,而且output在分布式文件系統(tǒng)里不存在,否則報(bào)錯(cuò)(也可以先刪除它bin/badoop dfs -rmr output)。
耐心等待。結(jié)束后可以查看。
[chenlb@master hadoop-0.17.1]$ bin/hadoop dfs -get output output
[chenlb@master hadoop-0.17.1]$ cat output/*
也可以直接在分布式文件系統(tǒng)里查:
[chenlb@master hadoop-0.17.1]$ bin/hadoop dfs -cat output/*
成功運(yùn)行后可以關(guān)閉它了:
[chenlb@master hadoop-0.17.1]$ bin/stop-all.sh
我在第2階段,出了些問題:output已經(jīng)存在,要先刪除它(第二次運(yùn)行前,可以不用output)。
下一篇講:Fully-Distributed Mode http://www.aygfsteel.com/chenlb/archive/2008/08/11/221314.html
在linux下改了ip地址后,不能立即生效。以前是重啟機(jī)器,我覺得這樣很傻,后來(lái)知道網(wǎng)卡可以重啟。
/etc/init.d/network restart
一直想了解分布搜索與索引。Lucene有MultiSearcher,solr1.2的只能有單個(gè)索引,現(xiàn)在1.3可以有Distributed Searching這玩意。可以從多個(gè)索引里搜索出并合并結(jié)果返回給你。這些索引不是replication的,是分割的。可以先%num方式索引在num臺(tái)機(jī)器上,然后用solr的shards參數(shù)。
如:
shards=localhost:8080/use-solr1.3,localhost:9080/use-solr1.3&q=chenlb
測(cè)試后可以返回結(jié)果,但合并的時(shí)候發(fā)了點(diǎn)時(shí)間,我的機(jī)子上40-60ms,單個(gè)搜索基本是0ms
測(cè)試數(shù)據(jù)是14W結(jié)果,分開索引到兩個(gè)tomcat里。看了后臺(tái),一個(gè)搜索有兩次請(qǐng)求,其中合并的那機(jī)子是三次請(qǐng)求。時(shí)間可能花在請(qǐng)求里,還有就是合并可能緩存不到。
官方建議:如果單個(gè)solr足夠快的話沒有必要搞Distributed Searching,如果再高點(diǎn)要求可以index repliction。
當(dāng)索引很大的時(shí)候可能Distributed Searching用的上場(chǎng), 個(gè)人之見。
參考:
http://wiki.apache.org/solr/DistributedSearch
html 與 xml的轉(zhuǎn)義符不同, xml就只有5個(gè):
< |
< |
> |
> |
& |
& |
" |
" |
' |
' |
xml沒有
我比較喜歡免安裝版(非安裝版)的mysql,
下載如: mysql-noinstall-5.0.45-win32.zip
把它解壓到如: E:/mysql-5.0.45, 當(dāng)然可以任意位置。
然后改my-medium.ini文件為my.ini,當(dāng)然也可以不改名,但要改內(nèi)容
basedir="E:/mysql-5.0.45/"
datadir="E:/mysql-5.0.45/Data/"
如果上面,最好加個(gè)字符集,在[mysqld]和[mysql]下面加
default-character-set=utf8
當(dāng)然可能是其它字符集, 如:gbk
寫個(gè)mysql-startup.bat
"E:\mysql-5.0.45\bin\mysqld" --defaults-file="E:\mysql-5.0.45\my.ini"
雙擊mysql-startup.bat即可啟動(dòng)。
用mysqladmin關(guān)閉mysql服務(wù):
E:/mysql-5.0.45/bin/mysqladmin -u root shutdown
^_^
想讓Tomcat支持ssi,一般是shtml文件。配置比較簡(jiǎn)單。
默認(rèn)tomcat不支持ssi。
現(xiàn)以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>
-->
找到上面的內(nèi)容,去掉注釋。
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/>
現(xiàn)在可以,
http://localhost:8080/test/index.shtml 有結(jié)果了。
有一個(gè)項(xiàng)目的代碼提交是用https協(xié)議的。一提交的時(shí)候出現(xiàn)如下錯(cuò)誤:
svn: PROPFIND request failed on '/svn/trunk/xxx'
svn: PROPFIND of '/svn/trunk/xxx': Could not create SSL connection through proxy server (https://
.
這下郁悶,看了下eclipse設(shè)置,又沒有設(shè)代理。google一下,看到一個(gè)郵件列表,有一個(gè)字眼“TSVN”。哦,快去看看TortoiseSVN。任意一個(gè)目錄右擊->TortoiseSVN->設(shè)置->網(wǎng)絡(luò),有學(xué)校時(shí)用的代理。去掉一試,好了沒錯(cuò)了。
前端時(shí)間用Subclipse時(shí),一定要安裝TortoiseSVN才可保存密碼,現(xiàn)在又TortoiseSVN的設(shè)置Subclipse又有效。帶著探索心去看eclipse的設(shè)置。Team->svn那里有一個(gè)選項(xiàng):
SVN接口:
1.JavaHL(JNI)
2.SVNkit(純Java)
原來(lái)選的是JavaHL(JNI),現(xiàn)在明白了。改用SVNkit試一下,現(xiàn)在的subclipse不會(huì)理TortoiseSVN了。
有些windows操作系統(tǒng)被人"強(qiáng)奸"過的, 導(dǎo)致語(yǔ)言欄變灰色,無(wú)法顯示,在任務(wù)欄里不顯示.
一般是ctfmon.exe問題. 看下C:\windows\system32\ctfmon.exe文件. 沒有就下載
http://www.aygfsteel.com/Files/chenlb/ctfmon_xp.rar
安裝它,
然后在: 控制面板->區(qū)域和語(yǔ)言選項(xiàng)->語(yǔ)言->詳細(xì)信息->高級(jí)->去掉"關(guān)閉高級(jí)文字服務(wù)"
即可.
那一種(百度知道):
http://zhidao.baidu.com/question/31477300.html
看你是使用2003 還是XP系統(tǒng)
要是XP系統(tǒng)的話了就設(shè)置兩個(gè)地方
1.開始,運(yùn)行,msconfig,勾選ctfmon.exe
控制面板--區(qū)域和語(yǔ)言選項(xiàng)--語(yǔ)言--詳細(xì)信息--高級(jí)--不要選“關(guān)閉高級(jí)文字服務(wù)”
2.開始--控制面板--日期、時(shí)間、語(yǔ)言和區(qū)域設(shè)置--區(qū)域和語(yǔ)言選擇--語(yǔ)言--詳細(xì)信息--語(yǔ)言欄(選擇在桌面顯示語(yǔ)言欄 還有 選擇:在任務(wù)欄中顯示其他語(yǔ)言欄圖標(biāo))
參考:
http://www.nvyouwm.cn/html/jishuwendang/huanjingpeizhi/20080602/266_2.html