[[PageOutline]]
◢ <[wiki:Hinet130923/Lab8 實作八]> | <[wiki:Hinet130923 回課程大綱]> ▲ | <[wiki:Hinet130923/Lab10 實作十]> ◣
= 實作九 Lab9 =
{{{
#!html
Hadoop 叢集設定
Configuring Hadoop Cluster
}}}
{{{
#!text
請先連線至 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
}}}
{{{
#!text
ProxyPass http://localhost:50070
Order allow,deny
Allow from all
ProxyPass http://localhost:50030
Order allow,deny
Allow from all
}}}