hadoop集群的搭建(分布式安裝)

集群

  • 計算機集群是一種計算機系統,他通過一組松散集成的計算機軟件和硬件連接起來高度緊密地協同完成計算工作。
  • 集群系統中的單個計算機通常稱為節點,通常通過局域網連接。
  • 集群技術的特點:

    1、通過多臺計算機完成同一個工作。達到更高的效率

    2、兩機或多機內容、工作過程等完全一樣。如果一臺死機,另一臺可以起作用

hadoop集群的物理分布

?

?

hadoop的分布式安裝大致過程(在《偽分布式安裝Hadoop》基礎上安裝)
1.1 分布結構 主節點(1個,是hadoop0):NameNode、JobTracker、SecondaryNameNode
      ?從節點(2個,是hadoop1、hadoop2):DataNode、TaskTracker
1.2 各節點重新產生ssh加密文件
1.3 編輯各個節點的/etc/hosts,在該文件中含有所有節點的ip與hostname的映射信息
1.4 兩兩節點之間的SSH免密碼登陸
    ssh-copy-id -i hadoop1
    scp /root/.ssh/authorized_keys hadoop1:/root/.ssh/
1.5 把hadoop0的hadoop目錄下的logs和tmp刪除
1.6 把hadoop0中的jdk、hadoop文件夾復制到hadoop1和hadoop2節點
    scp -r /usr/local/jdk hadoop1:/usr/local/
1.7 把hadoop0的/etc/profile復制到hadoop1和hadoop2節點,在目標節點中執行source /etc/profile
1.8 編輯hadoop0的配置文件slaves,改為從節點的hostname,分別是hadoop1和hadoop2
1.9 格式化,在hadoop0節點執行hadoop namenode -format
1.10 啟動,在hadoop0節點執行start-all.sh
****注意:對于配置文件core-site.xml和mapred-site.xml在所有節點中都是相同的內容。


2.動態的增加一個hadoop節點(將hadoop0變成hadoop0的一個從節點)
stop-all.sh
2.1 配置新節點的環境
2.2 把新節點的hostname配置到主節點的slaves文件中
2.3 在新節點,啟動進程
        hadoop-daemon.sh start datanode
        hadoop-daemon.sh start tasktracker
2.4 在主節點執行腳本 hadoop dfsadmin -refreshNodes


3.動態的下架一個hadoop節點
kill -9 DataNode進程號

?

*****************************************************************
* ? ? ?集群搭建實際操作步驟在《偽分布式安裝Hadoop》基礎上安裝? ? ? ?*
*****************************************************************

這下面是自己實際搭建過程中的詳細操作步驟:
1、Hadoop集群的搭建步驟(在《偽分布式安裝Hadoop》基礎上):
將之前搭建的偽分布式Hadoop的虛擬機,克隆多個。
VM--->虛擬機--->管理--->克隆--->完整克隆

2、配置克隆的兩個虛擬機的ip和修改三個虛擬機的主機名
配置ip:
  hadoop0 192.168.80.100
  hadoop1 192.168.80.101
  hadoop2 192.168.80.102

IP配置好了,重啟網卡,看是否配置成功。service network restart

修改主機名:
  vi /etc/sysconfig/network

修改完主機名后,重啟虛擬機,reboot -h now


修改之前的虛擬機hadoop0主機名:
  vi /etc/sysconfig/network ---修改主機名
  vi /etc/hosts ---修改ip和主機名的映射文件
修改配置文件里的主機名:
  cd /usr/local/hadoop/conf
  vi core-site.xml
  vi mapred-site.xml
修改完,重啟reboot -h now

將克隆的虛擬機中的一些文件刪除掉:
cd /root/.ssh/
ls
rm -rf *

cd /usr/local/
ls
rm -rf *

將hadoop1和hadoop2中的環境變量也刪除掉:
vi /etc/profile

?

設置三個節點的免密碼登錄:

?

ssh-keygen -t rsa
cd /root/.ssh/
cat id_rsa.pub >> authorized_keys ? ? ?---cat ?XXX ?>> ?YYY:向YYY文件中追加內容XXX
ssh localhost
exit
vi /etc/hosts ---先寫好映射文件
ssh hadoop1 ---再免密碼登錄時才會成功

