1. 程式人生 > >zookeeper簡易配置及hadoop高可用安裝

zookeeper簡易配置及hadoop高可用安裝

zookeeper介紹
    是一個分散式服務的協調服務,叢集半數以上可用(一般配置為奇數臺),
    
    
    快速選舉機制:當叢集中leader掛掉,所有小弟會投票選舉出新的leader。
    快速同步資料:zk將會儲存小量用於服務做協調的資料。
    
    標準檔案系統用於儲存大量資料;而zk儲存小量協調資料
    標準檔案系統檔案就是檔案,目錄就是目錄;zk中檔案既是目錄。


1.zookeeper的安裝與啟動
    
    解壓並配置環境變數
    配置./conf/zoo.cfg
        tickTime=2000  zk中時間單元
        initLimit=5    小弟連線老大的超時時間
        syncLimit=2    同步資料的超時時間
        dataDir=/home/zkdata
        clientPort=2181
        server.100=hadoop01:2888:3888  
        server.200=hadoop02:2888:3888
        server.300=hadoop03:2888:3888
        100(x)是server的id,2888是各個服務的通訊埠,3888選舉埠

    分發到每一臺伺服器中
    建立資料目錄,並建立myid檔案
        mkdir /home/zkdata
        echo 100 > /home/zkdata/myid

    啟動zk的服務:
        zkServer.sh status/start/stop [./conf/zoo.cfg]

    連線zk的叢集:
        zkCli.sh [-server hadoop02:2181]
        
        
2.zk的簡單使用
    增 : create  /name 'sand'          建立永久節點
                create -s /name 'sand'         建立臨時順序節點
                create -e /name 'sand'         建立臨時節點
                get該節點資訊:ephemeralOwne不為0 則是臨時節點,其值為SessionID
    刪:    delete  /name                         刪除無子節點的節點
                rmr /name/sex                         遞迴刪除
    改:    set /name 'me'                更新節點
    查:  ls /name/                                    檢視name節點下節點資訊
                get /name                                    檢視name節點資料
                
                
3.hadoop高可用配置
    參照官網完成叢集XML檔案配置
    
    第一次hdfs的高可用流程:
        先啟動zk叢集(格式化zkfc之前必須要啟動zk叢集)
        zkServer.sh start
        
        啟動journalnode叢集: (不啟動namenode無法格式化)
        hadoop-daemons.sh start journalnode

        選擇一臺namenode進行格式化,然後並啟動
        hdfs namenode -format
        hadoop-daemon.sh start namenode
        
        再在另一臺namenode的伺服器上進行拉去元資料操作(手動遠端copy)
        hdfs namenode -bootstrapStandby
        
        格式化zkfc
        hdsf zkfc -formatZK

        啟動hdfs的模組:
        start-dfs.sh

        測試是否自動切換namenode: