1. 集群配置
此前使用的是偽分布式的單機(jī)模式,本篇使用分布式的集群配置。
配置方案如下:
| bigdata1 | bigdata2 | bigdata3 | |
|---|---|---|---|
| HDFS | NameNode SecondaryNameNode DataNode | DataNode | DataNode |
| YARN | nodeManager | ResourceManger NodeManager | nodeManager |
修改對應(yīng)的配置文件即可。
同時(shí)更改hadoop的/etc目錄下的slaves,添加三個(gè)節(jié)點(diǎn)的hostname。
(配置很多,配好一個(gè)scp同步給另外兩臺服務(wù)器即可)
如果此前使用了單機(jī)偽分布式集群的模式,注意此時(shí)要?jiǎng)h除data目錄和logs目錄,重新format,否則后續(xù)啟動(dòng)會(huì)報(bào)錯(cuò)。
2. 配置免密登陸
為什么配置免密登陸?
不配置免密登陸,hadoop集群間的很多操作都需要輸入密碼,十分不方便
設(shè)置方式:
- 在三臺服務(wù)器上分別生成公私鑰
ssh-keygen -t rsa
生成過程中不需要輸入任何二次密碼,全部回車確認(rèn)
- 分別復(fù)制公鑰到指定服務(wù)器
ssh-copy-id bigdata1
ssh-copy-id bigdata2
ssh-copy-id bigdata3
以上完成免密登陸配置
3. 啟動(dòng)集群
在分布式集群環(huán)境中,hdfs和yarn,都需要在配置中指定的namenode和resourcemanager服務(wù)器啟動(dòng)-主節(jié)點(diǎn)。其他從節(jié)點(diǎn)會(huì)自動(dòng)啟動(dòng)
首先啟動(dòng)hdfs系統(tǒng),在data1服務(wù)器上使用指令
sbin/start-dfs.sh
第二步,啟動(dòng)yarn ResourceManager,在data2上執(zhí)行
sbin/start-yarn.sh
注意:不能再使用start-all腳本,該腳本會(huì)啟動(dòng)當(dāng)前節(jié)點(diǎn)的所有功能。
啟動(dòng)后,通過web控制端訪問可以看到如下頁面,則集群搭建成功

測試上傳文件,看到3個(gè)副本

4. Hadoop的Demo測試
Hadoop的share/hadoop/mapreduce目錄下,官方提供了一些例子,使用wordcount進(jìn)行測試(統(tǒng)計(jì)text文件中的單詞個(gè)數(shù))
使用指令-解析test.txt輸出到out目錄
hadoop jar hadoop-mapreduce-examples-2.8.4.jar wordcount /test.txt /out
通過web端和命令行都可以看到執(zhí)行結(jié)果


注意:在使用虛擬機(jī)過程中,一定要先關(guān)閉hadoop再關(guān)閉虛擬機(jī),否則會(huì)造成datanode異常