hadoop0的主機名修改了,所以也要重新設置免密碼登錄!

三個虛擬機之間也應該要互相ping通(互相能訪問):所以每個虛擬機的/etc/hosts中要有三個虛擬機的ip和主機名映射!!
1、手動修改三個虛擬機中的/etc/hosts
vi /etc/hosts
192.168.80.100 hadoop0
192.168.80.101 hadoop1
192.168.80.102 hadoop2
2、然后需要將自己的公鑰復制給對方,這樣自己訪問對方的時候才不會要密碼登錄(注意:要是hadoop1和hadoop2沒有網絡連接,需要關閉虛擬機,重新將mac地址生成一次!)
hadoop0:ssh-copy-id -i hadoop1
ssh hadoop1
hadoop1:可以查看到是否有hadoop0的公鑰
more authorzied_keys
這樣hadoop0訪問hadoop1的時候,就可以直接訪問,不需要輸入hadoop1的密碼了。
同理,在hadoop2中再操作一遍,也能免密碼登錄hadoop1。
這樣在hadoop1中more authorized_keys中就會有三個主機的公鑰。為了簡化操作,可以將其復制給其他兩個主機中:
scp /root/.ssh/authorized_keys hadoop0:/root/.ssh/
scp /root/.ssh/authorized_keys hadoop2:/root/.ssh/

將hadoop0中/usr/local/hadoop/下的logs和tmp刪除掉:
cd /usr/local/hadoop/
rm -rf logs/
rm -rf tmp/

把hadoop0中的jdk、hadoop文件夾復制到其他兩個節點:
scp -r /usr/local/jdk hadoop1:/usr/local/
scp -r /usr/local/jdk hadoop2:/usr/local/
scp -r /usr/local/hadoop hadoop1:/usr/local/
scp -r /usr/local/hadoop hadoop2:/usr/local/

將hadoop0中的環境變量復制到其他兩個節點中:
scp /etc/profile hadoop1:/etc/
scp /etc/profile hadoop2:/etc/
復制完了以后,在hadoop1和hadoop2中分別都執行source /etc/profile

在主節點hadoop0中/usr/local/hadoop/conf/下,將slaves里面的localhost刪除掉,修改為hadoop1和hadoop2這兩個從節點的主機名
vi slaves
  hadoop1
  hadoop2

在hadoop0中執行格式化操作:hadoop namenode -format

再在hadoop0上執行start-all.sh就可以啟動hadoop集群了

然后可以在各個節點上查看相關情況:jps


也可以通過瀏覽器查看:hadoop0:50070 (需要在Windows中的hosts修改ip和主機名的映射)

?

?

?

*可以將SecondaryNameNode改為其他的節點上,可以是一個獨立的主機,這里將其改為hadoop1上:
  vi masters
    將里面的localhost改為hadoop1



安全模式

在分布式文件系統啟動的時候,開始的時候會有安全模式,當分布式文件系統處于安全模式的情況下,文件系統中的內容不允許修改也不允許刪除,
直到安全模式結 束。安全模式主要是為了系統啟動的時候檢查各個DataNode上數據塊的有效性,同時根據策略必要的復制或者刪除部分數據塊。
運行期通過命令也可以進入 安全模式。在實踐過程中,系統啟動的時候去修改和刪除文件也會有安全模式不允許修改的出錯提示,只需要等待一會
兒即可。

NameNode在啟動的時候首先進入安全模式,如果datanode丟失的block達到一定的比例(1- dfs.safemode.threshold.pct),則系統會一直處于安全
模式狀態即只讀狀態。 dfs.safemode.threshold.pct(缺省值0.999f)表示HDFS啟動的時候,如果DataNode上報的block個數達到了 元數據記錄的
block個數的0.999倍才可以離開安全模式,否則一直是這種只讀模式。如果設為1則HDFS永遠是處于SafeMode。

