内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Zookeeper如何安裝配置

這篇文章主要介紹了 Zookeeper如何安裝配置,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

為九江等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及九江網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、九江網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

一、簡介

             Zookeeper 是分布式服務(wù)框架,主要是用來解決分布式應(yīng)用中經(jīng)常遇到的一些數(shù)據(jù)管理問題,如:統(tǒng)一命名服務(wù)、狀態(tài)同步服務(wù)、集群管理、分布式應(yīng)用配置項的管理等等。

ZooKeeper的目標就是封裝好復(fù)雜易出錯的關(guān)鍵服務(wù),將簡單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶。

ZooKeeper包含一個簡單的原語集, [1]  提供Java和C的接口。

ZooKeeper代碼版本中,提供了分布式獨享鎖、選舉、隊列的接口,代碼在zookeeper-3.4.3\src\recipes。其中分布鎖和隊列有Java和C兩個版本,選舉只有Java版本。

二、工作原理

       Zookeeper的核心是廣播,這個機制保證了各個Server之間的同步。實現(xiàn)這個機制的協(xié)議叫做Zab協(xié)議。Zab協(xié)議有兩種模式,它們分別是恢復(fù)模式(選主)和廣播模式(同步)。當服務(wù)啟動或者在領(lǐng)導(dǎo)者崩潰后,Zab就進入了恢復(fù)模式,當領(lǐng)導(dǎo)者被選舉出來,且大多數(shù)Server完成了和leader的狀態(tài)同步以后,恢復(fù)模式就結(jié)束了。狀態(tài)同步保證了leader和Server具有相同的系統(tǒng)狀態(tài)。為了保證事務(wù)的順序一致性,zookeeper采用了遞增的事務(wù)id號(zxid)來標識事務(wù)。所有的提議(proposal)都在被提出的時候加上了zxid。實現(xiàn)中zxid是一個64位的數(shù)字,它高32位是epoch用來標識leader關(guān)系是否改變,每次一個leader被選出來,它都會有一個新的epoch,標識當前屬于那個leader的統(tǒng)治時期。低32位用于遞增計數(shù)。
每個Server在工作過程中有三種狀態(tài):
LOOKING:當前Server不知道leader是誰,正在搜尋。
LEADING:當前Server即為選舉出來的leader。
FOLLOWING:leader已經(jīng)選舉出來,當前Server與之同步。

三、基本配置

zookeeper的安裝和之前的一樣,也是有3種安裝方式。分為單機、偽集群和集群模式。

1、首先去apache官網(wǎng)下載zookeeper,目前最新版是3.4.8 ,http://www.apache.org/dyn/closer.cgi/zookeeper/

2、解壓到你需要安裝的目錄,例如我是放在/home/admin1/下載/zookeeper-3.4.8下面。

3、在conf目錄在做配置:

zoo.cfg

(1)如果你是單機模式的話,就需要做如下配置就可以了。

tickTime=2000
dataDir=/home/admin1/下載/zookeeper-3.4.8/data
dataLogDir=/home/admin1/下載/zookeeper-3.4.8/logs
clientPort=2181

(2)  如果你是偽分布模式的話,則需要做如下配置:zoo.cfg

所謂偽集群, 是指在單臺機器中啟動多個zookeeper進程, 并組成一個集群. 以啟動3個zookeeper進程為例.

tickTime=2000
initLimit=10
syncLimit=5

dataDir=/home/admin1/下載/zookeeper-3.4.8/tmp/zookeeper

clientPort=2181

server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389
 
 

