從頭安裝hadoop環境
環境:centos6.5 3臺主機 (復制主機,可以直接復制虛擬機文件)一臺為主,復制的為從。
master-ip:192.168.237.10 slave1-ip:192.168.237.11 slave2-ip:192.168.237.12
上網調試: 分別進入slave1 和 slave2 裏面的 ifcfg-eth0 文件下修改 IPADDR 分別為 11 和 12.
進入secureCRT,添加 slave1和slave2 的連接端口(填寫 ssh2下的hostname 和 username 屬性)
然後進入3臺主機 。測試是否可以上網。(如果復制的不可以。可以采取刪除網卡重新添加試試^_^)
軟件包:jdk-6u45-linux-x64.bin hadoop-1.2.1-bin.tar.gz
步驟一:安裝jdk,配置java運行環境
1.可以使用rz 命令上傳jdk-6u45-linux-x64.bin
2.可以在wmware裏面設置(右擊標題--設置--文件共享打開並且指定共享文件位置)
復制程序到/usr/local/src 目錄下
# cp jdk-6u45-linux-x64.bin /usr/local/src/
# ll jdk-6u45-linux-x64.bin(查看權限看是否有X 權限)
#./jdk-6u45-linux-x64.bin(安裝jdk)
3.配置java
# vim ~/.bashrc
export JAVA_HOME=/usr/local/src/jdk1.6.0_45
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/bin
export PATH=.:$PATH:$JAVA_HOME/bin
# source ~/.bashrc (使剛才配置生效)
4.測試java
在任意目錄下 # java (如果命令生效則代表成功。否則從新回到第一步。檢查)
下面配置另外兩臺slave的 java環境
# scp -rp /usr/local/src/jdk1.6.0_45 192.168.237.11:/usr/local/src
# scp -rp /usr/local/src/jdk1.6.0_45 192.168.237.12:/usr/local/src
(這裏選項 -r: 遞歸復制整個目錄。-p:保留原文件的修改時間,訪問時間和訪問權限。)
然後分別修改 環境變量設置 ~/.bashrc 文件 同上面的。
步驟二:hadoop相關配置文件信息解析,配置
一 概述:
(1)Hadoop MapReduce采用Master/Slave結構。
*Master:是整個集群的唯一的全局管理者,功能包括:作業管理、狀態監控和任務調度等,即MapReduce中的JobTracker。
*Slave:負責任務的執行和任務狀態的回報,即MapReduce中的TaskTracker。
二 JobTracker剖析:
(1)概述:JobTracker是一個後臺服務進程,啟動之後,會一直監聽並接收來自各個TaskTracker發送的心跳信息,包括資源使用情況和任務運行情況等信息。
(2)JobTracker的主要功能:
1.作業控制:在hadoop中每個應用程序被表示成一個作業,每個作業又被分成多個任務,JobTracker的作業控制模塊則負責作業的分解和狀態監控。
*最重要的是狀態監控:主要包括TaskTracker狀態監控、作業狀態監控和任務狀態監控。主要作用:容錯和為任務調度提供決策依據。
2.資源管理。
三 TaskTracker剖析:
(1)TaskTracker概述:TaskTracker是JobTracker和Task之間的橋梁:一方面,從JobTracker接收並執行各種命令:運行任務、提交任務、殺死任務等;另一方面,將本地節點上各個任務的狀態通過心跳周期性匯報給JobTracker。TaskTracker與JobTracker和Task之間采用了RPC協議進行通信。
(2)TaskTracker的功能:
1.匯報心跳:Tracker周期性將所有節點上各種信息通過心跳機制匯報給JobTracker。這些信息包括兩部分:
*機器級別信息:節點健康情況、資源使用情況等。
*任務級別信息:任務執行進度、任務運行狀態等。
2.執行命令:JobTracker會給TaskTracker下達各種命令,主要包括:啟動任務(LaunchTaskAction)、提交任務(CommitTaskAction)、殺死任務(KillTaskAction)、殺死作業(KillJobAction)和重新初始化(TaskTrackerReinitAction)。
hadoop 集群中有兩種節點,一種是namenode,還有一種是datanode。
其中datanode主要負責數據的存儲,namenode主要負責三個功能,分別是(1)管理元數據 (2)維護目錄樹 (3)響應客戶請求
hadoop的安裝配置:同樣把hadoop-1.2.1-bin.tar.gz拷貝到 /usr/local/src/
解壓: # tar zxvf hadoop-1.2.1-bin.tar.gz
進入hadoop-1.2.1創建hadoop運行所需的臨時文件 tmp
# cd hadoop-1.2.1 && mkdir tmp
修改配置文件:
1. # vim master
master
2. # vim slaves
slave1
slave2
3. # vim core-site.xml (設置tmp目錄和 namenode節點)
####添加如下內容
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/src/hadoop-1.2.1/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.237.10:9000</value>
</property>
4.#vim mapred-site.xml(配置 jobtracker)
#####添加如下內容
<property>
<name>mapred.job.tracker</name>
<value>http://192.168.237.10:9001</value>
</property>
5. #vim hdfs-site.xml
##########添加如下內容
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
6.# vim hadoop-env.sh
最結尾添加:export JAVA_HOME=/usr/local/src/jdk1.6.0_45
# source hadoop-env.sh
檢查下,修改配置文件是否完成。
然後復制給給slave1和slave2
# scp -rp hadoop-1.2.1 slave1:/usr/local/src/(這裏的slave1 是這192.168.237.11機器配置完hostname後使用。)
# scp -rp hadoop-1.2.1 slave2:/usr/local/src/(如果沒有配置hostname,請使用ip地址)
配置master的DNS和hosts
# vim /etc/hosts
### 添加如下
192.168.237.10 master
192.168.237.11 slave1
192.168.237.12 slave2
# vim /etc/sysconfig/network
HOSTNAME=master
# hostname master
slave1和slave2的修改:
# vim /etc/hosts
192.168.237.10 master
192.168.237.11 slave1
192.168.237.12 slave2
slave1:
# vim /etc/sysconfig/network
HOSTNAME=slave1
# hostname slave1
slave2:
# vim /etc/sysconfig/network
HOSTNAME=slave2
# hostname slave2
步驟三:下面需要主機之間進行免密碼登錄;配置openssl
建議先關閉防護墻和selinux
# /etc/init.d/iptable stop
# setenforce 0
進入master主機:
# ssh-keygen (然後一路回車即可)
# cd ~/.ssh/ (查看是否生成公鑰文件)
# cat id_rsa.pub >authorized_keys (authorized_keys 是認證文件,存放公鑰。是一個3臺主機都共同需要的)
依次進入slave1和slave2 主機:
# ssh-keygen
# cd ~/.ssh/
分別把slave1 和 slave2的 id_rsa.pub 文件裏面的內容 復制給 master裏面的authorized_keys
然後進入將master裏面的 ~/.ssh/authorized_keys 分發給slave1和 slave2 中的 ~/.ssh/ 目錄下
步驟四:啟動hadoop
# ./hadoop namenode -format (初始化namenode)
# ./start-all.sh (啟動hadoop)
# jsp (查看信息)
如果有異常請重點檢查配置文件
下面是幾條簡單的hadoop命令
# cd /usr/local/src/hadoop-1.2.1/bin
#./hadoop fs -ls /
# ./hadoop fs -put /usr/local/src/hadoop-1.2.1/README.txt /
# ./hadoop fs -ls /
-rw-r--r-- 3 root supergroup 1366 2018-03-26 18:57 /README.txt
如果,你覺得可以請繼續關註。陸續會有系列跟新。
從頭安裝hadoop環境