目錄結(jié)構(gòu)
由于Hadoop要求所有機(jī)器上hadoop的部署目錄結(jié)構(gòu)要相同,并且都有一個(gè)相同的用戶名的帳戶。
我的三臺(tái)機(jī)器上是這樣的:都有一個(gè)dbrg的帳戶,主目錄是/home/dbrg
Hadoop部署目錄結(jié)構(gòu)如下:/home/dbrg/HadoopInstall,所有的hadoop版本放在這個(gè)目錄中。
將hadoop0.12.0壓縮包解壓至HadoopInstall中,為了方便以后升級(jí),建議建立一個(gè)鏈接指向要使用的hadoop版本,不妨設(shè)為hadoop
[dbrg@dbrg-1:HadoopInstall]$ln -s hadoop0.12.0 hadoop
這樣一來,所有的配置文件都在/hadoop/conf/目錄中,所有執(zhí)行程序都在/hadoop/bin目錄中。
但是由于上述目錄中hadoop的配置文件和hadoop的安裝目錄是放在一起的,這樣一旦日后升級(jí)hadoop版本的時(shí)候所有的配置文件都會(huì)被覆蓋,因此建議將配置文件與安裝目錄分離, 一種比較好的方法就是建立一個(gè)存放配置文件的目錄,/home/dbrg/HadoopInstall/hadoop-config/,然后將 /hadoop/conf/目錄中的hadoop_site.xml,slaves,hadoop_env.sh三個(gè)文件拷貝到hadoop- config/目錄中(這個(gè)問題很奇怪,在官網(wǎng)上的Getting Started With Hadoop中 說是只需要拷貝這個(gè)三個(gè)文件到自己創(chuàng)建的目錄就可以了,但我在實(shí)際配置的時(shí)候發(fā)現(xiàn)還必須把masters這個(gè)文件也拷貝到hadoop-conf/目錄中 才行,不然啟動(dòng)Hadoop的時(shí)候就會(huì)報(bào)錯(cuò)說找不到masters這個(gè)文件),并指定環(huán)境變量$HADOOP_CONF_DIR指向該目錄。環(huán)境變量在 /home/dbrg/.bashrc和/etc/profile中設(shè)定。
綜上所述,為了方便以后升級(jí)版本,我們需要做到配置文件與安裝目錄分離,并通過設(shè)定一個(gè)指向我們要使用的版本的hadoop的鏈接,這樣可以減少我們對(duì)配置文件的維護(hù)。