Changes between Initial Version and Version 1 of III131019/Lab7


Ignore:
Timestamp:
Oct 19, 2013, 12:34:38 AM (11 years ago)
Author:
jazz
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • III131019/Lab7

    v1 v1  
     1[[PageOutline]]
     2
     3◢ <[wiki:III131019/Lab6 實作六]> | <[wiki:III131019 回課程大綱]> ▲ | <[wiki:III131019/Lab8 實作八]> ◣
     4
     5= 實作七 Lab7 =
     6
     7{{{
     8#!html
     9<p style="text-align: center;"><big style="font-weight: bold;"><big>基本除錯技能(三) 切換 Hadoop 設定檔<br/>Debug Skill (3) Change Hadoop Configuration for Hadoop Client</big></big></p>
     10}}}
     11
     12{{{
     13#!text
     14請先連線至 nodeN.3du.me , N 為您的報名編號
     15}}}
     16
     17 * 通常一般程式設計師只能取得有限的權限,無法修改 hadoop 叢集的設定,[[BR]]因此是否能夠在 Hadoop Client 端對某些使用者有權修改的參數進行調整呢?
     18
     19 * 答案是可行的! [[BR]]Hadoop Client 執行端可以透過 HADOOP_CONF_DIR 環境變數來修改想要調整的 Hadoop 參數。[[BR]]以下拿前述的三種模式來做示範。
     20
     21 * 各位前面執行完實作三,目前是運行於全分散模式(Full Distributed Mode)。[[BR]]我們可以透過修改 HADOOP_CONF_DIR 環境變數切換 hadoop 指令會採用的模式:
     22{{{
     23user@node1:~/hadoop_labs$ export HADOOP_CONF_DIR=~/hadoop/conf.pseudo/
     24user@node1:~/hadoop_labs$ hadoop fs -ls
     25user@node1:~/hadoop_labs$ export HADOOP_CONF_DIR=~/hadoop/conf.local/
     26user@node1:~/hadoop_labs$ hadoop fs -ls
     27user@node1:~/hadoop_labs$ unset HADOOP_CONF_DIR
     28user@node1:~/hadoop_labs$ hadoop fs -ls
     29}}}
     30 * 試觀察以上結果,您是否觀察到錯誤訊息呢? 這個錯誤訊息背後有"網路"上的意義,請回想一下實作二與實作三,NameNode 的 IP 綁定(binding)差異。
     31
     32 * 甚至透過這種方式,我們可以讓 Hadoop Client 在不同座 Hadoop 叢集之間做切換
     33{{{
     34user@node50:~/hadoop_labs$ cd
     35user@node50:~$ cp -r hadoop/conf.full hadoop/conf.node1
     36user@node50:~$ sed -i 's#node50#node1#g' hadoop/conf.node1/core-site.xml
     37user@node50:~$ sed -i 's#node50#node1#g' hadoop/conf.node1/mapred-site.xml
     38user@node50:~$ export HADOOP_CONF_DIR=~/hadoop/conf.node1/
     39user@node50:~$ export HADOOP_ROOT_LOGGER=DEBUG,console
     40user@node50:~$ hadoop fs -ls
     41user@node50:~$ unset HADOOP_CONF_DIR
     42user@node50:~$ hadoop fs -ls
     43user@node50:~$ unset HADOOP_ROOT_LOGGER
     44}}}
     45
     46== 實作習題 ==
     47
     48 <問題 1> 當運行於全分散模式(Full Distributed Mode),卻使用 HADOOP_CONF_DIR 環境變數切換成偽分散模式(Pseudo-Distributed Mode)時,會出現甚麼情形?
     49{{{
     50#!text
     51    (A) INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 9 time(s).
     52    (B) 正常可以顯示 hadoop fs -ls 的結果
     53}}}
     54
     55 <問題 2> Hadoop 的三種模式中,哪一個無法跟全分散模式(Full Distributed Mode)並存?
     56{{{
     57#!text
     58    (A) 偽分散模式(Pseudo-Distributed Mode)
     59    (B) 單機模式(Local Mode)
     60}}}