[dubbo實戰] dubbo+zookeeper偽叢集搭建
zookeeper作為註冊中心,伺服器和客戶端都要訪問,如果有大量的併發,肯定會有等待。所以可以通過zookeeper叢集解決。
一、為什麼需要zookeeper呢?
大部分分散式應用需要一個主控、協調器或者控制器來管理物理分佈的子程序。目前,大多數都要開發私有的協調程式,缺乏一個通用機制,協調程式的反覆編寫浪費,且難以形成通用、伸縮性好的協調器,zookeeper提供通用的分散式鎖服務,用以協調分散式應用。所以說zookeeper是分散式應用的協作服務。
二、zookeeper的工作原理
核心原理是原子廣播,這個機制保證了各個server之間的同步,實現這個機制的協議叫做Zab協議,它有兩種模式:恢復和廣播模式。
當服務啟動或者在領導者崩潰後,Zab就進入了恢復模式,當領導者被選舉出來,恢復模式就結束了。
一旦zookeeper內部同步好了後,就可以開始廣播資訊了,這時候當一個server加入zookeeper服務中,它會在恢復模式下啟動,並且同步狀態,同步結束後它也參與廣播訊息。
三、叢集搭建準備
1.我用了三個zookeeper服務,分別是zookeeper-1,zookeeper-2,zookeeper-3
2.在每個zookeeper下新增data和log檔案
3.配置zoo.cfg檔案
每個zookeeper的埠配置都應該不同,分別是2181,2182,2183# The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. dataDir=E:/zookeeper/zookeeper-1/data # the directory where the log dataLogDir=E:/zookeeper/zookeeper-1/log # the port at which the clients will connect clientPort=2181 #Clusters server.1=192.168.24.140:2888:3888 server.2=192.168.24.140:2889:3889 server.3=192.168.24.140:2890:3890
4.在data檔案新增myid檔案,並且裡面的內容分別為:1,2,3
5.在dubbo專案中,provider和consumer的xml檔案中修改zookeeper的地址,如下:
<!-- 本機 偽叢集 測試 -->
<dubbo:registry protocol="zookeeper" address="192.168.24.140:2181,192.168.24.140:2182,192.168.24.140:2183" />
四、測試
先分別啟動zookeeper,然後依次啟動服務和客戶端。啟動服務的時候會看到連線到哪個zookeeper上了。為了測試叢集的特性,比如客戶端啟動後zookeeper-1提供服務,我關掉它,那麼程式就繼續發起連線,接著可能zookeeper-2提供服務。
因為現在有三臺伺服器,所以要求至少有2臺正常啟動才能執行正常。那麼zookeeper-2也關閉,那程式不會連線zookeeper-3,一直報錯,提示no further connection。
上面說了停掉某個服務,zookeeper內部會選舉出下一個leader來,它內部存在投票選舉機制。這裡不多說了。就像mongodb叢集,會根據心跳機制選出主伺服器。
接下來的測試,我繼續開啟zookeeper-1或zookeeper-2,能正常提供服務。把zookeeper-3關閉,如果zookeeper-1和zookeeper-2重新啟動成功後,也是能提供服務的。內部在恢復模式下同步狀態。
相關推薦
[dubbo實戰] dubbo+zookeeper偽叢集搭建
zookeeper作為註冊中心,伺服器和客戶端都要訪問,如果有大量的併發,肯定會有等待。所以可以通過zookeeper叢集解決。 一、為什麼需要zookeeper呢? 大部分分散式應用需
Zookeeper偽叢集搭建
搭建要求 : 真實的叢集是需要部署在不同的伺服器上的,但是在我們測試時同時啟動十幾個虛擬機器記憶體會吃不消,所以我們通常會搭建偽叢集,也就是把所有的服務都搭建在一臺虛擬機器上,用埠進行區分。 我們這裡要求搭建一個三個節點的Zookeeper叢集(偽叢集)。 在z
Windows下Zookeeper偽叢集搭建
一、下載 下載地址:Apache Zookeeper下載 或(https://mirrors.cnnic.cn/apache/zookeeper/),下載Zookeeper安裝檔案,字尾為.tar.gz。我下載的檔案是zookeeper-3.4.13.tar.gz。 二、叢集安裝目錄 在
zookeeper 偽叢集搭建
簡介 Zookeeper 是 一個分散式。開放原始碼的分散式應用程式協調服務,是Google Chubby的一個開源實現,大多數的分散式應用都需要Zookeeper的支援,這篇文章先簡單的和大家分享如何搭建一個zookeeper叢集。(筆者注:Chubb
分享知識-快樂自己:zookeeper 偽叢集搭建
1):單一 zookeeper 搭建步驟 2):zookeeper 偽叢集搭建 1):新建一個叢集目錄 [[email protected] opt]# mkdir zookeeper_cluster 2):進入 zookeeper_cluster 目錄 複製三份
kafka+zookeeper偽叢集搭建
(一.zookeeper偽叢集搭建)1.建立3個zoo.cfg(zoo1.cfg,zoo2.cfg,zoo3.cfg)zoo1.cfg 設定:# 資料資料夾dataDir=/usr/local/zook
[dubbo實戰] dubbo+zookeeper偽集群搭建
view 中修改 back int address 註冊中心 weight rep clipboard zookeeper作為註冊中心,服務器和客戶端都要訪問,如果有大量的並發,肯定會有等待。所以可以通過zookeeper集群解決。 一、為什麽需要zookeeper呢?
單機搭建zookeeper偽叢集
一:簡介 分散式應用程式可以基於Zookeeper實現例如配置管理、資料釋出/訂閱、負載均衡、命名服務、協調通知、叢集管理、Master選舉、分散式鎖、分散式佇列等功能。 https://zookeeper.apache.org/ ###Zookeeper中重要的概念:
Windows環境下搭建ZooKeeper偽叢集
在生產環境和開發環境ZooKeeper服務的搭建,我們一般常用叢集和單機兩種模式。但是在自己學習過程中,如果想要了解叢集模式的效能,則可以使用偽叢集來了解ZooKeeper叢集模式下的一些工作機制。 1.下載與配置 &
zookeeper windows偽叢集搭建
解壓後,目錄重新命名為zookeeper1,進入 conf目錄,把zoo_sample.cfg 複製一份,重新命名為zoo.cfg 編輯zoo_simple.cfg 配置資料目錄和日誌目錄: 先在zookeeper1目錄下,新建目錄 data、l
【ZooKeeper】單機偽叢集搭建(適用於mac)
1.配置 可以選擇需要的版本,我下載的是zookeeper-3.4.6.tar.gz,解壓得到資料夾zookeeper-3.4.3 由於手頭機器不足,所以在一臺機器上部署了3個server,如果你手頭也比較緊,也可以這麼做。 在主資料夾下建立一個zoo
zookeeper的偽叢集搭建模式
所謂偽叢集就是在單機模擬叢集模式zookeeper的執行。 配置檔案 下面是我配置的偽叢集分佈模式,分別通過zoo1.cfg、zoo2.cfg、zoo3.cfg來模擬三臺機器的zookeeper叢集: zoo1.cfg內容如下: # The numb
Zookeeper偽叢集的搭建
Zookeeper偽叢集的搭建 1.選擇自己需要的版本號進行下載 wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz 注意:Zookeeper是需要依賴
elasticsearch叢集搭建手冊(偽叢集搭建)
安裝部署 建立程式目錄 安裝目錄 mkdir /usr/local/elasticsearch mkdir /usr/local/elasticsearch/6.4.3 mkdir /usr/local/elasticsearch/6.4.3/01 #第一個節
zookeeper偽分散式搭建
一、描述 偽分散式叢集就是在一臺機器部署多個zk應用,部署之前伺服器需要有jdk環境 java -version可以顯示相關java資訊才可以進行zookeeper搭建 二、步驟 第一步下載好zookeeper-3.4.9.tar.gz 然後解壓tar -zxvf zookeeper-3.4.
hbase(一) 偽叢集搭建
一句話介紹 hbase 高可靠、高效能、可伸縮、分散式 的列式儲存型資料庫。 依賴: 環境 : Jdk1.8 zookeeper 為hbase分散式儲存協同服務 (偽分散式可暫不安裝,hbase自
CentOS7單機安裝Zookeeper偽叢集
操作環境 CentOS:CentOS-7-x86_64-DVD-1503-01 ZooKeeper:zookeeper-3.4.13.tar.gz 安裝wget命令 yum -y install wget 安裝Java 檢視當前系統是否有Java
Ubuntu虛擬機器 Zookeeper+Kafka叢集搭建
機器和環境 三臺ubuntu 16.04 64bit ip地址 zookeeper主從 kafka broker id 172.16.227.128 follower 1 172.1
Zookeeper——分散式叢集搭建
準備伺服器 - 192.168.214.150 centos6-1 - 192.168.214.151 centos6-2 - 192.168.214.152 centos6-3 Java環境 檢視java版本 [root@cent
sheepdog+zookeeper儲存叢集搭建:4個節點安裝sheepdog(其中有3個為zookeeper節點)
1、首先在4個儲存節點中的3個節點上安裝3節點zookeeper,詳見 http://blog.csdn.net/u010855924/article/details/52847308 2、第四個儲存節點僅僅需要rpm -ivh zookeeper-3.4.6-redhat