Changes between Version 4 and Version 5 of waue/2009/0409
- Timestamp:
- Apr 9, 2009, 6:31:49 PM (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
waue/2009/0409
v4 v5 23 23 24 24 * 25 = = step 1 安裝好Hadoop叢集 ==25 = step 1 安裝好Hadoop叢集 = 26 26 27 27 * 可以參考這篇 [wiki:0330Hadoop_Lab3 hadoop叢集安裝] … … 29 29 * 安裝好hadoop 叢集之後,/opt/的權限就是使用者的了,並且ssh登入兩台都免密碼,hadoop也能正常執行,並且安裝於/opt/hadoop下,設定檔在 /opt/conf 30 30 31 = = step 2 下載與安裝 ==32 33 == = 2.1 下載 nutch 並解壓縮 ===31 = step 2 下載與安裝 = 32 33 == 2.1 下載 nutch 並解壓縮 == 34 34 * nutch 1.0 (2009/03/28 release ) 35 35 {{{ … … 39 39 $ mv nutch-1.0.tar.gz nutch 40 40 }}} 41 == = 2.2 部屬hadoop,nutch目錄結構 ===41 == 2.2 部屬hadoop,nutch目錄結構 == 42 42 {{{ 43 43 $ mv nutch/conf ./nutch_conf … … 48 48 * 以上的目錄結構在於nutch與hadoop分離,主程式與設定檔分離,(日誌檔則統一被紀錄到/tmp中),這樣的目的在於,要刪除nutch的話直接移除目錄就好,不會動到原本的hadoop。 49 49 50 = = step 3 編輯設定檔 ==50 = step 3 編輯設定檔 = 51 51 * 所有的設定檔都在 /opt/nutch_conf 下 52 == = 3.1 hadoop-env.sh ===52 == 3.1 hadoop-env.sh == 53 53 * 將原本的檔案hadoop-env.sh任意處填入 54 54 {{{ … … 69 69 * ps:強烈建議寫入 /etc/bash.bashrc 中比較萬無一失!! 70 70 71 == = 3.2 hadoop-site.xml ===71 == 3.2 hadoop-site.xml == 72 72 {{{ 73 73 #!sh 74 74 <configuration> 75 76 75 <property> 77 78 76 <name>fs.default.name</name> 79 80 77 <value>hdfs://node1:9000/</value> 81 82 78 <description> </description> 83 84 79 </property> 85 86 80 <property> 87 88 81 <name>mapred.job.tracker</name> 89 90 82 <value>node1:9001</value> 91 92 83 <description> </description> 93 94 84 </property> 95 96 85 <property> 97 98 86 <name>hadoop.tmp.dir</name> 99 100 87 <value>/tmp/hadoop/hadoop-${user.name}</value> 101 102 88 <description> </description> 103 104 89 </property> 105 106 90 </configuration> 107 91 }}} 108 == = 3.3 nutch-site.xml ===109 * 重要的設定檔,新增了必要的內容於內,然而想要 了解更多參數資訊,請見nutch-default.xml92 == 3.3 nutch-site.xml == 93 * 重要的設定檔,新增了必要的內容於內,然而想要瞭解更多參數資訊,請見nutch-default.xml 110 94 {{{ 111 95 #!sh … … 133 117 </property> 134 118 <property> 135 136 119 <name>plugin.folders</name> 137 138 120 <value>/opt/nutch/plugins</value> 139 140 121 <description>Directories where nutch plugins are located. </description> 141 142 </property> 143 144 <property> 145 122 </property> 123 <property> 146 124 <name>plugin.includes</name> 147 148 125 <value>protocol-(http|httpclient)|urlfilter-regex|parse-(text|html|js|ext|msexcel|mspowerpoint|msword|oo|pdf|rss|swf|zip)|index-(more|basic|anchor)|query-(more|basic|site|url)|response-(json|xml)|summary-basic|scoring-opic|urlnormalizer-(pass|regex|basic)</value> 149 150 126 <description> Regular expression naming plugin directory names</description> 151 152 </property> 153 127 </property> 154 128 <property> 155 156 129 <name>parse.plugin.file</name> 157 158 130 <value>parse-plugins.xml</value> 159 160 131 <description>The name of the file that defines the associations between 161 162 132 content-types and parsers.</description> 163 164 </property> 165 133 </property> 166 134 <property> 167 168 135 <name>db.max.outlinks.per.page</name> 169 170 136 <value>-1</value> 171 172 137 <description> </description> 173 174 </property> 175 138 </property> 176 139 <property> 177 178 140 <name>http.content.limit</name> 179 180 141 <value>-1</value> 181 182 </property> 183 184 <property> 185 186 <property> 187 142 </property> 143 <property> 144 <property> 188 145 <name>indexer.mergeFactor</name> 189 190 146 <value>500</value> 191 192 <description>The factor that determines the frequency of Lucene segment 193 194 merges. </description> 195 196 </property> 197 198 199 <property> 200 147 <description>The factor that determines the frequency of Lucene segment merges. </description> 148 </property> 149 <property> 201 150 <name>indexer.minMergeDocs</name> 202 203 151 <value>500</value> 204 205 152 <description>This number determines the minimum number of Lucene. </description> 206 207 </property> 208 153 </property> 209 154 </configuration> 210 155 }}} 211 == = 3.4 slaves ===156 == 3.4 slaves == 212 157 213 158 * 這個檔不用設定,因為依照hadoop的叢集環境,下面列出我們環境所設定的 … … 217 162 node2 218 163 }}} 219 == = 3.5 crawl-urlfilter.txt ===164 == 3.5 crawl-urlfilter.txt == 220 165 * 重新編輯爬檔規則,此檔重要在於若設定不好,則爬出來的結果幾乎是空的,也就是說最後你的搜尋引擎都找不到資料啦! 221 166 {{{ … … 231 176 }}} 232 177 233 == = 3.6 regex-urlfilter.txt ===178 == 3.6 regex-urlfilter.txt == 234 179 * 雖然官方網站鮮少介紹到此檔,但是crawl-urlfilter.txt用來設定爬intranet的規則,而regex-urlfilter.txt則是用來設定爬internet的規則 235 180 … … 240 185 }}} 241 186 242 = = step 4 執行nutch ==187 = step 4 執行nutch = 243 188 244 189 * 在此假設你已經把hadoop 啟動並且正在運作了。因此nutch是利用這個已經在運做的平台上 … … 251 196 }}} 252 197 253 == = 4.1 編輯url清單 ===198 == 4.1 編輯url清單 == 254 199 {{{ 255 200 $ mkdir urls … … 262 207 }}} 263 208 264 == = 4.2 上傳清單到HDFS ===209 == 4.2 上傳清單到HDFS == 265 210 {{{ 266 211 $ bin/hadoop -put urls urls 267 212 }}} 268 == = 4.3 執行nutch crawl ===213 == 4.3 執行nutch crawl == 269 214 * 用下面的指令就可以命令nutch開始工作了,之後map reduce會瘋狂工作 270 215 {{{ … … 277 222 * 在nutch運作的同時,可以在node1節點用瀏覽器,透過 [http://localhost:50030 job管理頁面],[http://localhost:50070 hdfs管理頁面],[http://localhost:50060 程序運作頁面] 來監看程序。 278 223 279 = = step 5 瀏覽搜尋結果 ==224 = step 5 瀏覽搜尋結果 = 280 225 * nutch 在 step 4 的工作是把你寫在urls.txt檔內的網址,用map reduce的程序來進行資料分析,但是分析完之後,要透過tomcat來觀看結果。以下就是安裝與設定你的客製化搜尋引擎的步驟。 281 226 282 == = 5.1 安裝tomcat ===227 == 5.1 安裝tomcat == 283 228 * 下載tomcat 284 229 {{{ … … 293 238 }}} 294 239 295 == = 5.1 tomcat server設定 ===240 == 5.1 tomcat server設定 == 296 241 297 242 * 修改 /opt/tomcat/conf/server.xml 以修正中文亂碼問題 … … 303 248 useBodyEncodingForURI="true" /> 304 249 }}} 305 == = 5.3 下載crawl結果===250 == 5.3 下載crawl結果 == 306 251 307 252 * 先把放在hdfs上,nutch的運算結果下載到local端 … … 311 256 }}} 312 257 313 == = 5.4 設定nutch的搜尋引擎頁面到tomcat ===258 == 5.4 設定nutch的搜尋引擎頁面到tomcat == 314 259 315 260 * 把nutch的搜尋引擎頁面取代為tomcat的webapps/ROOT … … 324 269 $ mv /opt/nutch/web /opt/tomcat/webapps/ROOT 325 270 }}} 326 == = 5.5 設定搜尋引擎內容的來源路徑 ===271 == 5.5 設定搜尋引擎內容的來源路徑 == 327 272 * 5.4的步驟雖然設定好搜尋引擎的頁面,然而其只能當作是介面而已,因此這個步驟把要搜尋的內容與搜尋介面做個連結 328 273 {{{ … … 340 285 }}} 341 286 342 == = 5.6 啟動tomcat ===287 == 5.6 啟動tomcat == 343 288 {{{ 344 289 $ /opt/tomcat/bin/startup.sh 345 290 }}} 346 291 347 = = step 6 享受結果 ==292 = step 6 享受結果 = 348 293 349 294 Enjoy ! [http://localhost:8080]