1 initLimit: zookeeper集群中的包含多臺server, 其中一臺為leader, 集群中其余的server為follower. initLimit參數(shù)配置初始化連接時, follower和leader之間的最長心跳時間. 此時該參數(shù)設(shè)置為10, 說明時間限制為10倍tickTime, 即10*2000=20000ms=20s.2 syncLimit: 該參數(shù)配置leader和follower之間發(fā)送消息, 請求和應(yīng)答的最大時間長度. 此時該參數(shù)設(shè)置為5, 說明時間限制為5倍tickTime, 即10000ms.3 server.X=A:B:C 其中X是一個數(shù)字, 表示這是第幾號server. A是該server所在的IP地址. B配置該server和集群中的leader交換消息所使用的端口. C配置選舉leader時所使用的端口. 由于配置的是偽集群模式, 所以各個server的B, C參數(shù)必須不同.參照zookeeper0/conf/zoo.cfg, 配置zookeeper1/conf/zoo.cfg, 和zookeeper2/conf/zoo.cfg文件. 只需更改dataDir, dataLogDir, clientPort參數(shù)即可.在之前設(shè)置的dataDir中新建myid文件, 寫入一個數(shù)字, 該數(shù)字表示這是第幾號server. 該數(shù)字必須和zoo.cfg文件中的server.X中的X一一對應(yīng)./home/admin1/下載/zookeeper1/data/myid文件中寫入1,/home/admin1/下載/zookeeper2/data/myid文件中寫入2,/home/admin1/下載/zookeeper3/data/myid文件中寫入3.分別進入/home/admin1/下載//zookeeper1/bin, /home/admin1/下載//zookeeper2/bin, /home/admin1/下載//zookeeper3/bin三個目錄, 啟動server.

bin/zkServer.sh  start


關(guān)閉就是后面是stop.
啟動成功后用jps查看進程,
有ZooKeeperMain就是對的(若沒有配置其他
機器的情況下)


可以啟動客戶端測試下:

bin/zkCli.sh -server localhost:2181

Zookeeper如何安裝配置
(注:如果是遠程連接,把localhost換成指定的IP即可)

然后,就可以用一些基礎(chǔ)命令,比如 ls ,create ,delete ,get 來測試了(關(guān)于這些命令,大家可以查看文檔)

(3)  集群模式的配置和偽集群基本一致.
由于集群模式下, 各server部署在不同的機器上, 因此各server的conf/zoo.cfg文件可以完全一樣.

四、開發(fā)測試

測試連接,我們可以有3種方法。

4.1  zkCli.sh

可以使用幫組命令進入各種操作。

4.2、在eclipse上操作:

新建java工程,需要導(dǎo)入zookeeper里面的jar包 ,zookeeper-3.4.8.jar。

新建createSession.java

public class CreateSession implements Watcher { 

	private static ZooKeeper zookeeper;
	public static void main(String[] args) throws IOException, InterruptedException {
		zookeeper = new ZooKeeper("localhost:2181",5000,new CreateSession());
		System.out.println(zookeeper.getState());
		
		Thread.sleep(Integer.MAX_VALUE);
	}
	
	private void doSomething(){
		
		System.out.println("do something");
	}
	@Override
	public void process(WatchedEvent event) {
	
		System.out.println("收到事件:"+event);
		if (event.getState()==KeeperState.SyncConnected){
			
			if (event.getType()==EventType.None && null==event.getPath()){
				doSomething();
			}
		}
	}
	
}

還需要一個接口:

MyWatcher.java

public class MyWatcher implements Watcher {

	@Override
	public void process(WatchedEvent event) {
		// TODO Auto-generated method stub

	}

}


運行結(jié)果如下:代表連接成功了。

Zookeeper如何安裝配置

4.3 使用ZKClient 

在github中下載源碼包,https://github.com/sgroschupf/zkclient

在新建的eclipse項目中添加庫依賴,就可以了。

測試代碼

import org.I0Itec.zkclient.ZkClient;
import org.I0Itec.zkclient.serialize.SerializableSerializer;

public class CreateSession {

	public static void main(String[] args) {
		ZkClient zc = new ZkClient("localhost",10000,10000,new SerializableSerializer());
		System.out.println("conneted ok!");
	}
	
}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“ Zookeeper如何安裝配置”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

當前題目:Zookeeper如何安裝配置
當前網(wǎng)址:http://m.rwnh.cn/article40/gspeho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航商城網(wǎng)站、網(wǎng)站營銷全網(wǎng)營銷推廣、ChatGPT搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
南江县| 尉氏县| 同德县| 潼南县| 周口市| 阳城县| 聊城市| 衡南县| 固安县| 天祝| 昌宁县| 琼海市| 寿宁县| 叙永县| 木里| 台山市| 靖边县| 涡阳县| 山西省| 招远市| 蒙阴县| 太原市| 宁南县| 同江市| 南通市| 恭城| 大理市| 定日县| 庆安县| 黄大仙区| 贞丰县| 武乡县| 如东县| 安国市| 乌兰浩特市| 宁远县| 连平县| 晋宁县| 获嘉县| 荥阳市| 湾仔区|