Zookeeper的概述、安裝部署及選舉機制

来源:https://www.cnblogs.com/HelloBigTable/archive/2019/02/25/10433358.html
-Advertisement-
Play Games

一、Zookeeper概述 1.Zookeeper是Hadoop生態的管理者,它致力於開發和維護開源伺服器,實現高度可靠的分散式協調。 2.Zookeeper的兩大功能: (1)存儲數據 (2)監聽 3.Zookeeper的工作機制,如圖: 4.Zookeeper存儲結構,以樹狀結構存儲 5.Zoo ...


一、Zookeeper概述

  1.Zookeeper是Hadoop生態的管理者,它致力於開發和維護開源伺服器,實現高度可靠的分散式協調。

  2.Zookeeper的兩大功能:

    (1)存儲數據

    (2)監聽

  3.Zookeeper的工作機制,如圖:

  4.Zookeeper存儲結構,以樹狀結構存儲

  5.Zookeeper的應用場景

   (1)集群統一的配置、命名管理

    比如搭建hdfs集群時,修改完配置文件要將文件發送到其他機器中,

    zookeeper可以快速的將配置文件發送到所有機器;

    再比如百度的功能變數名稱:www.baidu.com,這個功能變數名稱其實對應了許多伺服器,

    zookeeper的一個目錄結構命名為baidu,其子節點對應了很多伺服器,zookeeper直接分配ip即可。

   (2)伺服器的動態上下線感知

    比如qq好友上下線時的提示音

   (3)負載均衡

    可以使每個伺服器的訪問量大致相同

 

二、Zookeeper集群的安裝部署

  1.登陸官網下載安裝包(本人使用的是3.4.10),上傳到linex集群並解壓;

    zookeeper.apache.org

    tar -zxvf zookeeper-3.4.10.tar.gz 

  2.進入zookeeper/conf下,重命名zoo-sample.cfg為zoo.cfg

  進入zoo.cfg文件,修改配置信息:

    dataDir=/root/hd/zookeeper-3.4.10/zkData 
      ################cluster#####################
      server.1=hd1-1:2888:3888
      server.2=hd1-2:2888:3888
      server.3=hd1-3:2888:3888

   保存並退出;

  3.回到zookeepr目錄下,創建zkData文件夾,進入該文件夾創建文件myid

    編輯文件myid,內容為1;

  4.將配置好的zookeeper文件夾發送他集群其他機器

    scp -r /root/hd/zookeeper/ hd1-2:/root/hd/ 

  5.修改環境變數(略),並將修改好的環境變數發送到其他機器,並生效!!

  6.啟動Zookeeper、關閉Zookeeper、查看狀態

    zkServer.sh start

    zkServer.sh stop

    zkServer.sh status

 

三、Zookeeper的選舉機制

  描述:

  1.當第一臺機器啟動時它會給自己一票、第二台啟動時前兩台機器都會給第二台機器一票,以此類推;

  2.當第n台機器的票數等於zk集群節點數x的x+1/2時,第n台機器會成為集群的leader;

  3.在啟動集群時若機器同時啟動且票數一樣,則會預設選中myid大的機器作為leader。

  4.企業中zookeeper集群的節點數為基數台!且zookeeper集群只要有一半以上的節點存活即可正常工作。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • win7下建立超級隱藏賬戶 實驗目的: 隱藏用戶,不讓管理員簡單的發現 隱藏方法: 1.命令提示符中創建隱藏賬戶這種方法只能將賬戶在"命令提示符"中進行隱藏,而對於"電腦管理"則無能為力。因此這種隱藏賬戶的方法並不是很實用,只對那些粗心的管理員有效,是一種入門級的系統賬戶隱藏技術 2. 註冊表隱藏 ...
  • --crontab檢查是否安裝[oracle@rac1 ~]$ rpm -qa | grep crontabcrontabs-1.10-8啟動與關閉[oracle@rac1 ~]$ /etc/init.d/crond stop/start/restart/reload全局配置文件[root@rac1 ...
  • 1.運行 gpedit.msc →computer configuration→administrative templates→windows componets→Remote Desktop→Remote Desktop session host→Connections→Limit number ...
  • 在Linux系統下,有七類文件類型: 普通文件( ) 目錄(d) 軟鏈接(字元鏈接L) 套接字文件(S) 字元設備(S) 塊設備(B) 管道文件(命名管道P) 普通文件、目錄、軟鏈接無需多解釋。 管道文件 管道分為 匿名管道和命名管道 。管道都是一端寫入、另一端讀取,它們是單方向數據傳輸的,它們的數 ...
  • 首先添加php官方源 $ sudo add-apt-repository ppa:ondrej/php 然後更新源 $ sudo apt-get update 然後安裝 $ sudo apt-get install php7.0 php7.0-cli php7.0-fpm php7.0-gd php ...
  • 轉自:http://www.maomao365.com/?p=8102 摘要: 下文講述向已存在表上添加新欄位及欄位備註的方法,如下所示: 實驗環境:sql server 2008 R2 1. 添加新欄位及欄位備註的語法USE 資料庫名ALTER TABLE 表名 ADD 欄位名 類型 預設值 是否 ...
  • 最近項目升級,需要把原來的oracle版本改為sql server版本。由於項目的分層設計,主要的修改內容也就是存儲過程,sql語句。如今改的七七八八,整理一下踩過的坑,備忘! ...
  • 一、監聽某一節點內容 二、監聽某節點目錄的變化 三、Zookeeper當太上下線的感知系統 1.需求:某分散式系統中,主節點有多台,可以進行動態上下限,當有任何一臺機器發生了動態的上下線, 任何一臺客戶端都能感知得到 2.思路: (1)創建客戶端與服務端 (2)啟動client端 並監聽 (3)啟動 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...