您好,登錄后才能下訂單哦!
1.單節點模式
2.偽分布模式,一般用于測試
3.完全分布模式,集群環境,常用
Hadoop 主從節點分解:
1.單機模式,一臺主機,172.25.22.10
2.偽分布模式,一臺主機,172.25.22.11
3.完全分布模式,三臺主機,172.25.22.10 11 12
軟件包:
hadoop-1.2.1.tar.gz
jdk-7u79-linux-x64.tar.gz
注意:在配置環境時,最好以一個普通用戶的身份去配置,三種模式都是以普通用戶hadoop身份運行的
1.
單機模式只有一個節點,只需將hadoop包解壓到相應的位置下即可,本次解壓的目錄是在/home/hadoop下,然后做一個軟鏈接,方便之后切換目錄。和修改配配置文件中文件目錄的位置
ln -s hadoop-1.2.1/ hadoop
ln -s jdk1.7.0_79/ java
2.修改一下配置文件
將java的目錄寫進去
3.下一步配置ssh 無密碼登陸到本機
ssh-keygen
ssh-copy-id 172.25.22.10
配置完成,可以直接ssh localhost到本機
4.配置完成后,測試
首先建立一個input 目錄
mkdir input
Cp conf/*.xml input/
拿一個例子測試一下,
bin/hadoop jar hadoop-examples-1.2.1.jar grep input output 'dfs[a-z.]+'
Output輸出的目錄可自動生成
看到hadoop里邊有這個目錄,而且可以查看
如果拿網頁看的話
http://172.25.22.10:50070/dfshealth.jsp 可以看到hdfs中保存的文件
http://172.25.22.10:50030/jobtracker.jsp 可以看到正在處理的過程
由于偽分布模式也是在一個節點上,在單節點的模式下,配置其幾個配置文件
1.編輯其conf下的配置文件
#####vim core-site.xml 添加內容
<property>
<name>fs.default.name</name>
<value>hdfs://172.25.22.10:9000</value>
</property>
#####vim mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>172.25.22.10:9001</value>
</property>
######vim hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
配置文件修改完成
2.對hadoop進行格式化
bin/hadoop namenode -format
3.開啟所有進程
bin/start-all.sh
4.查看進程
/home/hadoop/java/bin/jps
所有的進程都在這一個節點上,
JobTracker #####負責任務調度
TaskTracker #####負責數據處理
SecondaryNameNode
NameNode #####包含元數據信息
DataNode #####數據節點,存儲數據
5.測試
bin/hadoop -put conf/ input
bin/hadoop jar hadoop-examples-1.2.1.jar grep input output 'dfs[a-z.]+'
這里的input 和之前那個input是完全不一樣的,這個是存儲在分布式文件系統中的
用網頁查看可以看到
三臺主機
三臺主機:
172.25.22.10 master
172.25.22.11 slave
172.25.22.12 slave
三臺主機的配置是一樣的,所以怎么使slave主機和master主機配置文件都相同呢?Scp的方式可以,但是會比較麻煩,所以考慮到nfs共享
1.在偽分布模式三個配置文件已經配置完成的基礎下,配置master slave文件
2.配置nfs文件共享
在三臺主機上,首先需要安裝的服務
yum install -y rpcbind
yum install -y nfs-utils
開啟rpcbind服務
3.配置exports文件
/home/hadoop 172.25.22.0/255.255.255.0(rw,anonuid=900,anongid=900)
exports -v
exportfs -rv
4.由于slave節點要和master節點的文件同步
所以在slave節點上
showmount -e 172.25.22.10
mount 172.25.22.10:/home/hadoop/ /home/hadoop/
可以看到文件都同步過去
5.在master節點上要給普通用戶hadoop設置密碼
然后
ssh-keygen
ssh-copy-id 172.25.22.10
這樣就可以實現三臺主機以普通用戶登陸的無密碼的交互
配置完成,需要測試:
注意:如果在剛開始的時候,是在root用戶下安裝的hadoop,那么想在普通用戶下搭建的話,首先三臺主機創建一個相同名字的用戶,并且uid gid 都要保持一致,然后把在root下做的目錄遷移過去
mv hadoop-1.2.1/ /home/hadoop/
并且要修改這個目錄的歸屬組和歸屬用戶
chown hadoop.hadoop /home/hadoop/* -R
軟鏈接和java環境的修改
6.用分布式環境測試一下
首先格式化,然后打開所有的進程
bin/hadoop namenode -format
bin/start-all.sh
看各個節點的進程
測試程序,執行一個wordcount例子
bin/hadoop fs -put conf/ input
bin/hadoop jar hadoop-examples-1.2.1.jar wordcount input output
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。