時間急的可以看速成,虛擬機和配置方法已給出,提供下載的為一臺主節(jié)點一臺分結(jié)點的虛擬機下載,只需進行ip地址更換即可 現(xiàn)成Hadoop配置,圖文手把手交你
既然你選擇自己配置了,那么我想想和你聊一聊,相信我這對你整體配置Hadoop流程會有一個跟全面的了解,我們拋開繁雜的學(xué)術(shù)名詞,其實就是要實現(xiàn)我一個任務(wù)可以在多個電腦上跑的過程(分散算力),那交給我們應(yīng)該如果來搞?我們是不是要對我們的虛擬機先分配地址(對應(yīng)ip地址分配),分配完地址,是不是又需要我的機器可以相互連接(對應(yīng)免密登錄),可以相互登錄之后,我就要開始安裝我們的軟件了,java、Hadoop,告訴他我可以免密的主機、我結(jié)點的個數(shù)、我啟動的端口號。
我們做的每一步都是為了達成我們的某個目的,有的地方你可能配置了幾個星期,很崩潰,還有的甚至你才剛剛接觸Linux,就要進行如此復(fù)雜的操作,但請你相信自己,我一次配也花了幾個星期,但在那之后是我對于Linux的進一步掌握,以及那全班第一個配出來時候的驕傲!希望本篇文章可以給予你一些幫助,下面正式開始
1.事前準備
Hadoop,說白了就是讓我們計算機的算力可以進行分散,小唐這個月的搭建是真的,啊啊啊啊啊,為了讓后人避免踩坑,以及后續(xù)自己也可以回來看看,就簡單的說一下自己的搭建流程。
咱們首先準備好這些軟件
1. VMware
2. CentOS-7-x86_64
3. hadoop-2.7.3.tar(Hadoop的安裝文件)
4. jdk-8u65-linux-x64.t.gz(hadoop是基于java的,所以要有java的jdk)
5. SSH(遠程連接工具)
6. winSCP(遠程傳輸工具)
當然,小唐也幫大家全都整理出來了,大家可以直接通過網(wǎng)盤自行下載
鏈接:https://pan.baidu.com/s/1-bvzJBpRVCsgslOkYP26zA?pwd=yu9a
提取碼:yu9a
--來自百度網(wǎng)盤超級會員V4的分享
說明,因為這里涉及到多臺計算機的共同操作,對于主節(jié)點namenode 整篇文章照做,對于datanode節(jié)點,除了Hadoop的配置,其他照做,如果配置主機數(shù)為多太,只需在后更改hadoop配置文件即可
2.主機互聯(lián)(namenode和datanode都做)
2.1 創(chuàng)建虛擬機
我們稍等一會,然后就可以看到我們的系統(tǒng)了!
2.2 配置網(wǎng)絡(luò)
在這里說一下原理,原理就是讓我們的主機和所有部署的虛擬機處于同一個網(wǎng)段下,然后我們的主機可以去連我們的虛擬機,我們虛擬機可以去連我們的主機,我們虛擬機之間也可以相互連接。實現(xiàn)了這一步,我們就可以在主機通過我們的ssh軟件來對虛擬機進行訪問了(只要虛擬機開著,都是這一個wifi,所有電腦都可以連你的虛擬機)
2.2.1尋找空閑IP地址
在windows里面,我們連上自己的wifi,win+r然后打開咱們的cmd窗口
輸入ipconfig在這里可以看到自己所有的網(wǎng)段配置信息
咱們?nèi)フ业?strong>無線局域網(wǎng)適配器 WLAN
這個就是我們等會要用到的信息了,我們可以我現(xiàn)在是處于
192.168.2.6
這一個網(wǎng)段下,也就是我自己的電腦的IP地址(IP地址不可以重復(fù),重復(fù)會引起沖突)
然后我們ping 一下
很明顯,因為我現(xiàn)在的這臺電腦在使用192.168.2.6這個ip所有他是會有回應(yīng)的,但是為了讓IP地址不重復(fù),我們就要在這個網(wǎng)段下找沒有人使用的
我的IP是192.168.2.6,那么我就找192.168.2.***(隨便一個不超過255的數(shù))
如果你的IP是172.20.43.5,那么你就找172.20.43.***(隨便一個不超過255的數(shù))
如果出現(xiàn)無法訪問目標主機,那么恭喜你找到了,這個位置就是沒有人使用的,也就是我們說的空閑ip,小唐選取了這兩個來作為自己虛擬機分配的IP,這個ip我們先記住 (如果換了WiFi那么我們的ip也是會發(fā)生改變的)
192.168.2.125
192.168.2.126(這個是另外一臺電腦的為了后面演示,我配置了兩臺虛擬機,每一個虛擬機都要分配一個IP地址)
2.2.2配置ifcfg-eno16777736
我們首先先進入這個文件夾
cd /etc/sysconfig/network-scripts
然后輸入ls
就可以看到我們的這個文件了,使用vi對他進行編輯
vi ifcfg-eno16777736
注意:先按一下字母i(就是鍵盤上面的)進入編輯模式
上面的配置和俺一樣,后面的依據(jù)每一個的IP地址不同,是要發(fā)生改變的
按鍵盤ESC(一般來說都在左上角)退出編譯模式,然后輸入
:wq
回車退出后重啟,輸入
service network restart
出現(xiàn)了,這個我們就基本配置好了,如果報錯,請檢查,你寫得有沒有和小唐一樣,字母呀啥的
然后我們返回我們主機,再去ping一下我們現(xiàn)在配置好的192.168.2.125
我們的主機就可以訪問到我們的虛擬機啦,然后我們也可以用我們的遠程軟件ssh直接去訪問虛擬機,如果還是沒有成功,請我們?nèi)z查一下有沒有開網(wǎng)絡(luò)防火墻,我們配置文件有沒有寫對,還有就是我們的網(wǎng)絡(luò)形式是不是橋接
為了不影響閱讀體驗,文章末尾給出了檢查方法
2.2.3 pc端ssh登錄linux(xshell也可以)
輸入我們用戶的密碼
2.3 實現(xiàn)相互免密登錄(namenode和datanode都做)
這一部分是為我們后續(xù)hadoop的實現(xiàn)打好基礎(chǔ),配置尤其重要,在這里要注意hostname和hosts里面的名字相同(小唐之前應(yīng)為這個搞了好久)
2.3.1修改主機名及主機配置文件
修改咱們的主機名(修改完之后,不會馬上顯示)
vi /etc/hostname
還是一樣的,先輸入字母i進入編輯模式,然后改名,在輸入Esc退出編輯模式,輸入:wq保存
一般如果是主節(jié)點都叫做namenode,分結(jié)點就叫做datanode1,datanode2,datanode3,然后我們再將我們的ip地址和修改后的主機名寫入hosts
vi /etc/hosts
這樣之后,我們ping的時候,就可以直接使用對方的主機名啦!??!
2.3.1生成公鑰實現(xiàn)免密登錄
關(guān)閉我們的防火墻
systemctl stop firewalld.service
先回到最開始的目錄
cd /
執(zhí)行
ssh-keygen -t rsa
然后一直按回車
就可以看到我們現(xiàn)在生成的公鑰和私鑰了,然后我們將我們的公鑰傳到對方的主機上面
這里注意,我們的公鑰和私鑰只生產(chǎn)一次?。?!
這里注意,我們的公鑰和私鑰只生產(chǎn)一次?。?!
這里注意,我們的公鑰和私鑰只生產(chǎn)一次?。?!
如果生成多次請刪除所有文件,重新生成
ssh-copy-id root@datanode
ssh-copy-id root@你另外一臺電腦的主機名(hosts里面的)
hosts里面我們寫了幾個,我們就重復(fù)操作幾次操作,將主節(jié)點的生產(chǎn)的密鑰傳到我們的分結(jié)點
這里注意,如果你是namenode節(jié)點,那么你還需要自己可以免密登錄你自己
ssh datanode
ssh XXX(你要登錄的主機名)
如上圖所示,我們就可以免密登錄到我們的datanode節(jié)點了
如果需要退出,使用exit直接退出
exit
3.配置java jdk(namenode和datanode都做)
3.1winSCP上傳java
我們輸入我們ip地址和賬號密碼
創(chuàng)建software文件夾
將我們java的jdk拖入software文件里面
我們拖入后,使用
cd /software
ls
再用ls去看我們的目錄下有了java的解壓包
解壓文件
tar -xzvf jdk-8u65-linux-x64.t.gz
修改文件夾名字
mv jdk1.8.0_65 jdk
3.2 配置全局變量
進入配置文件
vi /etc/profile
添加配置文件(為了避免hadoop配置,我們在這里就把Hadoop的配置好)
export JAVA_HOME=/software/jdk/
export PATH=.:$PATH:$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/software/hadoop
export PATH=.:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
直接把他們加在最后面
讓配置文件生效
source /etc/profile
檢查是否位置完成
java -version
像這樣無論在哪里都可以看到我們java的版本就歐克啦!
4.配置Hadoop(datanode和namenode分開)
4.1主節(jié)點配置 (namenode做)
4.1.1winSCP上傳到software目錄
進入到我們software的文件夾,然后查看,再去解壓
cd /software
ls
tar -xzvf hadoop-2.7.3.tar.gz
修改下名字
mv hadoop-2.7.3 hadoop
4.1.2 修改Hadoop配置文件
在小唐的配置文件里面,有一個Hadoop配置用例,作為參考,我們也在這個基礎(chǔ)上面進行修改,在window上面修改,然后再通過winspc上傳到Linux
4.1.2.1 core-site.xml
4.1.2.2 hadoop-env.sh
4.1.2.3 hdfs-site.xml
4.1.2.4 mapred-site.xml
4.1.2.5 slaves
4.1.2.6yarn-site.xml
4.1.3 上傳至Linux
將我們剛剛修改過的所有文件上傳至這個目錄
/software/hadoop/etc/hadoop
全都選擇進行覆蓋
4.1.3 打包Hadoop分發(fā)至datanode
進入到software目錄后,對hadoop進行打包
cd /software
tar -czvf hadoop.tar.gz hadoop
將其進行分發(fā)
scp hadoop.tar.gz datanode:/software
scp hadoop.tar.gz (文件名) datanode(hosts里面的節(jié)點):/software(分發(fā)位置)
4.2 分節(jié)點配置 (datanode做)
經(jīng)過namenode分發(fā)之后,我們可以在各自的datanode里面看到
我們再對其進行解壓
cd /software
tar -zxvf hadoop.tar.gz hadoop
4.3 啟動集群(namenode做)
格式化集群
hdfs namenode -format
啟動集群
start-all.sh
jps查看狀態(tài)
jps
查看集群報告
hdfs dfsadmin -report
停止集群報告
stop-all.sh
5.如何檢查錯誤
5.1jdk是否安裝及是否為全局變量
java -version
查看是否可以現(xiàn)實java的信息,如果虛擬機java沒有報錯,但是我們在執(zhí)行Hadoop時候java報錯了,別忘記了在我們**hadoop-env.sh(詳見4.1.2.2)**文件處,也有個java需要配置。
/software/jdk/bin/java:沒有那個文件或目錄
5.2是否互聯(lián)互通
需要我每一臺主機可以ping通我們hosts里面的主機名
Namendoe
Datanodea
Datanodeb
Datanodec
5.3檢查免密登錄
特別是namenode節(jié)點到namenode節(jié)點
還有namenode節(jié)點到其他的datanode節(jié)點
ssh xxx(主機名)
5.4hadoop的配置文件
我們主機名 hosts 還有slaves名字是否一致(主要對于datanode來說),我們主節(jié)點的名字有沒有修改
6.常見問題和解決方案
6.1 ifcfg-eno16777736 ping不通外網(wǎng),外面ping不通虛擬機
1.在虛擬機內(nèi)ping 外網(wǎng)
ping wwww.baidu.com
前面IP請檢查是否為你修改的IP,如果沒有就是你沒有ifcfg-eno16777736沒有配置好
2.點擊你的虛擬機設(shè)置,檢查網(wǎng)絡(luò)是否為橋接(詳見 2.1 創(chuàng)建虛擬機)
3.檢查在物理機(windows上),是否存在VM網(wǎng)絡(luò)配置問題,一般vm沒刪干凈和配置出錯會有這個問題
在桌面空白處右擊,點擊個性化,進入設(shè)置,搜索控制面板
點擊查詢網(wǎng)絡(luò)狀態(tài)和任務(wù)
檢查是否為感嘆號
如果有請找到,VM的安裝包,在管理員模式下運行,嘗試修復(fù),修復(fù)后再次檢查,如果還不行,直接刪除再重新安裝也是可以的(記住你裝虛擬機的位置,你的虛擬機不會被刪除)文章來源:http://www.zghlxwxcb.cn/news/detail-740868.html
6.2 hdfs namenode -format失敗
那是我們格式化多次,我們需要對我們每一個節(jié)點生成的格式化文件進行刪除
詳見4.1.2.1 core-site.xml需對里面那個路勁全刪掉
(如果里面沒有重要數(shù)據(jù),直接全都刪除,重新初始化即可,如果有需要打開內(nèi)置文件對版本號進行手動修改)
結(jié)點信息存儲在core-site.xml文件中文章來源地址http://www.zghlxwxcb.cn/news/detail-740868.html
1.刪除兩臺主機“/data/hadoop”里面的內(nèi)容
rm -rf /data/hadoop
2.重新格式化
hadoop namenode -format
4.啟動hadoop
start-all.sh
6.3 hdfs dfsadmin -report全為0
用戶名不對
這個的原因是因為我們hostname和我們datanode主機名不一致導(dǎo)致的,比如我現(xiàn)在有三臺
IP 主機名
172.2.111.10 namendoe
172.2.111.11 datandoe1
172.2.111.12 datandoe2
172.2.111.13 datandoe3
然后我為了省事在hosts這樣寫
172.2.111.10 namendoe
172.2.111.11 dn1
172.2.111.12 dn2
172.2.111.13 dn3
然后在slaves這樣寫
dn1
dn2
dn3
就會出現(xiàn)這個錯誤,我們直接修改我們的主機名就可以了,全改成一樣的
到了這里,關(guān)于從零開始Hadoop安裝和配置,圖文手把手教你,定位錯誤(已部署成功)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!