| Version 6 (modified by jazz, 12 years ago) (diff) | 
|---|
實作九 Lab9
Hadoop 叢集設定
Configuring Hadoop Cluster
Configuring Hadoop Cluster
請先連線至 nodeN.3du.me , N 為您的報名編號
- 首先,我們需要先停止各位目前跑的 Hadoop 背景程式,無論是偽分散模式或全分散模式。
 - 指令如下:
user@node1:~$ hadoop-daemon.sh stop tasktracker user@node1:~$ hadoop-daemon.sh stop datanode user@node1:~$ hadoop-daemon.sh stop jobtracker user@node1:~$ hadoop-daemon.sh stop namenode
 
- 為了不破壞各位原本已經建立的環境,我們運用昨天教的方法,產生一個新的設定檔目錄 conf.node50。讓每一位學員的 DataNode? 跟 TaskTracker 通通連到 node50 來。
user@node1:~$ cp -r ~/hadoop/conf.full ~/hadoop/conf.node50 user@node1:~$ sed -i "s#$(hostname)#node50#g" ~/hadoop/conf.node50/core-site.xml user@node1:~$ sed -i "s#\/home\/user\/hadoop#\/tmp#g" ~/hadoop/conf.node50/core-site.xml user@node1:~$ sed -i "s#$(hostname)#node50#g" ~/hadoop/conf.node50/mapred-site.xml user@node1:~$ cat ~/hadoop/conf.node50/core-site.xml user@node1:~$ cat ~/hadoop/conf.node50/mapred-site.xml
 - 您也可以比較 conf.full 目錄與 conf.node50 的差異
user@node1:~$ diff -Naur ~/hadoop/conf.full ~/hadoop/conf.node50
 
- 我們將設定檔透過 HADOOP_CONF_DIR 環境變數,暫時切換到 conf.node50 的設定,並用 hadoop-daemon.sh 指令啟動 DataNode? 跟 TaskTracker
user@node1:~$ export HADOOP_CONF_DIR=~/hadoop/conf.node50 user@node1:~$ hadoop-daemon.sh start datanode user@node1:~$ hadoop-daemon.sh start tasktracker
 
- 讓我們恢復原本的全分散模式
user@node50:~$ unset HADOOP_CONF_DIR user@node50:~$ hadoop_labs/lab002/hadoop-full-mode
 
<補充> Apache Proxy
- 讓 http://node50.3du.me/hdfs 等於 http://node50.3du.me:50070
 - 讓 http://node50.3du.me/mapred 等於 http://node50.3du.me:50030
 
user@node50:~$ sudo apt-get install apache2 user@node50:~$ sudo a2enmod proxy_http user@node50:~$ sudo vi /etc/apache2/sites-enabled/000-default user@node50:~$ sudo service apache2 restart
    <Location /hdfs>
      ProxyPass   http://localhost:50070
      Order       allow,deny
      Allow       from all
    </Location>
                                                                                                    
    <Location /mapred>
      ProxyPass   http://localhost:50030
      Order       allow,deny
      Allow       from all
    </Location>
