linux 安裝hadoop 的四大執行模式——完全分佈模式(版本2.9.1)
hadoop完全分散式模式:hadoop的守護執行緒在不同的伺服器上(具體定義請自行查詢)
本機部署:實在前一篇文章偽分散式部署下進行操作的:
偽分佈部署連結:https://blog.csdn.net/weixin_39435629/article/details/84841252
前期準備:
本機使用虛擬機器測試:故需要繼續構建幾臺伺服器,通過克隆的形式,(jdk無需配置,hadoop的基本環境已構建)
複製三臺伺服器:
準備一:設定ip和hostname
ip |
hostname |
192.168.44.102 | h102 |
192.168.44.103 | h103 |
192.168.44.104 | h104 |
備註:關於固定伺服器的ip和hostname 建議檢視部落格。
連結:https://blog.csdn.net/weixin_39435629/article/details/84861344
準備二;使h101可以免登入進入h102,h103,h104
部落格連結:https://blog.csdn.net/weixin_39435629/article/details/84847685
準備三: 建立hostname與ip的連結 (注意四臺伺服器均得修改)
前期準備測試:
ip結果:
SSH結果:
再進行正式部署之前,為了方便可以在h101上直接檢視剩餘三臺伺服器的狀態,同時為了分發檔案時候的方便,書寫兩個指令碼,
也可省略,但後續的相關操作,請自行分發或依次在服務上執行檢視狀態
指令碼編寫連結:https://blog.csdn.net/weixin_39435629/article/details/84871851
伺服器配置hadoop守護程序介紹:
h101 主伺服器 namenode(名稱節點) secondaryname (輔助名稱節點) resourcemanager(資源管理器)
h102 副伺服器 datanode(資料節點)nodemanager(資料節點管理器)
h103 副伺服器 datanode(資料節點)nodemanager(資料節點管理器)
h104 副伺服器 datanode(資料節點)nodemanager(資料節點管理器)
1、複製偽分佈配置(pseudo)為full檔案
2、配置詳情(在h101上操作)
1) core-site.xml 修改(fs.defaultFS)屬性
原來:
之後:使用hostname代替
2)hdfs-site.xml 修改(dfs.replication)屬性(副本數) 為3
原來:
之後:
3)檢視yarn-site.xml 中 yarn.resourcemanager.hostname 屬性,是否為本機(h101)主機名
原來:
4)設定當前目錄的slaves檔案
原來:
之後:新增資料節點的hostname
3、重新建立hadoop與full的連結
之前:
之後: 命令:$>ln -snf /soft/hadoop/etc/full hadoop (強制替換原來的連結)
4、通過xsync.sh 將編寫的full檔案分發到剩餘伺服器(若是沒有,請手動一個個複製到其餘伺服器中)
切記注意full後的斜槓要去掉(加“/”複製檔案裡的內容 不加“/”複製該檔案)
結果:
5、執行xcall.sh(批量執行指令碼) 將full與hadoop建立軟連線
6、將日誌檔案(/soft/hadoop/logs)內和以前的資料檔案(/tmp)檔案內 全部刪除 注意(四臺伺服器上均執行)
7、格式化資料節點(h101上操作)
8、在h101上執行命令:$>start-all.sh (啟動四臺伺服器上的hadoop的幾大守護程序)
9、頁面驗證:
檢視資料節點個數:
備註:一般按此hadoop版本(2.9.1)的配置基本沒問題,如果有報錯,請大家驗證hostname與ip的配置是否正確,
一次檢查每個配置檔案。然後記得驗證步驟(1、停掉所有的hadoop的守護程序(或kill掉)2、刪除日誌檔案(logs)和資料檔案(/tmp)3、格式化名稱節點 4、然後重啟hadoop驗證 )
一般自己聯絡時設定三個資料節點(h102,h103,h104),但實際使用的時候建議配置至少四個資料節點(防止有掛掉的)
配置檔案彙總:(/etc/full檔案下)
命令彙總:(一般常在主伺服器上執行 h101)
$>hadoop-daemon.sh start namenode (單獨啟動名稱節點)
$>hadoop-daemons.sh start datanode (啟動多個名稱節點)
$>hdfs namenode -format (格式化名稱節點)
$>jps (檢視hadoop的守護程序 xcall.sh jps (將多臺伺服器的hadoop的守護程序集中顯示))
$>hdfs (檢視hdfs 命令的幫助 )
$>hdfs dfs (檢視 hdfs dfs 命令的幫助)
備註:也可將輔助名稱節點(secondarynamenode) 部署到另外的伺服器上 (後續HA高可用會進一步介紹 )。