一、在Ubuntu下創建hadoop用戶組和用戶
1、創建hadoop用戶組:
sudo addgroup hadoop
如圖:
2、創建hadoop用戶:
sudo adduser -ingroup hadoop hadoop
如圖:
3、給hadoop用戶添加權限,打開/etc/sudoers文件:
sudo vi /etc/sudoers;
給hadoop用戶賦予root用戶同樣的權限;
在root ALL=(ALL:ALL) ALL下添加hadoop ALL=(ALL:ALL) ALL,
hadoop ALL=(ALL:ALL) ALL
如圖:
二、在Ubuntu下安裝JDK
使用如下命令執行即可:
sudo apt-get install openjdk-6-jre
如圖:
三、修改機器名
每當ubuntu安裝成功時,我們的機器名都默認爲:ubuntu,但爲了以後集羣中能夠容易分辨各臺服務器,需要給每臺機器取個不同的名字。機器名由/etc/hostname文件決定。
1.打開/etc/hostname文件:
sudo vi /etc/hostname
2.將/etc/hostname文件中的ubuntu改爲你想取得機器名。這裏我取“lichunan-ubuntu”。重啓系統後纔會生效。
四、安裝ssh服務
這裏的ssh和三大框架:spring,struts,hibernate沒有什麼關係,ssh可以實現遠程登錄和管理,具體課可以參考其他相關資料。
安裝openssh-server,
sudo apt-get install ssh openssh-server
五、建立ssh無密碼登錄本機
首先要轉換成hadoop用戶,執行以下命令:
su - hadoop
ssh生成密鑰有rsa和dsa兩種方式,默認情況下采用rsa方式。
1、創建ssh-key,這裏我們採用rsa方式:
ssh-keygen -t rsa -P ""
(注:回車後會在~/.ssh/下生成兩個文件:id-rsa和id-rsa.pub,這兩個文件是成對出現的)
2、進入~/.ssh/目錄下,將id_rsa.pub追加到authorized_keys授權文件中,開始是沒有authorized_keys文件的:
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
(完成後就可以無密碼登錄本機了。)
3、登錄localhost:
ssh localhost
(當ssh遠程登錄到其它機器後,現在你控制的是遠程的機器,需要執行退出命令才能重新控制本機。)
4、執行退出命令
exit
六、安裝hadoop
我們採用的hadoop版本是:hadoop-1.2.1.tar.gz
1、將hadoop安裝文件複製到/usr/local/下:
sudo cp hadoop-1.2.1.tar.gz /usr/local/
2、解壓hadoop-1.2.1.tar.gz
cd /usr/local
sudo tar -zxvf hadoop-1.2.1.tar.gz
3、將解壓出的文件夾改名爲hadoop:
sudo mv hadoop-1.2.1.tar.gz hadoop
4、將該hadoop文件夾的屬主用戶設爲hadoop:
sudo chown -R hadoop:hadoop hadoop
5、打開hadoop/conf/hadoop-env.sh文件:
sudo vi hadoop/conf/hadoop-env.sh
6、配置conf/hadoop-env.sh(找到#export JAVA_HOME=...,去掉#,然後加上本機jdk的路徑):
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-i386
7、conf/core-site.xml文件:
sudo vi hadoop/conf/core-site.xml
編輯如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</propery>
</configuration>
8、打開conf/mapred-site.xml文件:
sudo vi hadoop/conf/mapred-site.xml
編輯如下:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
<property>
</configuration>
9、打開conf/hdfs-site.xml文件
sudo vi hadoop/conf/hdfs-site.xml
編輯如下:
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/datalog1,/usr/local/hadoop/datalog2</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoo/data1,/usr/local/hadoop/data2</value>
<property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
10、打開conf/masters文件,添加作爲secondarynamenode的主機名,作爲單機版環境,這裏只需填寫localhost就ok了。
sudo vi hadoop/conf/masters
11、打開conf/slaves文件,添加作爲slave的主機名,一行一個。作爲單機版,這裏也只需要填寫localhost就ok了。
sudo vi hadoop/conf/slaves
七、在單機上運行hadoop
1、進入hadoop目錄下,格式化hdfs文件系統,初次運行hadoop時一定要有該操作,
cd /usr/local/hadoop/
bin/hadoop namenode -format
2、當你看到下圖時,就說明你的hdfs文件系統格式化成功了
3、啓動bin/start-all.sh:
bin/start-all.sh
4、檢測hadoop是否啓動成功:
jps
如果有Namenode,SecondaryNameNode,TaskTracker,DataNode,JobTracker五個進程,就說明你的hadoop單機版環境配置好了!
如下圖: