Hadoop的下載地址:
http://www.apache.org/dyn/closer.cgi/hadoop/core/
版本:hadoop0.17.1
JDK的安裝:
要求必須安裝jdk1.5.07以上的版本。
分步式環境的搭建:
1、 硬體環境
我們采用了3臺機器來構建,都安裝的是Red Hat 4.1.2-42系統,并且都有一個名為“mingjie“的帳號,如下:
主機名稱:hdfs1 ip:192.168.0.221 功能:NameNode,JobTracker
主機名稱:hdfs2 ip:192.168.0.227 功能:DataNode,TaskTracker
主機名稱:hdfs3 ip:192.168.0.228 功能:DataNode,TaskTracker
重點:修改3臺機器的/etc/hosts,讓彼此的主機名稱和ip都能順利決議
127.0.0.1 localhost
192.168.0.37 hdfs1
192.168.0.43 hdfs2
192.168.0.53 hdfs3
2、 每臺機器都要安裝java環境,我們的路徑統一為“/opt/modules/jdk1.6“,并添加到系統環境變數sudo vi /etc/profile
JAVA_HOME=/opt/modules/jdk1.6
PATH=$JAVA_HOME/bin:$PATH:$CATALINA_HOME/bin
CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
3、 下載hadoop0.17.1,將hadoop解壓到/home/mingjie/,建議最好也將hadoop的目錄添加到環境變數里面去:
HADOOP_HOME=/home/mingjie/hadoop-0.17.1 #這是hadoop的主目錄
export HADOOP_HOME
HADOOP_CONF_DIR=$HADOOP_HOME/conf #這是hadoop的組態檔目錄
export HADOOP_CONF_DIR
HADOOP_LOG_DIR=/home/mingjie/hadoop-0.17.1/log #存放運行日志目錄
export HADOOP_LOG_DIR
export PATH=$PATH:$HADOOP_HOME/bin
4、 安裝ssh,并生成公鑰和私鑰
? 運行 ssh-keygen -t rsa,根據螢屏提示直接選擇“回車”
? 會在用戶目錄~/.ssh/產生兩個檔案,id_rsa,id_rsa.pub
? cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
以上配置完成后,執行一下ssh localhsot,確認你的每臺機器都可以使用ssh
5、 將master服務器上的authorized_keys的內容加到slave兩臺機器的authorized_keys檔案中。讓master也可以不需要密碼訪問2臺slave服務器。
sudo scp authorized_keys hdfs2:/home/mingjie/.ssh/
sudo scp authorized_keys hdfs3:/home/mingjie/.ssh/
ssh hdfs2
ssh hdfs3
6、 接下來,我們要修改hadoop的[conf/masters]、[conf/slaves]這2個檔案:
Master設定(<HADOOP_HOME>/conf/masters):hdfs1
Slave設定(<HADOOP_HOME>/conf/slaves):hdfs2 hdfs3
7、 修改[conf/hadoop-env.sh]:
export JAVA_HOME=/opt/jdk1.6.0_03
8、 修改[conf/hadoop-site.xml],這里只是幾個常用的屬性配置,有關hadoop的性能優化調整,需要研究hadoop-default.xml:
<configuration>
<property>
<name>fs.default.name</name>//你的namenode的配置,機器名加埠
<value>hdfs://hdfs1:54310/</value>
</property>
<property>
<name>mapred.job.tracker</name>//你的JobTracker的配置,機器名加埠
<value>hdfs://hdfs1:54311</value>
</property>
<property>
<name>dfs.replication</name>//資料需要備份的數量,默認是三
<value>1</value>
</property>
<property>
<name>hadoop.tmp.dir</name>//Hadoop的默認臨時路徑,這個最好配置,如果在新增節點或者其他情況下莫名其妙的DataNode啟動不了,就洗掉此檔案中的tmp目錄即可。不過如果洗掉了NameNode機器的此目錄,那么就需要重新執行NameNode格式化的命令。
<value>/home/mingjie/hadoop-0.17.1/tmp/</value>
</property>
<property>
<name>mapred.child.java.opts</name>//java虛擬機的一些引數可以參照配置
<value>-Xmx512m</value>
</property>
<property>
<name>dfs.block.size</name>//block的大小,單位位元組,后面會提到用處,必須是512的倍數,因為采用crc作檔案完整性校驗,默認配置512是checksum的最小單元。
<value>5120000</value>
<description>The default block size for new files.</description>
</property>
</configuration>
9、 然后將hadoop的整體環境拷貝到hdfs2、hdfs3上面去
scp -r /home/mingjie/hadoop.0.17.1 hdfs2:/home/mingjie/ hadoop.0.17.1
scp -r /home/mingjie/ hadoop.0.17.1 hdfs3:/home/mingjie/ hadoop.0.17.1
10、 在hdfs1這個namenode上面格式化一個新的分布式檔案系統HDFS,就是hadoop-site.xml檔案中指定的hadoop.tmp.dir路徑
<HADOOP_HOME>/bin/hadoop namenode –format
到此大致上就完成了hadoop環境布署
啟動hadoop:<HADOOP_HOME>/bin/start-all.sh
停止hadoop:<HADOOP_HOME>/bin/stop-all.sh
說明:
(1) 執行啟動Hadoop行程后,
? 在master服務器會啟動3個java行程,分別的NameNode,SecondNameNode,JobTracker,在LOG目錄下會產生2個檔案,分別對應NameNode的運行日志和JobTracker的運行日志,
? 在slave服務器會啟動2個java行程,分別為DataNode,TaskTracker,,在LOG目錄下會產生2個檔案,分別對應DataNode的運行日志和TaskTracker的運行日志,可以通過查看日志分析hadoop的啟動是否正確。
(2) 通過IE瀏覽分布式檔案系統中的檔案
? 訪問 http://hdfs1:50030 可以查看JobTracker的運行狀態。
? 訪問 http://360quan-1:50060可以查看 TaskTracker的運行狀態。
? 訪問 http://360quan-1:50070可以查看NameNode以及整個分布式檔案系統的狀態。
uj5u.com熱心網友回復:
樓主辛苦了,夠了吧uj5u.com熱心網友回復:
挺好的,支持搬運:)uj5u.com熱心網友回復:
挺好的,支持搬運!uj5u.com熱心網友回復:
謝謝你,學習了轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/80941.html
標籤:虛擬化
