1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      hadoop的HA-創(chuàng)新互聯(lián)

      1. 為什么要搭建HA?

      在hadoop2.x之前,在HDFS 集群中NameNode 存在單點(diǎn)故障 (SPOF:A Single Point of Failure)。對(duì)于只有一個(gè) NameNode 的集群,如果 NameNode 機(jī)器出現(xiàn)故障(比如宕機(jī)或是軟件、硬件升級(jí)),那么整個(gè)集群將無法使用,必須等到 NameNode 重新啟動(dòng),之后才能對(duì)外提供服務(wù),這個(gè)方式在生成環(huán)境中是絕對(duì)不允許出現(xiàn)的。
      HDFS 的 HA:通過配置 Active/Standby 兩個(gè) NameNodes 實(shí)現(xiàn)在集群中對(duì) NameNode 的熱備來解決上述問題。如果出現(xiàn)故障,如機(jī)器崩潰或機(jī)器需要升級(jí)維護(hù),這時(shí)可通過此種方式將 NameNode 很快的切換到另外一臺(tái)機(jī)器。

      浚縣網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)于2013年開始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)

      2. HA的工作原理?

      hadoop的HA
      解釋(數(shù)據(jù)一致以及持久化問題):

      • 當(dāng)hdfs客戶端連接namenode時(shí),namenode啟動(dòng)時(shí),會(huì)向JN集群提交edtis log(操作記錄日志)。
      • 此時(shí)在JN集群中,當(dāng)有一半的集群服務(wù)成功的接收到了消息,然后返回給namenode,這就表示edits log上傳成功。
      • 此時(shí)NameNode(standBy),需要從JN集群取回元數(shù)據(jù)信息,然后整合新的fsimage,然后推送回NameNode(active)
      • 在NameNode(standBy)向JN索要數(shù)據(jù)的時(shí)候,首先在JN中會(huì)查看是否有宕機(jī)的機(jī)器,采用過半機(jī)制(當(dāng)集群中有部分服務(wù)器宕機(jī)時(shí),此時(shí)集群會(huì)將大部分可以使用的機(jī)器作為主,其他的機(jī)器全部停止服務(wù)),去向備機(jī)(standBy)提供對(duì)外的數(shù)據(jù)傳輸。
      • 在解決block 塊信息時(shí),此時(shí)datanode會(huì)向兩臺(tái)namenode都發(fā)送block 塊信息。
        解釋(解決主備切換問題):
      • 此時(shí)需要使用到另外一個(gè)集群zookeeper,zookeeper集群是一個(gè)高可用的集群,它的實(shí)現(xiàn)機(jī)制是,首先是一個(gè)服務(wù)器提供對(duì)外的服務(wù),其他的機(jī)器是備機(jī),當(dāng)主機(jī)壞了的時(shí)候,此時(shí)zookeeper集群中采取投票機(jī)制(邏輯時(shí)鐘,ID號(hào),以及數(shù)據(jù)的更新程度),選出新的主。
      • 此時(shí)ZKFC務(wù)控制線程一直手抓住了zookeeper集群,另一只手抓住了NameNode。
        • 抓住NameNode(active)的服務(wù)控制,監(jiān)控NameNode(active)的狀態(tài),實(shí)時(shí)的向zookeeper集群匯報(bào)。
        • 住NameNode(standBy)的服務(wù)控制,接收zookeeper集群發(fā)送的信息,如果發(fā)送過來的信息,表示主NameNode已停止服務(wù),立刻調(diào)用服務(wù)控制中的回調(diào)函數(shù),讓NameNode(standBy)變成主機(jī)繼續(xù)提供服務(wù)。
      • ? 以上的作用是一個(gè)和keeplive相同的作用,使用zookeeper不同之處在于,如果服務(wù)控制處出現(xiàn)進(jìn)程的異常退出時(shí),此時(shí)通過zookeeper集群會(huì)將備機(jī)改為active狀態(tài),此時(shí)主機(jī)可能還是active,就造成了兩臺(tái)active的NameNode。在zookeeper中是這樣解決的:當(dāng)有一個(gè)服務(wù)控制進(jìn)程異常退出后,他會(huì)有一只無形的手去連接另外一臺(tái)NameNode,并且在可控的范圍內(nèi),將其變成主(active),而將自己無法控制的那臺(tái)NameNode,變成備機(jī)。

        3. HA的集群搭建?

        搭建集群前的準(zhǔn)備:https://blog.51cto.com/14048416/2341450
        zookeeper集群的搭建:https://blog.51cto.com/14048416/2336178

        1)集群的規(guī)劃

        hadoop的HA

        2)具體安裝步驟:

        1)上傳安裝包 hadoop-2.6.5-centos-6.7.tar.gz
        2)解壓到對(duì)應(yīng)的安裝目錄

        [hadoop@hadoop01 ~]$tar -zxvf hadoop-2.6.5-centos-6.7.tar.gz -C /home/hadoop/apps/

        3)修改配置文件

        hadoo-env.sh:
        加入:export JAVA_HOME= /usr/local/jdk1.8.0_73

      core-site.xml

      
      
      
      fs.defaultFS
      hdfs://myha01/
      
      
      
      hadoop.tmp.dir
      /home/hadoop/data/hadoopdata/
      
      
      
      ha.zookeeper.quorum
      hadoop01:2181,hadoop02:2181,hadoop03:2181
      
      

      hdfs-site.xml

      
      
      
       dfs.replication
       3
      
      
      
       dfs.nameservices
       myha01
      
      
      
       dfs.ha.namenodes.myha01
       nn1,nn2
      
      
      
       dfs.namenode.rpc-address.myha01.nn1
       hadoop01:9000
      
      
      
       dfs.namenode.http-address.myha01.nn1
       hadoop01:50070
      
      
      
       dfs.namenode.rpc-address.myha01.nn2
       hadoop02:9000
      
      
      
       dfs.namenode.http-address.myha01.nn2
       hadoop02:50070
      
      
      
       dfs.namenode.shared.edits.dir
      qjournal://hadoop01:8485;hadoop02:8485;hadoop03:8485/myha01
      
      
      
       dfs.journalnode.edits.dir
       /home/hadoop/data/journaldata
      
      
      
       dfs.ha.automatic-failover.enabled
       true
      
      
      
      
       dfs.client.failover.proxy.provider.myha01
      org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverPr
      oxyProvider
      
      
      
       dfs.ha.fencing.methods
       
       sshfence
       shell(/bin/true)
       
      
      
      
       dfs.ha.fencing.ssh.private-key-files
       /home/hadoop/.ssh/id_rsa
      
      
      
       dfs.ha.fencing.ssh.connect-timeout
       30000
      
      

      mapred-site.xml

      
      
      
       mapreduce.framework.name
       yarn
      
      
      
      mapreduce.jobhistory.address
      hadoop02:10020
      
      
      
      mapreduce.jobhistory.webapp.address
      hadoop02:19888
      
      

      yarn-site.xml

      
      
      
       yarn.resourcemanager.ha.enabled
       true
      
      
      
       yarn.resourcemanager.cluster-id
       yrc
      
      
      
       yarn.resourcemanager.ha.rm-ids
       rm1,rm2
      
      
      
       yarn.resourcemanager.hostname.rm1
       hadoop01
      
      
       yarn.resourcemanager.hostname.rm2
       hadoop02
      
      
      
       yarn.resourcemanager.zk-address
       hadoop01:2181,hadoop02:2181,hadoop03:2181
      
      
      
       yarn.nodemanager.aux-services
       mapreduce_shuffle
      
      
      
       yarn.log-aggregation-enable
       true
      
      
      
       yarn.log-aggregation.retain-seconds
       86400
      
      
      
       yarn.resourcemanager.recovery.enabled
       true
      
      
      
       yarn.resourcemanager.store.class
      org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore
      
      

      slaves

      hadoop01
      hadoop02
      hadoop03
      4)分發(fā)安裝包到其他機(jī)器

      [hadoop@hadoop01 apps]$scp -r hadoop-2.6.5 hadoop@hadoop02:$PWD
      [hadoop@hadoop01 apps]$scp -r hadoop-2.6.5 hadoop@hadoop03:$PWD

      5)分別配置環(huán)境變量

      [hadoop@hadoop01 apps]$ vi ~/.bashrc
      添加兩行:

      export HADOOP_HOME=/home/hadoop/apps/hadoop-2.6.5
      export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

      [hadoop@hadoop01 apps]$ source ~/.bashrc

      6)集群初始化操作

      先啟動(dòng) zookeeper 集群
      啟動(dòng):zkServer.sh start
      檢查啟動(dòng)是否正常:zkServer.sh status
      啟動(dòng) journalnode 進(jìn)程
      [hadoop@hadoop01 ~]$ hadoop-daemon.sh start journalnode
      [hadoop@hadoop02 ~]$ hadoop-daemon.sh start journalnode
      [hadoop@hadoop03 ~]$ hadoop-daemon.sh start journalnode
      然后用 jps 命令查看是否各個(gè) datanode 節(jié)點(diǎn)上都啟動(dòng)了 journalnode 進(jìn)程
      在第一個(gè) namenode 上執(zhí)行格式化操作
      [hadoop@hadoop01 ~]$ hadoop namenode -format
      hadoop的HA
      然后會(huì)在 core-site.xml 中配置的臨時(shí)目錄中生成一些集群的信息把他拷貝的第二個(gè) namenode 的相同目錄下
      hadoop.tmp.dir
      /home/hadoop/data/hadoopdata/
      兩個(gè) namenode 節(jié)點(diǎn)該目錄中的數(shù)據(jù)結(jié)構(gòu)是一致的
      [hadoop@hadoop01 ~]$ scp -r ~/data/hadoopdata/ hadoop03:~/data
      或者在另一個(gè)namenode節(jié)點(diǎn)上使用:hadoop namenode -bootstrapStandby
      格式化 ZKFC(在一臺(tái)集群上格式化即可):
      [hadoop@hadoop01 ~]$ hdfs zkfc -formatZK
      啟動(dòng) HDFS
      [hadoop@hadoop01 ~]$ start-dfs.sh
      啟動(dòng) YARN
      [hadoop@hadoop01 ~]$ start-yarn.sh
      若備用節(jié)點(diǎn)的 resourcemanager 沒有啟動(dòng)起來,則手動(dòng)啟動(dòng)起來:
      [hadoop@hadoop02 ~]$ yarn-daemon.sh start resourcemanager

      7)補(bǔ)充:

      查看各主節(jié)點(diǎn)的狀態(tài)
      HDFS:
      hdfs haadmin -getServiceState nn1
      hdfs haadmin -getServiceState nn2

      YARN:
      yarn rmadmin -getServiceState rm1
      yarn rmadmin -getServiceState rm2

      4. HA的集群搭建后測試

      1.手動(dòng)殺死active的namenode,看看集群的狀況
      2.手動(dòng)殺死active的resourcemanager,看看集群的狀況
      3.在上傳文件時(shí),殺死namenode,查看集群狀況
      4.在執(zhí)行任務(wù)時(shí),殺死resourcemanager,查看集群狀態(tài)

      另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


      本文題目:hadoop的HA-創(chuàng)新互聯(lián)
      網(wǎng)站鏈接:http://ef60e0e.cn/article/desdjo.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        威信县| 峨边| 苗栗县| 贺兰县| 嫩江县| 临邑县| 兴隆县| 诸暨市| 拉萨市| 新巴尔虎左旗| 滦南县| 碌曲县| 区。| 安龙县| 万源市| 贞丰县| 大同市| 清涧县| 衡东县| 崇明县| 盘山县| 措勤县| 桃园市| 邛崃市| 信丰县| 伊宁市| 达州市| 方城县| 平塘县| 普宁市| 会同县| 江源县| 高青县| 饶平县| 大英县| 宁远县| 海晏县| 肥城市| 饶阳县| 绩溪县| 永川市|