CentOS6.5x64搭建Hadoop環境
首先總結一下之所以被搭建大數據環境支配的原因:浮躁。 總是坐不住,總是嫌視頻太長,總是感覺命令太雜太多,所以就不願去面對。
在抖音上聽到一句話:“為什麽人們不願吃學習的苦而能吃社會的苦? 因為學習的苦需要主動去吃,所以沒人願意,到了社會上,社會的苦不得不吃。”
有些時候,有些坎坷,我們必須要親身經歷,就算你逃避,也終有一天會面對它。就像我,覺得教科書文字枯燥,不如看視頻跟著敲直接。但是繞了一圈,終究我還是回歸到了教科書。
我發現白彥峰老師編的這本《大數據技術基礎實驗教程》真是一本神書!只要,你一步一步跟著做,別跑偏,保準沒有Bug。
大致流程我分成了六件事情:
第一件事:配置VMWare Workstation的NAT模式的IP
需要資源:VMWare Workstations版本9及以上
這需要你掌握以下幾個名詞:
1. 網絡適配器
1.1 橋接模式
1.2 NAT模式
1.3 僅主機模式
2. 子網IP
3. 子網掩碼
4. 網關
5. DNS
第二件事:手動配置IP
需要資源:CentOS6.5x64位操作系統
你需要掌握以下幾個名詞:
1. Linux操作系統
2. 32位、64位操作系統及應用軟件
3. IPv4協議
3.1 DHCP獲取IP
3.2 手動設置IP
4. /etc/hosts
5. /etc/sysconfig/network
第三件事:安裝JDK
需要資源:jdk1.7或jdk1.8或jdk11x64位安裝包
你需要掌握以下幾個名詞:
1. Oracle公司
2. JDK版本
3. 環境變量
3.1 ~/.bash_profile、~/.bashrc、/etc/profile的區別
3.2 JAVA_HOME 和 PATH 的關系
第四件事:SSH免密登錄
需要資源:無
你需要掌握以下幾個名詞:
1. ssh協議
2. 授權文件authorized_keys及其文件權限600
3. 私鑰id_rsa及公鑰id_rsa.pub
第五件事:安裝配置Hadoop
需要資源:Hadoop-2.*x64位二進制安裝包
你需要掌握以下幾個名詞:
1. Apache組織
2. Hadoop軟件文件組成
3. 兩個環境變量配置文件
3.1 Hadoop中配置JAVA環境變量文件:hadoop-env.sh
3.2 Yarn中配置JAVA環境變量文件 : yarn-env.sh
4. 四個必要的配置文件
4.1 核心組件配置文件: core-site.xml
4.2 文件系統配置文件: hdfs-site.xml
4.3 yarn配置文件: yarn-site.xml
4.4 MapReduce配置文件:mapred-site.xml
5. 一個節點文件:slaves
6. ssh跨主機遞歸復制文件命令 scp -r
第六件事:啟動集群
資源:三個主機
你需要掌握以下幾個名詞:
1. HDFS
2. namenode 的格式化
3. start-dfs.sh 命令
4. start-yarn.sh 命令
5. jps命令
namenode
seconderynamenode
datanode
sourcemanager
nodemanager
jps
5. 端口50070、9000、18088
6. MapReduce實例
接下來說說我和Bug鬥爭的心酸血淚史(深夜胡話,只有我自己能看懂,建議略過):
第一件事:配置VMWare Workstation的NAT模式的IP
一開始我沒有配workstation的IP,覺得默認就可以了,操作黑盒子的結果就是導致無知。
後來,我知道了1. 網絡適配器,是一個驅動(軟件),我Windows的網就經常壞掉,然後經常去禁用網絡適配器。
後來,我知道了1.1 橋接模式、1.2 NAT模式、1.3 僅主機模式這三個網絡適配器分配IP的方式。
後來,我知道了2. 子網IP、3. 子網掩碼、4. 網關、5. DNS這幾個是怎樣結合起來構建整個網絡系統的。
第二件事:手動配置IP
由於一開始沒有配workstation的IP,直接導致了我沒有去操作系統裏面進行手動配置IP地址,同樣是操作黑盒子的結果就是導致無知。
後來,我知道了3. IPv4協議
後來,我知道了3.1 DHCP獲取IP與3.2 手動設置IP之間的區別
後來,我知道了4. /etc/hosts與5. /etc/sysconfig/network兩個文件的作用
順帶了解了一下1. Linux操作系統與2. 32位、64位操作系統及應用軟件的愛恨情仇
第三件事:安裝JDK
由於我學習JAVA的時候就了解過1. Oracle公司、2. JDK版本、3. 環境變量, 所以在這件事上沒吃多大的虧
唯一就是Windows上只分用戶、系統兩個環境變量 然而Linux中分三個環境變量:3.1 ~/.bash_profile、~/.bashrc、/etc/profile的區別
第四件事:SSH免密登錄
同樣是因為我之前學習Git的時候了解過1. ssh協議、2. 授權文件authorized_keys及其文件權限600、3. 私鑰id_rsa及公鑰id_rsa.pub 所以在這件事上是最輕松的。
這裏有個文件權限600,本可以說上一段的,但這裏只需要背住就行,authorized_keys文件的權限只能是600,否則文件不管用。
第五件事:安裝配置Hadoop
這件事先是從零開始聽說Hadoop,
後來,我才知道Hadoop屬於1. Apache
由於我跟著視頻操作,老師帶著了解過2. Hadoop軟件文件組成及文件配置,還有ssh連接與文件傳輸,
所以這件事上也相對輕松,不過有個坑是由於我的不小心,把yarn-site.xml中配置的<value>master:18088 </value> 端口號後面都誤加了一個空格,導致yarn的resourcemanager無法啟動,
找了半天,最後還是找到日誌文件,才看出一些端倪。 查看啟動日誌的方式是:
cd hadoop-2.8.5/logs/
tail -500 yarn-jmxx-resourcemanager-master.log
日誌告訴我說,number format error ,就一個number提醒了我,是不是端口號寫的有問題,一看果真是多了一個空格。
在此感激教會我看日誌的人,其博客地址:https://blog.csdn.net/u010180815/article/details/79070870?utm_source=blogxgwz2
第六件事:啟動集群
最後了,說兩點:
一開始由於沒有安裝書上的配置方法配置,導致hdfs生成的data、logs文件總是權限不足,這就會導致namenode無法啟動 需要先把data、logs文件夾刪除,然後再進行namenode格式化,才能啟動。
還有一件事就是,電腦配置不高的,跑MapReduce的時候,參數設置成5-10就可以了,否則一個計算pi,需要跑上20分鐘。
結尾:
搭建環境這麽麻煩,真的不想再讓你們遭罪,可以聯系我,找我要搭建好的鏡像資源。
能面談的面談,面談不了的發我QQ郵箱找我要:
出門記得點贊喲!
CentOS6.5x64搭建Hadoop環境