国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Zookeeper 集群搭建

這篇具有很好參考價值的文章主要介紹了Zookeeper 集群搭建。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Zookeeper

Zookeeper是一個開源的分布式的,為分布式框架提供協(xié)調(diào)服務的Apache項目

Zookeeper 工作機制

Zookeeper從設(shè)計模式角度來理解:是一個基于觀察者模式設(shè)計的分布式服務管理框架

一旦這些數(shù)據(jù)的狀態(tài)發(fā)生變化,Zookeeper就將負責通知已經(jīng)在Zookeeper上注冊的那些觀察者做出相應的反應

也就是說 Zookeeper = 文件系統(tǒng) + 通知機制

特點

  • Zookeeper:一個領(lǐng)導者(Leader),多個跟隨者(Follower)組成的集群。
  • Zookeepe集群中只要有半數(shù)以上節(jié)點存活,Zookeeper集群就能正常服務。所以Zookeeper適合安裝奇數(shù)臺服務器。
  • 全局數(shù)據(jù)一致:每個Server保存一份相同的數(shù)據(jù)副本,Client無論連接到哪個Server,數(shù)據(jù)都是一致的
  • 更新請求順序執(zhí)行,來自同一個Client的更新請求按其發(fā)送順序依次執(zhí)行,即先進先出
  • 數(shù)據(jù)更新原子性,一次數(shù)據(jù)更新要么成功,要么失敗
  • 實時性,在一定時間范圍內(nèi),Client能讀到最新數(shù)據(jù)

Zookeeper 數(shù)據(jù)結(jié)構(gòu)

ZooKeeper數(shù)據(jù)模型的結(jié)構(gòu)與Linux文件系統(tǒng)很類似,整體上可以看作是一棵樹,每個節(jié)點稱做一個ZNode
每一個ZNode默認能夠存儲1MB的數(shù)據(jù),每個ZNode都可以通過其路徑唯一標識

Zookeeper 選舉機制

第一次啟動選舉機制
  • 服務器1啟動,發(fā)起一次選舉。服務器1投自己一票。此時服務器1票數(shù)一票,不夠半數(shù)以上(3票)
  • 選舉無法完成,服務器1狀態(tài)保持為LOOKING;
  • 服務器2啟動,再發(fā)起一次選舉。服務器1和2分別投自己一票并交換選票信息
  • 此時服務器1發(fā)現(xiàn)服務器2的myid比自己目前投票推舉的(服務器1)大,更改選票為推舉服務器2
  • 此時服務器1票數(shù)0票,服務器2票數(shù)2票,沒有半數(shù)以上結(jié)果,選舉無法完成,服務器1,2狀態(tài)保持LOOKING
  • 服務器3啟動,發(fā)起一次選舉。此時服務器1和2都會更改選票為服務器3
  • 此次投票結(jié)果:服務器1為0票,服務器2為0票,服務器3為3票
  • 此時服務器3的票數(shù)已經(jīng)超過半數(shù),服務器3當選Leader
  • 服務器1,2更改狀態(tài)為FOLLOWING,服務器3更改狀態(tài)為LEADING;
  • 服務器4啟動,發(fā)起一次選舉。此時服務器1,2,3已經(jīng)不是LOOKING狀態(tài),不會更改選票信息
  • 交換選票信息結(jié)果:服務器3為3票,服務器4為1票
  • 此時服務器4服從多數(shù),更改選票信息為服務器3,并更改狀態(tài)為FOLLOWING;
  • 服務器5啟動,同4一樣當小弟
非第一次啟動選舉機制

當ZooKeeper 集群中的一臺服務器出現(xiàn)以下兩種情況之一時,就會開始進入Leader選舉

  • 服務器初始化啟動
  • 服務器運行期間無法和Leader保持連接

而當一臺機器進入Leader選舉流程時,當前集群也可能會處于以下兩種狀態(tài):

  • 集群中本來就已經(jīng)存在一個Leader
  • 對于已經(jīng)存在Leader的情況,機器試圖去選舉Leader時,會被告知當前服務器的Leader信息
  • 對于該機器來說,僅僅需要和 Leader機器建立連接,并進行狀態(tài)同步即可
選舉Leader規(guī)則?
  • EPOCH大的直接勝出
  • EPOCH相同,事務id大的勝出
  • 事務id相同,服務器id大的勝出

部署 Zookeeper 集群?

前期準備

三臺服務器