hadoop dfsadmin -safemode enter ---進入安全模式
hadoop dfsadmin -safemode leave ---離開安全模式
hadoop dfsadmin -safemode get ---查看安全模式狀態
hadoop dfsadmin -safemode wait

?

轉載于:https://www.cnblogs.com/ahu-lichang/p/6666910.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/456872.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/456872.shtml
英文地址,請注明出處:http://en.pswp.cn/news/456872.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

解決:Error establishing a database connection阿里云修改數據庫密碼

今天閑來無事想把所有的二級密碼改成一致的,所以就把阿里云的mysql數據庫的密碼改了,結果,打開頁面報錯了,下邊的截圖是我問題解決后,重新復現的。如果修復這個問題后wordpress登錄頁面白板,此時不要著急&a…

機器學習各算法思想(極簡版)

讀到的一篇不錯的文章,拿來和大家分享一下。 轉自–頭條公眾號–極數蝸牛 (1)線性回歸 回歸最早是由高爾頓研究子女身高與父母身高遺傳關系提出的,發現子女平均身高總是向中心回歸而得名。其實“一分辛苦一分才”中就蘊含了線性…

PAT A 1118. Birds in Forest (25)【并查集】

并查集合并 #include<iostream> using namespace std; const int MAX 10010; int father[MAX],root[MAX]; int findfather(int x){if(xfather[x]) return x;else{int Ffindfather(father[x]);father[x]F;return F;} } void Union(int a , int b){int faAfindfather(a);i…

斯坦福計算機錄取難嗎,申請斯坦福究竟有多難? 什么樣條件的人才能被斯坦福錄取?斯坦福大學直播!...

原標題&#xff1a;申請斯坦福究竟有多難&#xff1f; 什么樣條件的人才能被斯坦福錄取&#xff1f;斯坦福大學直播&#xff01;申請斯坦福究竟有多難&#xff1f; 什么樣條件的人才能被斯坦福錄取&#xff1f;斯坦福大學直播&#xff01;西海岸小哈佛之稱的斯坦福大學&#xf…

解決:building 'twisted.test.raiser' extension安裝scrapy報錯

解決&#xff1a;building twisted.test.raiser extension error: Microsoft Visual C 14.0 is required. Get it with "Microsoft Visual C Build Tools": https://visualstudio.microsoft.com/downloads/ 安裝scrapy報錯&#xff0c;在Twisted安裝部分 解決方案…

Linux配置網絡出現Eroor adding default gateway的解決方案

最近在學習有關大數據方面的東西&#xff0c;剛開始要搭建模擬的虛擬機集群。用的是Minimal CentOS6.7版本Linux下的系統。因為我要為各個虛擬機設置靜態IP&#xff0c;所以就參考網上博客說的進行如下操作: 一、安裝完系統后先配置網絡&#xff1a; cd /etc/sysconfig/netwo…

揭秘8大自媒體平臺注冊方法,通過率百分之九十

寫在前面&#xff1a;準備材料&#xff1a;手機號&#xff0c;郵箱&#xff0c;手持照&#xff0c;輔助材料(非必選項)&#xff0c;邀請碼(非必選項)。輔助材料萬能公式&#xff1a;方法①新浪博客16級博客發8篇相關的文章&#xff0c;昵稱、描述、頭像都與所注冊自媒體號對應&…

AC日記——簡單密碼 openjudge 1.7 10

10:簡單密碼 總時間限制: 1000ms內存限制: 65536kB描述Julius Caesar曾經使用過一種很簡單的密碼。對于明文中的每個字符&#xff0c;將它用它字母表中后5位對應的字符來代替&#xff0c;這樣就得到了密文。比如字符A用F來代替。如下是密文和明文中字符的對應關系。密文A B C D…

計算機表格怎么求面積,在wps表格中怎么把數據生成面積圖?

面積圖強調數量隨時間而變化的程度&#xff0c;適用于顯示有限數量的若干組數據。可以利用面積圖來分析銷售的數據。在這里我用3種品牌的手提電腦在 2010年四個季度的銷售量作為數據源&#xff0c;使用“堆積面積圖”來顯示各種手提電腦銷售量所占大小并隨時間變化的趨勢。那么…

機器學習如何解決問題

