Hadoop安裝

三個節點創建相同的用戶hadoopMaster機器主要配置NameNodeJobTracker的角色,負責總管分佈式數據和分解任務的執行;

3Salve機器配置DataNodeTaskTracker的角色,負責分佈式數據存儲以及任務的執行;

Hadoop啓動以後,Namenode是通過SSH來啓動和停止各個datanode上的各種守護進程的,所以就必須要配置無密碼登陸。

一、關閉IPTABLESSELinux

service iptables stop

chkconfig iptables off

vi/etc/selinux/config

SELINUX=disabled#修改爲disabled

二、配置每臺java環境

tar zxvf jdk-7u17-linux-x64.tar.gz

mv jdk-7u17-linux-x64 /usr/local/jdk

添加環境變量:

vi /etc/profile

JAVA_HOME=/usr/local/jdk

PATH=$PATH:$JAVA_HOME/bin

CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib

HADOOP_HOME=/usr/local/hadoop

PATH=$PATH:$HADOOP_HOME/bin

export JAVA_HOME CLASSPATH PATH

source /etc/profile

java --version #顯示版本則配置成功

三、創建用戶和配置密鑰對認證

A.三個節點都要創建hadoop用戶,而且uid一樣並設置密碼

useradd -u 600 hadoop

passwd 密碼

B.登陸到master創建密鑰對

su- hadoop

ssh-keygen -t rsa #一直回車

ls/home/hadoop/.ssh

id_rsa id_rsa.pub #生成一對密鑰

C.登錄master將公鑰上傳到兩臺slave並重命名爲authorized.keys

ssh-copy-id-i [email protected]

ssh-copy-id-i [email protected]

ssh-copy-id-i [email protected]

ssh-copy-id-i [email protected]

D.驗證登陸

ssh [email protected] #不用輸入密碼直接登陸兩臺slave

[email protected]

[email protected]

[email protected]

四、安裝Hadoop並將配置完整複製到slave機器上

1.下載:http://www.apache.org/dist/hadoop/core/hadoop-1.2.0/

tarzxvf hadoop-1.2.0.tar.gz

mvhadoop-1.2.0 /usr/local/hadoop

2.更改

vi/etc/profile

HADOOP_HOME=/usr/local/hadoop

PATH=$PATH:$HADOOP_HOME/bin

export HADOOP_HOME

source /etc/profile #生效變量

chown-R hadoop.hadoop /usr/local/hadoop #設置hadoop所屬用戶

五、修改集羣配置(hadoop/conf

1.配置mastersslaves主從節點

vimaster#去掉localhost,加入master機器的IP172.17.1.1

172.17.1.1

vislaves#去掉localhost,加入slave所有機器的IP

172.17.1.2

172.17.1.3

172.17.1.4

2.vi hadoop-env.sh

export JAVA_HOME=/usr/local/jdk #去掉註釋,修改jdk路徑

3.vi core-site.xml

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://172.17.1.7:9000</value>

</property

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/local/hadoop/tmp</value>

</property>

<property>

<name>fs.checkpoint.period</name>

<value>60</value>

</property>

</configuration>

參數說明:

fs.default.name: 主節點名字和端口

hadoop.tmp.dir:存放master臨時文件,需要手動創建,以後不能刪除,不過如果刪除了NameNode機器的此目錄,那麼就需要重新執行NameNode格式化的命令。

fs.checkpoint.period: snn檢查nn日誌的時間週期,這裏是60秒,生產環境建議12小時

4.vi mapred-site.xml

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>172.17.1.2:9001</value>

</property>

</configuration>

參數說明:

mapred.job.tracker:master的主機(或者IP)和端口

5.vi hdfs-site.xml

<configuration>

<property>

<name>dfs.data.dir</name>

<value>/usr/local/hadoop/hdfs/data1,/usr/local/hadoop/hdfs/data2</value>

</property>

<property>

<name>dfs.name.dir</name>

<value>/usr/local/hadoop/name1,/usr/local/hadoop/name2</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

</configuration>

參數說明:

dfs.data.dir:DataNode存放塊數據的本地文件系統路徑

dfs.name.dir:NameNode持久存儲名字空間及事務日誌的本地文件系統路徑。當這個值是一個逗號分割的目錄列表時,nametable數據將會被複制到所有目錄中做冗餘備份。

dfs.replication:數據需要備份的數量,默認是3,如果此數大於集羣的機器數會出錯。

注意:

此處的name1name2data1data2目錄不能預先創建,hadoop格式化時會自動創建,如果預先創建反而會有問題。


六、配置結束,使用scp命令把配置好的hadoop文件夾拷貝到其他集羣的機器中,並且保證上面的配置對於其他機器而言正確,例如:如果其他機器的Java安裝路徑不一樣,要修改conf/hadoop-env.sh

scp -r /usr/local/hadoop/root@slave1/2.com:/usr/local/hadoop


七、啓動hadoop

1.先格式化一個新的分佈式文件系統(hadoopnamenode -format

2.啓動hadoop節點(start-all.sh

執行完後可以到master機器上到/usr/local/hadoop/hdfs/data1/usr/local/hadoop/hdfs/data2/usr/local/hadoop/name1/usr/local/hadoop/name2四個目錄。在主節點master上面啓動hadoop,主節點會啓動所有從節點的hadoop

3.關閉hadoop節點

stop-all.sh

主節點關閉hadoop,主節點會關閉所有從節點的hadoopHadoop守護進程的日誌寫入到logs下。


八、測試

1.查看端口是否開啓

netstat -tupln | grep 9000

netstat -tupln | grep 9001

2.訪問masterNameNode)和slaveJobTracker)啓動是否正常http://192.168.0.202:5007050030

3.jps查看守護進程是否運行

master顯示:Job TrackerJpsSecondaryNameNod NameNode

slave顯示:DataNode JpsTaskTracker

4.查看集羣狀態統計信息(hadoopdfsadmin -report

masterslave輸入信息:

九、常用命令

hadoop dfs -ls #列出HDFS下文件

hadoop dfs -ls in #列出HDFS下某個文檔中的文件

hadoop dfs -put test.txt test #上傳文件到指定目錄並且重新命名,只有所有的DataNode都接收完數據纔算成功

hadoop dfs -get in getin #HDFS獲取文件並且重新命名爲getin,同put一樣可操作文件也可操作目錄

hadoop dfs -rmr out #刪除HDFS上的out目錄

hadoop dfs -cat in/* #查看HDFSin目錄的內容

hadoop dfsadmin -safemode leave #退出安全模式

hadoop dfsadmin -safemode enter #進入安全模式

九、添加一個新的節點

1.在新加的節點上安裝hadoop

2.修改hadoop/conf/master文件,加入 NameNode主機名,

3.NameNode節點上修改hadoop/conf/slaves文件,加入新加節點主機名,

4.建立到新加節點無密碼的SSH連接

5.運行啓動命令:start-all.sh

6.http://master.node:50070,查看新增加的DataNode


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章