192.168.154.10? ? ??
192.168.154.20? ?22?
192.168.154.30? ?23

//關(guān)閉防火墻
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
 
//安裝 JDK
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
java -version
 
//下載安裝包
官方下載地址:https://archive.apache.org/dist/zookeeper/
 
cd /opt
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7-bin.tar.gz

安裝 Zookeeper —— 所有機器都配置

//解壓壓縮包到指定目錄
cd /opt
tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz
mv apache-zookeeper-3.5.7-bin /usr/local/zookeeper-3.5.7
 
//修改配置文件    
cd /usr/local/zookeeper-3.5.7/conf/
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg

Zookeeper 集群搭建,zookeeper,分布式,云原生

Zookeeper 集群搭建,zookeeper,分布式,云原生

在每個節(jié)點上創(chuàng)建數(shù)據(jù)目錄和日志目錄

Zookeeper 集群搭建,zookeeper,分布式,云原生

在每個節(jié)點的dataDir指定的目錄下創(chuàng)建一個 myid 的文件

Zookeeper 集群搭建,zookeeper,分布式,云原生

Zookeeper 集群搭建,zookeeper,分布式,云原生

配置 Zookeeper 啟動腳本

vim /etc/init.d/zookeeper
 
#!/bin/bash
#chkconfig:2345 20 90
#description:Zookeeper Service Control Script
ZK_HOME='/usr/local/zookeeper-3.5.7'
case $1 in
start)
    echo "---------- zookeeper 啟動 ------------"
    $ZK_HOME/bin/zkServer.sh start
;;
stop)
    echo "---------- zookeeper 停止 ------------"
    $ZK_HOME/bin/zkServer.sh stop
;;
restart)
    echo "---------- zookeeper 重啟 ------------"
    $ZK_HOME/bin/zkServer.sh restart
;;
status)
    echo "---------- zookeeper 狀態(tài) ------------"
    $ZK_HOME/bin/zkServer.sh status
;;
*)
    echo "Usage: $0 {start|stop|restart|status}"
esac

設(shè)置開機自啟

Zookeeper 集群搭建,zookeeper,分布式,云原生文章來源地址http://www.zghlxwxcb.cn/news/detail-737132.html

//分別啟動 Zookeeper
service zookeeper start
 
//查看當前狀態(tài)
service zookeeper status

