<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Ubuntu上進行Zookeeper集群部署

      1.zookeeper下載

      版本無特別要求,一般最新穩定版即可。

      這里給出3.8.4的下載鏈接。(點擊即可直接下載)

      zookeeper官網:https://zookeeper.apache.org/

      2.zookeeper安裝與使用

      (0)!!! 在開始之前,確保你所有機器的用戶名相同,即hadoop@masterhadoop@salve01hadoop@salve02 等,要確保@ 前的用戶名相同,避免后續不必要的錯誤

      準備工作,所有機器上都要有
      配置好hosts文件
      安裝JAVA(盡量JDK8)
      安裝SSH
      所有機器上可以互相ping通
      master可以免密連接slave節點
      用戶名都相同

      (1)在自己電腦下載好zookeeper之后,粘貼到虛擬機的Downloads里,鼠標右鍵,點Paste即可粘貼。
      注:打開左邊第二個圖標,打開之后點Downloads,再粘貼
      (也可以復制鏈接到虛擬機的瀏覽器,直接在虛擬機下載,省的再復制粘貼)

      image

      (2)解壓文件、重命名、授權

      sudo tar -zxvf ~/Downloads/apache-zookeeper-3.8.4-bin.tar.gz -C /usr/local
      cd /usr/local
      sudo mv ./apache-zookeeper-3.8.4-bin ./zookeeper    //如果你的不是3.8.4,根據實際修改
      sudo chown -R hadoop ./zookeeper
      

      (3)配置環境變量

      sudo vim ~/.bashrc
      

      進入文件后,按上下方向鍵,翻到最后,插入下面語句(Ctrl+Shift+v 粘貼)

      #Zookeeper
      export ZOOKEEPER_HOME=/usr/local/zookeeper
      export PATH=${ZOOKEEPER_HOME}/bin:$PATH
      

      之后執行source ~/.bashrc 命令刷新環境變量,使配置生效。

      (4)新建data和logs目錄(data目錄用來存放數據庫快照,logs目錄用來存放日志文件)

      cd /usr/local/zookeeper
      mkdir logs
      mkdir data
      

      注:logs目錄中的.out文件為運行日志,可以查看報錯信息

      (5)配置文件zoo.cfg與myid

      注:因為zookeeper使用的配置文件為zoo.cfg,但是自帶的是zoo_sample.cfg模板文件,因此可以使用mv 命令重命名,或者直接vim編寫新文件。
      image

      cd /usr/local/zookeeper/conf/
      vim zoo.cfg
      

      粘貼下列內容,之后根據自己的實際機器,修改最后幾行的內容

      注:最后三行, = 后面的master、slave01名字等與hosts文件中配置的相同,即Hadoop@slave01,@后面的slave01.

      # The number of milliseconds of each tick
      # zookeeper時間配置中的基本單位 (毫秒)
      # Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,單位為毫秒
      tickTime=2000  
      
      # The number of ticks that the initial synchronization phase can take
      # 允許follower初始化連接到leader最?時?,它表示tickTime時間倍數
      # 表示允許從服務器連接到 leader 并完成數據同步的時間,總的時間長度就是 initLimit * tickTime 秒
      initLimit=10
      
      # The number of ticks that can pass between sending a request and getting an acknowledgement
      # 允許follower與leader數據同步最?時?,它表示tickTime時間倍數
      # 配置 Leader 與 Follower 之間發送消息、請求和應答時間長度,最長不能超過多少個 tickTime 的時間長度,總的時間長度就是 syncLimit * tickTime 秒 
      syncLimit=5
      
      # the directory where the snapshot is stored.
      # do not use /tmp for storage, /tmp here is just example sakes.
      #zookeper 數據存儲?錄及?志保存?錄(如果沒有指明dataLogDir,則?志也保存在這個?件中)
      # Zookeeper 保存數據的數據庫快照的位置
      dataDir=/usr/local/zookeeper/data
      
      # 事務日志路徑,若沒提供的話則用 dataDir
      dataLogDir=/usr/local/zookeeper/logs
      
      # the port at which the clients will connect
      # Zookeeper 服務器監聽的端口,以接受客戶端的訪問請求
      #對客戶端提供的端?號
      clientPort=2181
      
      # the maximum number of client connections.
      # increase this if you need to handle more clients
      # 限制連接到 ZK 上的客戶端數量,并且限制并發連接數量,值為 0 表示不做任何限制
      #單個客戶端與zookeeper最?并發連接數
      #maxClientCnxns=60
      
      # Be sure to read the maintenance section of the administrator guide before turning on autopurge.
      # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
      
      # The number of snapshots to retain in dataDir
      # 自動清理日志,該參數設置保留多少個快照文件和對應的事務日志文件,默認為 3,如果小于 3 則自動調整為 3
      # 保存的數據快照數量,之外的將會被清除
      #autopurge.snapRetainCount=3
      
      # Purge task interval in hours
      # Set to "0" to disable auto purge feature
      #自動觸發清除任務時間間隔,?時為單位。默認為0,表示不?動清除。
      #autopurge.purgeInterval=1
      
      # server.n n是一個數字,表示這個是第幾號服務器,“=”后面可跟主機地址或者IP地址,2888為集群中從服務器(follower)連接到主服務器(leader)的端口,為主服務器(leader)使用;3888為進行選舉(leader)的時使用的端口
      server.1=master:2888:3888
      server.2=slave01:2888:3888
      server.3=slave02:2888:3888
      
      

      ??再次提醒!!!集群部署,需要自行配置最后幾行的server,哪個機器需要zookeeper服務,就填哪個機器名。

      注1:配置文件時,注釋單獨一行寫,不能寫在參數后面,否則在解析時,會把注釋內容也識別為參數,導致報錯,日志內容如下
      image

      注2:配置文件時,dataDirdataLogDir的配置路徑,不要用環境變量來代替絕對路徑,例如dataDir=$ZOOKEEPER_HOME/data 是錯誤的。 ZooKeeper 的配置文件(zoo.cfg)本身不支持解析環境變量(如 $ZOOKEEPER_HOME),會把它當作普通字符串處理,導致無法正確識別路徑。導致報錯,日志內容如下
      image

      (6)壓縮文件,并發送到其他機器上

      cd /usr/local
      tar -zcvf ~/zookeeper.tar.gz ./zookeeper/
      scp ~/zookeeper.tar.gz hadoop@slave01:/home/hadoop/
      scp ~/zookeeper.tar.gz hadoop@slave02:/home/hadoop/
      

      (7)在slave01和slave02進行解壓縮,并配置環境變量

      sudo tar -zxvf ~/zookeeper.tar.gz -C /usr/local/
      sudo vim ~/.bashrc
      

      粘貼下面的環境變量

      #Zookeeper
      export ZOOKEEPER_HOME=/usr/local/zookeeper
      export PATH=${ZOOKEEPER_HOME}/bin:$PATH
      

      之后執行source ~/.bashrc 命令刷新環境變量,使配置生效。

      (8)配置myid文件(所有機器上都要做,包括master、slave)

      vim /usr/local/zookeeper/data/myid
      

      myid填寫數字,就是zoo.cfg文件中填寫的主機名前的數字。只填一個數字就行。
      image

      image

      (9)常用命令

      zkServer.sh start    //啟動zookeeper
      zkServer.sh stop   	 //停止zookeeper
      zkServer.sh status   //查看zookeeper運行狀態(至少啟動兩個節點再去查看,不然選舉失敗,狀態也是不正常)
      zkServer.sh version  //查看zookeeper版本
      zkServer.sh restart  //重啟zookeeper
      
      zookeeper客戶端:
      zkCli.sh			//進入zookeeper客戶端
      quit			    //退出客戶端
      deleteall 			//刪除文件夾及其子文件夾(例:deleteall /hbase)
      

      3.zookeeper啟動

      在每個機器上都單獨輸入 zkServer.sh start ,來啟動zookeeper。

      至少啟動兩個,然后輸入zkServer.sh status 查看啟動狀態。

      注:Hmaster與leader不在同一機器上,是正常現象。實際生產環境中,甚至會刻意將 HMaster 和 ZooKeeper Leader 部署在不同機器。

      1. 避免 “單點故障放大”
        如果二者在同一臺機器,一旦該機器宕機,會同時導致 HBase 失去主管理節點、ZooKeeper 集群失去 Leader(需重新選舉),雙重故障會大幅延長集群恢復時間;分開部署則只會影響單一組件,風險更可控。
      2. 減少資源競爭
        HMaster 需處理 HBase 的 Region 分配、元數據更新等計算;ZooKeeper Leader 需處理大量分布式鎖請求(如 HBase 依賴 ZooKeeper 實現 Master 選舉、RegionServer 心跳)。二者分開部署可避免 CPU、內存、網絡資源的相互搶占,提升各自性能。
      3. 符合 “組件解耦” 設計
        分布式架構的核心原則是 “組件解耦”,HBase 本身就是依賴 ZooKeeper 提供的分布式協調能力(而非依賴其物理節點),只要 HMaster 能通過網絡正常連接 ZooKeeper 集群(配置 hbase.zookeeper.quorum 指向 ZooKeeper 集群地址),就無需關心 ZooKeeper Leader 具體在哪臺機器。

      示例如下

      master節點

      image

      slave01節點

      image

      slave02節點

      image

      4.zookeeper是什么?為什么要用它?為什么不用Hbase自帶的?

      (1)ZooKeeper 是一款開源的分布式協調服務,核心作用是幫分布式系統(由多個獨立服務組成的系統)解決配置同步、節點管理、分布式鎖等協調問題,讓系統運行更穩定、有序。

      (2)

      1. 分布式數據庫 HBase 用它管理集群節點 ——ZooKeeper 實時監控 HBase 的主節點(Master)和從節點(RegionServer)狀態,若主節點故障,能快速從備用節點中選新主節點,避免數據庫服務中斷;
      2. 電商秒殺場景中,多個服務同時搶庫存易超賣,此時用 ZooKeeper 實現 “分布式鎖”—— 同一時間只允許一個服務操作庫存,確保庫存數據準確。

      可以類似于:學校運動會的總調度員”
      學校運動會有多個項目(對應分布式系統里的多個服務),每個項目需要知道比賽時間、場地安排(對應服務需要的配置信息),還要避免不同項目搶同一跑道(對應服務搶同一資源),且得實時掌握每個項目是否正常進行(對應監控服務節點狀態)。
      這時總調度員(ZooKeeper)的作用就是:提前把統一的賽程表(配置)發給所有項目組,協調好各項目的場地使用(分布式鎖),一旦某個項目出問題(比如裁判缺席),立刻通知替補人員頂上(節點故障切換),確保整個運動會(分布式系統)不混亂、不中斷。

      (3)HBase 自帶 ZooKeeper與獨立zookeeper的區別

      簡單來說就是單獨的zookeeper更加靈活、高效、安全

      對比維度 HBase 自帶 ZooKeeper 單獨的 ZooKeeper
      部署與維護成本 低:無需單獨下載部署,依賴 HBase 腳本啟動 / 停止,配置簡化(僅需在 HBase 配置文件中指定 ZooKeeper 參數)。 高:需單獨下載、配置(如zoo.cfg)、啟動,需獨立監控和運維,新增組件學習成本。
      獨立性與生命周期 弱綁定:ZooKeeper 隨 HBase 啟動而啟動、隨 HBase 停止而停止,無法單獨重啟或升級;HBase 故障可能直接影響 ZooKeeper。 完全獨立:ZooKeeper 可單獨啟動、停止、升級,生命周期與 HBase 無關;HBase 重啟 / 故障不影響 ZooKeeper 運行。
      擴展性 有限:僅支持單機模式或小規模偽集群(默認不支持 ZooKeeper 集群,需手動修改配置但兼容性差),無法滿足大規模集群需求。 靈活:支持單機、偽集群、完全分布式集群(3 + 節點,滿足高可用),可根據業務規模擴容 ZooKeeper 節點。
      穩定性與可靠性 較低:ZooKeeper 與 HBase 共享資源(CPU、內存、磁盤),HBase 高負載時可能導致 ZooKeeper 響應緩慢;無獨立監控,故障排查困難。 較高:資源隔離(獨立服務器 / 容器),避免 HBase 負載影響;可單獨配置監控(如 Zabbix、Prometheus),故障定位更高效。
      多組件兼容性 差:僅為 HBase 服務,無法被其他分布式組件(如 Kafka、Spark)復用,導致集群中存在多個 “孤立” ZooKeeper 實例,資源浪費且管理復雜。 好:可作為 “全局協調服務”,為 HBase、Hadoop、Kafka 等多個組件提供統一協調,減少資源冗余,簡化集群管理。
      版本與升級靈活性 低:ZooKeeper 版本與 HBase 綁定(如 HBase 2.5.0 默認自帶 ZooKeeper 3.5.9),升級 ZooKeeper 需先升級 HBase,無法單獨適配高版本 ZooKeeper 的新特性(如動態配置)。 高:ZooKeeper 版本可獨立選擇(需與 HBase 兼容,如 HBase 2.x 支持 ZooKeeper 3.4.x/3.5.x),可單獨升級 ZooKeeper,無需依賴 HBase 版本迭代。
      適用場景 小規模測試、開發環境、單機偽集群(追求快速搭建,無需高可用)。 生產環境、大規模 HBase 集群、多組件協同的分布式集群(需高可用、穩定性和擴展性)。
      posted @ 2025-09-15 09:13  Hunter_Code  閱讀(60)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久国产精品老人性| 欧美精品一区二区三区中文字幕| 99久久精品国产一区色| 亚洲成av人片在www鸭子| 亚洲国产一区二区三区| 色窝窝免费播放视频在线 | 国产精品尤物乱码一区二区| 亚洲AV永久无码天堂网一线| 亚洲一区av无码少妇电影| 中文字幕乱妇无码AV在线| 精品熟女少妇av免费久久| 蜜桃视频在线观看网站免费| 福鼎市| 在线a亚洲v天堂网2018| 青青国产揄拍视频| 日本中文一区二区三区亚洲| 国产盗摄xxxx视频xxxx| 57pao成人国产永久免费视频| 高级艳妇交换俱乐部小说| 国产精品国产自产拍在线| 久久亚洲精品11p| 国产明星精品无码AV换脸| 亚洲av综合av一区| 久久婷婷五月综合色99啪ak| 57pao成人国产永久免费视频| 国产精品乱子乱xxxx| 国产乱码精品一区二区三上| 在线日韩日本国产亚洲| 日夜啪啪一区二区三区| 国产女人叫床高潮大片| 99精品国产兔费观看久久99 | 国产精品毛片一区视频播| 91毛片网| 日韩人妻一区中文字幕| 精品国精品无码自拍自在线| 一本久道久久综合久久鬼色| 97成人碰碰久久人人超级碰oo| 丰满少妇被猛烈进出69影院| 亚洲自拍精品视频在线| 国产精品爱久久久久久久| 少妇人妻偷人精品免费|