Changes between Version 11 and Version 12 of MR_manual


Ignore:
Timestamp:
Jun 13, 2008, 4:24:57 PM (16 years ago)
Author:
waue
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MR_manual

    v11 v12  
    22
    33 = Map Reduce in Hadoop/HBase Manual (開發手冊) =
    4  == 一、介紹 ==
     4 = 一、介紹 =
    55Title: 雲端技術開發[[BR]]
    66Research Group : NCHC Cloud Technique Development Group[[BR]]
    77Editor : Waue Chen、Sunny、Chwhs、Zsjheng[[BR]]
    88
    9  === 1.1 簡介 ===
     9 == 1.1 簡介 ==
    1010 * 近來雲端技術這個名詞由Google、Yahoo這兩個網路龍頭的推波助瀾而刮起旋風,連微軟也宣稱下一代的作業系統為"雲端系統",因此雲端技術勢必為新的趨勢。國網中心為台灣重要的電腦技術研究中心,因此成立團隊開啟雲端技術的研究。[[BR]]
    1111 * 本篇文章探討開源碼專案Hadoop以及HBase,第一章從概念開始介紹起,並在第二、三章詳細的說明如何安裝、設定及運行;第四章探討此系統的效能測試;前一部分介紹如何使用,後一部分開始偏重如何編寫Map Reduce的程式,因此在第五章介紹如何透過Eclipse建立起編程環境;第六章探討Map-Reduce的範例程式碼,最後附上相關連結。
    12  === 1.2 雲端運算 ===
     12 == 1.2 雲端運算 ==
    1313雲端運算(cloud computing),分散式運算技術的一種,其最基本的概念,是透過網路將龐大的運算處理程序自動分拆成無數個較小的子程序,再交由多部伺服器所組成的龐大系統經搜尋、運算分析之後將處理結果回傳給用戶。透過這項技術,網路服務提供者可以在數秒之內,達成處理數以千萬計甚至億計的資訊,達到和「超級電腦」同樣強大效能的網路服務。[[BR]]
    1414最簡單的雲端運算技術在網路服務中已經隨處可見,例如搜尋引擎,使用者只要輸入簡單指令即能得到大量資訊。
     
    1616進一步的雲端運算不僅只做資料搜尋、分析的功能,未來如分析DNA結構、基因圖譜定序、解析癌症細胞等,都可以透過這項技術輕易達成。
    1717[http://zh.wikipedia.org/wiki/%E9%9B%B2%E7%AB%AF%E9%81%8B%E7%AE%97 copied by wikipedia]
    18  === 1.3 Hadoop ===
     18 == 1.3 Hadoop ==
    1919
    2020談到Hadoop就不得不提到Lucene和Nutch。首先,Lucene並不是一個應用程序,而是提供了一個純Java的高性能全文索引引擎工具包,它可以方便的嵌入到各種實際應用中實現全文搜索/索引功能。Nutch是一個應用程序,是一個以Lucene為基礎實現的搜索引擎應用,Lucene 為Nutch提供了文本搜索和索引的API,Nutch不光有搜索的功能,還有數據抓取的功能。在nutch0.8.0版本之前,Hadoop還屬於 Nutch的一部分,而從nutch0.8.0開始,將其中實現的NDFS和MapReduce剝離出來成立一個新的開源項目,這就是Hadoop,而 nutch0.8.0版本較之以前的Nutch在架構上有了根本性的變化,那就是完全構建在Hadoop的基礎之上了。在Hadoop中實現了 Google的GFS和MapReduce算法,使Hadoop成為了一個分佈式的計算平台。[[BR]]
     
    3131[http://www.cnblogs.com/wayne1017/archive/2007/03/18/668768.html copied from Hadoop學習筆記一簡要介紹]
    3232
    33  === 1.4 HBase ===
     33 == 1.4 HBase ==
    3434HBase是Hadoop中的一個簡單數據庫。它與Google的Bigtable特別相似。[[BR]]
    3535HBase數據庫使用了和Bigtable非常相似的數據模型。用戶在表格里存儲許多數據行。每個數據行都包括一個可排序的關鍵字,和任意數目的列。表格是稀疏的,所以同一個表格里的行可能有非常不同的列,只要用戶喜歡這樣做。[[BR]]
     
    3939所有數據庫更新操作都有時間戳。HBase對每個數據單元,只存儲指定個數的最新版本。客戶端可以查詢「從某個時刻起的最新數據」,或者一次得到所有的數據版本。
    4040[http://tech.ccidnet.com/art/5833/20080318/1393525_1.html copied from 詳細講解HBase]
    41  == 二、環境設定 ==
    42  == 三、執行 ==
     41 = 二、環境設定 =
     42
     43 == 2.1 Prepare ==
     44System :
     45 * Ubuntu 7.10
     46 * Hadoop 0.16
     47 * Requirement :
     48 * Eclipse   (3.2.2)
     49{{{
     50$ apt-get install eclipse
     51}}}
     52java 6 
     53{{{
     54$ apt-get install sun-java6-bin sun-java6-jdk sun-java6-jre sun-java6-plugin
     55}}}
     56suggest to remove the default java compiler “ gcj ”
     57{{{
     58$ apt-get purge java-gcj-compat
     59}}}
     60Append two codes to /etc/bash.bashrc to setup Java Class path
     61{{{
     62export JAVA_HOME=/usr/lib/jvm/java-6-sun
     63export HADOOP_HOME=/home/waue/workspace/hadoop/
     64export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
     65}}}
     66Building UP Path
     67 || Name || Path ||
     68 || Hadoop Home || /home/waue/workspace/hadoop/ ||
     69 || Java Home || /usr/lib/jvm/java-6-sun ||
     70
     71 == 2.2 Hadoop Setup ==
     72 === 2.2.1. Generate an SSH key for the user ===
     73{{{
     74$ ssh-keygen -t rsa -P ""
     75$ cat ~/.ssh/id_rsa.pub >> ~.ssh/authorized_keys
     76$ ssh localhost
     77$ exit
     78}}}
     79 === 2.2.2. Installation Hadoop ===
     80{{{
     81 $ cd /home/waue/workspace
     82 $ sudo tar xzf hadoop-0.16.0.tar.gz
     83 $ sudo mv hadoop-0.16.0 hadoop
     84 $ sudo chown -R waue:waue hadoop
     85 $ cd hadoop
     86}}}
     87 === 2.2.3. Configuration ===
     88 1. hadoop-env.sh    ($HADOOP_HOME/conf/) [[BR]]
     89Change
     90{{{
     91 # The java implementation to use.  Required.
     92 # export JAVA_HOME=/usr/lib/j2sdk1.5-sun
     93}}}
     94to
     95{{{             
     96 # The java implementation to use.  Required.
     97export JAVA_HOME=/usr/lib/jvm/java-6-sun
     98export HADOOP_HOME=/home/waue/workspace/hadoop
     99export HADOOP_LOG_DIR=$HADOOP_HOME/logs
     100export HADOOP_SLAVES=$HADOOP_HOME/conf/slaves
     101}}}
     102 2. hadoop-site.xml  ($HADOOP_HOME/conf/)[[BR]]
     103modify the contents of conf/hadoop-site.xml as below
     104{{{
     105<configuration>
     106<property>
     107  <name>fs.default.name</name>
     108  <value>localhost:9000</value>
     109  <description>
     110  </description>
     111</property>
     112<property>
     113  <name>mapred.job.tracker</name>
     114  <value>localhost:9001</value>
     115  <description>
     116  </description>
     117<property>
     118  <name>mapred.map.tasks</name>
     119  <value>1</value>
     120  <description>
     121    define mapred.map tasks to be number of slave hosts
     122  </description>
     123</property>
     124<property>
     125  <name>mapred.reduce.tasks</name>
     126  <value>1</value>
     127  <description>
     128    define mapred.reduce tasks to be number of slave hosts
     129  </description>
     130</property>
     131<property>
     132  <name>dfs.replication</name>
     133  <value>1</value>
     134</property>
     135</configuration>
     136}}}
     137
     138 = 三、執行 =
     139 4.Start Up Hadoop [[br]]
     140
     141 $ cd $HADOOP_HOME [[br]]
     142 $ bin/hadoop namenode -format [[br]]
     143{{{
     14408/05/23 14:52:16 INFO dfs.NameNode: STARTUP_MSG:
     145/************************************************************
     146STARTUP_MSG: Starting NameNode
     147STARTUP_MSG:   host = Dx7200/127.0.1.1
     148STARTUP_MSG:   args = [-format]
     149STARTUP_MSG:   version = 0.16.4
     150STARTUP_MSG:   build = http://svn.apache.org/repos/asf/hadoop/core/branches/branch-0.16 -r 652614; compiled by 'hadoopqa' on Fri May  2 00:18:12 UTC 2008
     151************************************************************/
     15208/05/23 14:52:17 INFO fs.FSNamesystem: fsOwner=waue,waue,adm,dialout,cdrom,floppy,audio,dip,video,plugdev,staff,scanner,lpadmin,admin,netdev,powerdev,vboxusers
     15308/05/23 14:52:17 INFO fs.FSNamesystem: supergroup=supergroup
     15408/05/23 14:52:17 INFO fs.FSNamesystem: isPermissionEnabled=true
     15508/05/23 14:52:17 INFO dfs.Storage: Storage directory /tmp/hadoop-waue/dfs/name has been successfully formatted.
     15608/05/23 14:52:17 INFO dfs.NameNode: SHUTDOWN_MSG:
     157/************************************************************
     158SHUTDOWN_MSG: Shutting down NameNode at Dx7200/127.0.1.1
     159************************************************************/
     160}}}
     161 $ /bin/start-all.sh [[br]]
     162{{{
     163starting namenode, logging to /home/waue/workspace/hadoop/logs/hadoop-waue-namenode-Dx7200.out
     164localhost: starting datanode, logging to /home/waue/workspace/hadoop/logs/hadoop-waue-datanode-Dx7200.out
     165localhost: starting secondarynamenode, logging to /home/waue/workspace/hadoop/logs/hadoop-waue-secondarynamenode-Dx7200.out
     166starting jobtracker, logging to /home/waue/workspace/hadoop/logs/hadoop-waue-jobtracker-Dx7200.out
     167localhost: starting tasktracker, logging to /home/waue/workspace/hadoop/logs/hadoop-waue-tasktracker-Dx7200.out
     168}}}
     169Then make sure http://localhost:50030/ by your explorer is on going.  [[br]]
     170
     171 * Ps : if your system had error after restart, you could do there for resolving and renewing one. And repeat to “4. start up Hadoop”
     172{{{
     173 $ cd $HADOOP_HOME
     174 $ bin/stop-all.sh
     175 $ rm -rf /tmp/*
     176 $ rm -rf  logs/*
     177}}}
     178
    43179 == 四、效能測試 ==
    44180 == 五、開發程式 ==