| 11 | |
| 12 | {{{ |
| 13 | #!text |
| 14 | 請先連線至 nodeN.3du.me , N 為您的報名編號 |
| 15 | }}} |
| 16 | |
| 17 | * 通常一般程式設計師只能取得有限的權限,無法修改 hadoop 叢集的設定,因此是否能夠在 Hadoop Client 端對某些使用者有權修改的參數進行調整呢? |
| 18 | * 答案是可行的! Hadoop Client 執行端可以透過 HADOOP_CONF_DIR 環境變數來修改想要調整的 Hadoop 參數。以下拿前述的三種模式來做示範。 |
| 19 | * 各位前面執行完實作三,目前是運行於全分散模式(Full Distributed Mode)。我們可以透過修改 HADOOP_CONF_DIR 環境變數切換 hadoop 指令會採用的模式: |
| 20 | {{{ |
| 21 | user@node1:~/hadoop_labs$ export HADOOP_CONF_DIR=~/hadoop/conf.pseudo/ |
| 22 | user@node1:~/hadoop_labs$ hadoop fs -ls |
| 23 | user@node1:~/hadoop_labs$ export HADOOP_CONF_DIR=~/hadoop/conf.local/ |
| 24 | user@node1:~/hadoop_labs$ hadoop fs -ls |
| 25 | user@node1:~/hadoop_labs$ unset HADOOP_CONF_DIR |
| 26 | user@node1:~/hadoop_labs$ hadoop fs -ls |
| 27 | }}} |
| 28 | * 甚至透過這種方式,我們可以讓 Hadoop Client 在不同座 Hadoop 叢集之間做切換 |
| 29 | {{{ |
| 30 | user@node50:~/hadoop_labs$ cd |
| 31 | user@node50:~$ cp -r hadoop/conf.full hadoop/conf.node1 |
| 32 | user@node50:~$ sed -r 's#node50#node1#g' hadoop/conf.node1/core-site.xml |
| 33 | user@node50:~$ sed -r 's#node50#node1#g' hadoop/conf.node1/mapred-site.xml |
| 34 | }}} |