(1)我的電腦環境
CentOS6.5,32位,在虛擬機下實現。
注意:下面的操作我都是使用root權限進行!
(2)jdk1.6的安裝
這裏,我使用的jdk安裝包如下,大家可以上網自行下載,這裏推薦jdk爲1.6爲好,最好不要哦用1.7.
將jdk安裝包移動到/usr/local這個目錄下,(local下的文件可以刪除,沒有用的)。
然後首先是給jdk安裝包“X”的執行權限,chmod u+x jdk-6u24-linux-i586.bin。
然後就是執行安裝即可,jdk-6u24-linux-i586.bin。
然後將/usr/local下jdk的文件夾從命名爲jdk。
(3)設置環境變量
接下來就是配置環境變量:
vi /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
輸入 source /etc/profile使配置文件生效。
檢查jdk是否安裝配置成功,java -version,若顯示如下,表示安裝成功。
(4)配置SSH免密碼登陸
1.查看當前用戶下(root)是否有.ssh的隱藏文件,如果沒有就創建一個mkdir .ssh
2.輸入ssh-keygen -t rsa
這個命令會在.ssh文件夾下生成id_dsa和id_ds.pub兩個文件,這私鑰和公鑰。
3.輸入cp id_rsa.pub authorized_keys
這條命令是把公鑰加到用於認證的公鑰文件中
4.驗證SSH是否安裝成功,以及是否可以免密碼登陸本機
ssh localhost
如果顯示如下,表示安裝成功
(5)修改主機名
爲了方便,這裏我把主機名改爲hadoop;
輸入:hostname可以顯示當前主機名;
輸入:vi /etc/sysconfig/network修改HOSTNAME,如下,保存並退出
(6)將hostname與ip地址綁定
(7)安裝並運行hadoop
下載並將hadoop-1.1.2.tar.gz解壓到當前用戶目錄下(/usr/local)。
tar -zxvf hadoop-1.1.2.tar.gz。然後將hadoop文件夾重命名爲hadoop。
採用僞分佈式hadoop配置
進入hadoop文件夾下的conf夾,修改配置文件。
1.指定jdk安裝位置:
Hadoop-env.sh:
export JAVA_HOME=/usr/local/jdk
2.hadoop核心配置文件,配置HDFS地址和段口號。
core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop:9000</value>
</property>
</configuration>
注意:這裏hadoop是你的電腦主機名,根據自己的主機名來修改。
3.hdfs-site.xml,默認的配置方式是3,在單機版的hadoop中,將其改爲1
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
4.配置MapReduce文件,配置JobTracker的地址和端口
mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop:9001</value>
</property>
</configuration>
注意:這裏hadoop是你的電腦主機名,根據自己的主機名來修改。
5.接下來,在啓動hadoop前,需要格式化hadoop的HDFS。進入hadoop文件夾,
輸入bin/hadoop namenode -format
格式化文件系統,接下來啓動hadoop
輸入命令,啓動所有進程:
bin/start-all.sh
可以通過jps命令來查看運行的進程,如果成功運行,那麼將會有5個進程運行,如下圖:
分別是:JobTracker、secondaryNameNode、TaskTracker、NameNode和DataNode。
爲了方便,也可以把/usr/local/hadoop/bin的路徑添加到PATH下,那麼久可以直接通過命令:start-all.sh來啓動。
vi /etc/profile
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=.:$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin
最後驗證hadoop是否安裝成功。
打開瀏覽器,分別輸入網址:
localhost:50030(mapreduce的web頁面)
localhost:50070(HDFS的web頁面)
如果想在windows下訪問這兩個網址,那麼就需要關閉centos的防火牆,否則訪問不了。
命令:service iptables stop
使用:chkconfig iptables off,可以關閉防火牆的自動運行
備註:我也是剛起步學習hadoop,可能文章有一些不完整或錯誤的地方,還請大家多多指教,也希望能交流學習,互相促進提高。