到了這里,關(guān)于Zookeeper 集群搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • zookeeper搭建分布式集群啟動失敗(Error contacting service. It is probably not running.)

    1.啟動zookeeper后查看狀態(tài) /bin/zkServer.sh status 發(fā)現(xiàn)報錯 Error contacting service. It is probably not running. 2.查看日志 zookeeper-root-server-zookeeper01.out 發(fā)現(xiàn)報了一拒絕鏈接java.net.ConnectException: 拒絕連接 (Connection refused) 方法1: 將配置文件 zoo.cfg 中節(jié)點對應機器的地址改為:0.0.0.0 修改完再此

    2024年02月06日
    瀏覽(26)
  • Zookeeper+Hadoop+Spark+Flink+Kafka+Hbase+Hive 完全分布式高可用集群搭建(保姆級超詳細含圖文)

    Zookeeper+Hadoop+Spark+Flink+Kafka+Hbase+Hive 完全分布式高可用集群搭建(保姆級超詳細含圖文)

    說明: 本篇將詳細介紹用二進制安裝包部署hadoop等組件,注意事項,各組件的使用,常用的一些命令,以及在部署中遇到的問題解決思路等等,都將詳細介紹。 ip hostname 192.168.1.11 node1 192.168.1.12 node2 192.168.1.13 node3 1.2.1系統(tǒng)版本 1.2.2內(nèi)存建議最少4g、2cpu、50G以上的磁盤容量 本次

    2024年02月12日
    瀏覽(38)
  • 分布式應用:Zookeeper 集群與kafka 集群部署

    分布式應用:Zookeeper 集群與kafka 集群部署

    目錄 一、理論 1.Zookeeper? ?2.部署 Zookeeper 集群 3.消息隊列 ?4.Kafka 5.部署 kafka 集群 6.Filebeat+Kafka+ELK 二、實驗 1.Zookeeper 集群部署 2.kafka集群部署 3.Filebeat+Kafka+ELK 三、問題 ? ? ? ? ?1.解壓文件異常 2.kafka集群建立失敗 3.啟動 filebeat報錯 4.VIM報錯 5.?kibana無法匹配 四、總結(jié)

    2024年02月14日
    瀏覽(99)
  • 第四節(jié) zookeeper集群與分布式鎖

    第四節(jié) zookeeper集群與分布式鎖

    目錄 1. Zookeeper集群操作 1.1 客戶端操作zk集群 1.2 模擬集群異常操作 1.3 curate客戶端連接zookeeper集群 2. Zookeeper實戰(zhàn)案例 2.1 創(chuàng)建項目引入依賴 2.2 獲取zk客戶端對象 2.3 常用API 2.4 客戶端向服務端寫入數(shù)據(jù)流程 2.5 服務器動態(tài)上下線、客戶端動態(tài)監(jiān)聽 2.6 測試 3.Zookeeper分布式鎖 3.

    2024年02月20日
    瀏覽(24)
  • 分布式集群框架——有關(guān)zookeeper的面試考點

    分布式集群框架——有關(guān)zookeeper的面試考點

    ? ? ? 當涉及到大規(guī)模分布式系統(tǒng)的協(xié)調(diào)和管理時,Zookeeper是一個非常重要的工具。 1. 分布式協(xié)調(diào)服務:Zookeeper是一個分布式協(xié)調(diào)服務,它提供了一個高可用和高性能的環(huán)境,用于協(xié)調(diào)和同步分布式系統(tǒng)中的各個節(jié)點。它通過提供共享的命名空間和一致性的數(shù)據(jù)模型來簡化開

    2024年02月11日
    瀏覽(19)
  • CentOS7安裝Zookeeper分布式集群

    前言 ZooKeeper 是一個開源的分布式協(xié)調(diào)服務框架,主要用于分布式系統(tǒng)中的數(shù)據(jù)同步、配置管理、集群控制和命名服務等方面的處理。本文在3個系統(tǒng)為CentOS7的Linux節(jié)點上配置了Zookeeper分布式集群,安裝配置的過程均在普通用戶 sxZhang 的賬戶上完成,安裝路徑為 ~/bigdata ,3個

    2024年01月17日
    瀏覽(26)
  • 第五節(jié) zookeeper集群與分布式鎖_2

    第五節(jié) zookeeper集群與分布式鎖_2

    1)要介紹分布式鎖,首先要提到與分布式鎖相對應的是線程鎖。 線程鎖 :主要用來給方法、代碼塊加鎖。當某個方法或代碼使用鎖,在同一時刻僅有一個線程執(zhí)行該方法或該代碼段。 線程鎖只在同一JVM中有效果,因為線程鎖的實現(xiàn)在根本上是依靠線程之間共享內(nèi)存實現(xiàn)的,

    2024年02月19日
    瀏覽(19)
  • 分布式應用之zookeeper集群+消息隊列Kafka

    分布式應用之zookeeper集群+消息隊列Kafka

    ? ? ? ?ZooKeeper是一個分布式的,開放源碼的分布式應用程序協(xié)調(diào)服務,是Google的Chubby一個開源的實現(xiàn),是Hadoop和Hbase的重要組件。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。為分布式框架提供協(xié)調(diào)服務的

    2024年02月06日
    瀏覽(139)
  • zookeeper+kafka分布式消息隊列集群的部署

    zookeeper+kafka分布式消息隊列集群的部署

    目錄 一、zookeeper 1.Zookeeper 定義 2.Zookeeper 工作機制 3.Zookeeper 特點 4.Zookeeper 數(shù)據(jù)結(jié)構(gòu) 5.Zookeeper 應用場景 (1)統(tǒng)一命名服務 (2)統(tǒng)一配置管理 (3)統(tǒng)一集群管理 (4)服務器動態(tài)上下線 6.Zookeeper 選舉機制 (1)第一次啟動選舉機制 (2)非第一次啟動選舉機制 7.部署zookeepe

    2024年02月14日
    瀏覽(25)
  • 【簡單認識zookeeper+kafka分布式消息隊列集群的部署】

    【簡單認識zookeeper+kafka分布式消息隊列集群的部署】

    Zookeeper是一個開源的分布式的,為分布式框架提供協(xié)調(diào)服務的Apache項目。 Zookeeper從設(shè)計模式角度來理解:是一個基于觀察者模式設(shè)計的分布式服務管理框架,它負責存儲和管理大家都關(guān)心的數(shù)據(jù),然后接受觀察者的注冊,一旦這些數(shù)據(jù)的狀態(tài)發(fā)生變化,Zookeeper就將負責通知已

    2024年02月13日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包