原文 http://tech.meituan.com/mt-mlinaction-how-to-ml.html 前言 前言 隨著大數據時代的到來&#xff0c;機器學習成為解決問題的一種重要且關鍵的工具。不管是工業界還是學術界&#xff0c;機器學習都是一個炙手可熱的方向&#xff0c;但是學術界和工業界對機器學習的研究…

Linux中python2和python3的pip設置 及清華安裝源

啟動python2&#xff0c;我們可以直接在命令行輸入&#xff1a;python2 啟動python3&#xff0c;我們可以在命令行輸入&#xff1a;python或者python3. 但是pip沒有設置的話&#xff0c;在命令行輸入 pip --version 或者 pip2 --version&#xff0c;指向的都是python2. 現在…

java 循環 基本類型

1.基本if選擇結構 格式&#xff1a;if&#xff08;布爾表達式&#xff09;{ 表達式結果為true&#xff0c;則執行此代碼塊 } 例&#xff1a;if(week <5 ){ System.out.println(“上班”) } 2.if else結構 格式&#xff1a;if(布爾表達式){ 表達式結果為true&#xff0c;則執…

CodePlex關閉,建議遷移至GitHub

Microsoft決定停止提供CodePlex開源項目免費托管服務。他們建議開發人員可以遷移到GitHub或任何其他托管服務提供商。\\盡管有些人希望CodePlex關閉的消息僅僅是4月1日愚人節玩笑&#xff0c;但是Microsoft副總裁Brian Harry已經證明這并不是一個玩笑。在提供服務11年之后&…

計算機最佳參數,對使用者來說,學會計算機性能參數提取,給出性能評價很重要...

對計算機進行系統信息提取&#xff0c;并且給出性能評價&#xff0c;可以這樣做先看思維導圖&#xff1a;對計算機進行系統信息提取&#xff0c;并且給出性能評價&#xff0c;可以通過軟件測試實現&#xff01;一、 關于硬件健康的問題&#xff0c;避免買到二手配件。硬盤的使用…

word如何在任意頁開始添加頁碼

第一步&#xff0c;將光標定位到需要插入頁碼的前一頁末尾。就是說&#xff0c;如果你想從第二頁開始添加頁碼&#xff0c;那么你就將光標定位到第一頁末尾&#xff0c;如圖&#xff1a; 然后按照圖中標出的提示&#xff0c;選擇“頁面布局”選項卡&#xff0c;點擊“分隔符…

跨越請求,關于后端session會話丟失的解決辦法(轉載)

目前使用前后端分離的模式開發&#xff0c;后端提供跨域接口、前端jsonp調用&#xff0c;綁定數據&#xff0c;但是在該站點下有個人中心模塊存在的情況下&#xff0c;服務端的session會話會被跨域請求覆蓋改掉 大家都知道tomcat使用cookie中jsessionid來區分客戶端session會話…

融云通訊服務器,vue使用融云即時通訊,老是報了發送失敗,服務器超時

created() {//建立連接RongIMLib.RongIMClient.init("lmxuhwagl5ukd"); //這是關鍵點&#xff0c;需要填寫appkey lmxuhwagl5ukdthis.StatusListener();this.getUser()},method&#xff1a;{//下面是建立連接的StatusListener(){//RongIMLib.RongIMCli…

Mongodb基本使用方法

一、操作mongodb數據庫 1、創建數據庫 語法&#xff1a;use 數據庫名 注意&#xff1a;如果數據庫不存在則創建數據庫&#xff0c;否則切換到指定的數據庫 注意&#xff1a;如果剛剛創建的數據庫不在列表內&#xff0c;如果要顯示它&#xff0c;我…

Device eth0 does not seem to be present,delaying initialization的解決辦法

最近由于重裝了操作系統導致之前配置好的集群出現了問題&#xff0c;需要修正一下&#xff0c;在剛開始為NameNode配置網絡設置的時候&#xff0c;已經按照網上的相關步驟配置好了ifcfg-eth0文件中的內容&#xff0c;但在ifconfig時卻無法觀察到設置的靜態IP地址&#xff0c;后…