欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Zookeeper如何安裝配置

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

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

一、簡(jiǎn)介

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

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

ZooKeeper包含一個(gè)簡(jiǎn)單的原語(yǔ)集, [1]  提供Java和C的接口。

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

二、工作原理

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

三、基本配置

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

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)如果你是單機(jī)模式的話,就需要做如下配置就可以了。

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

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

所謂偽集群, 是指在單臺(tái)機(jī)器中啟動(dòng)多個(gè)zookeeper進(jìn)程, 并組成一個(gè)集群. 以啟動(dòng)3個(gè)zookeeper進(jìn)程為例.

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

bin/zkServer.sh  start


關(guān)閉就是后面是stop.
啟動(dòng)成功后用jps查看進(jìn)程,
有ZooKeeperMain就是對(duì)的(若沒(méi)有配置其他
機(jī)器的情況下)


可以啟動(dòng)客戶端測(cè)試下:

bin/zkCli.sh -server localhost:2181

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

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

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

四、開(kāi)發(fā)測(cè)試

測(cè)試連接,我們可以有3種方法。

4.1  zkCli.sh

可以使用幫組命令進(jìn)入各種操作。

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();
			}
		}
	}
	
}

還需要一個(gè)接口:

MyWatcher.java

public class MyWatcher implements Watcher {

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

	}

}


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

Zookeeper如何安裝配置

4.3 使用ZKClient 

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

在新建的eclipse項(xiàng)目中添加庫(kù)依賴,就可以了。

測(cè)試代碼

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!");
	}
	
}

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

當(dāng)前題目:Zookeeper如何安裝配置
當(dāng)前網(wǎng)址:http://chinadenli.net/article40/gspeho.html

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

廣告

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

營(yíng)銷(xiāo)型網(wǎng)站建設(shè)