zookeeper個人理解
1
2
2 安裝
單機模式
解壓,bin/zkserver.sh
配置檔案更改 conf/zoo_sample.cfg為 conf/zoo.cfg
Ticktime 心跳
Dtatdir 資料和日誌路徑
Clientprot 埠
3 叢集模式
除了改上面三個還有
initLimit:follower伺服器返回給主節點的時間心跳個數,例如
ticktime=2000,initlimit=5,如果2000*5=10000=10s沒返回結果就是連線失敗
synclimit:請求應答心跳個數,和initlimit計算類似
server.a=b:c:d
a 機器號
b ip
c lead和機器互動埠
d 選舉 lead掛了後的 lead通訊用
然後:
Myid 檔案儲存a(服務名),啟動時讀取從而判斷到底是哪個server,路徑是datadir
Myid哪個機器就存哪個名字
4 偽叢集模式
同一個機器通過配置不同的埠達到目的
3
package com.zookeeper.example;
import java.util.ArrayList;
import java.util.List;
import com.sun.org.apache.bcel.internal.generic.NEW;
import sun.security.krb5.internal.NetClient;
public class ZookeeperSam {
int num=20;
}
class Zookeeper{
int num;
int searchNum;
int indexNum;
String leadState;
CGI cgi;
LeadServiceMechine leadServiceMechine;
BakLeadServiceMechine bakLeadServiceMechine;
public void changeLeadService(){
if(leadState=="down"){
startLeadService(bakLeadServiceMechine);
changeCGINetAndAdd(cgi);
}
}
public void startLeadService(Service service){
}
public void changeCGINetAndAdd(CGI cgi){
}
public void run(){
buildZNode("a");
getChildren("a");
getChildrenList();
if(judgeChange()!=null){
}
}
public void buildZNode(String str){
ZNode zNode = new ZNode(str);
nodes.add(zNode);
}
List<ZNode> nodes = new ArrayList<ZNode>();
public void getChildren(String name){
}
public void getChildrenList(){
}
public ZNode judgeChange(){
return null;
}
}
class ZNode{
public ZNode(){
}
public ZNode(String s){
}
}
class CGI{
}
class Service{
Net net;
Address address;
}
class Net{
}
class Address{
}
class LeadServiceMechine extends Service{
}
class BakLeadServiceMechine extends Service{
}
class ServiceMechine{
String state;//5/15//狀態可以切換
Zookeeper zookeeper;
public void deal(){
if(state=="index"){
}
if("search"==state){
}
}
}
class NameService{
}
class StateSyncService{
}
class ClusterManager{
}
class ConfigureManager{
}
相關文章
- zookeeper理解
- RESTful 個人理解REST
- Event Loop個人理解OOP
- hadoop個人理解Hadoop
- activeMQ個人理解總結MQ
- MV*模式的個人理解模式
- vuex文件(附加個人理解)Vue
- PGA 文件及個人理解
- Copy與mutableCopy的個人理解
- javascript閉包的個人理解JavaScript
- 關於GAN的個人理解
- 個人對於vue的理解Vue
- 設計模式個人理解(一)設計模式
- 對IP地址的個人理解
- NUMA架構的個人理解架構
- 關於交叉熵的個人理解熵
- 個人理解Vue和React區別VueReact
- Promise的個人理解及實踐Promise
- 請求處理管道個人理解
- 啟動Dubbo專案註冊Zookeeper時提示zookeeper not connected異常原理解析
- java中傳值方式的個人理解Java
- dubbo個人理解於應用章(二)
- python協程asyncio的個人理解Python
- 分散式、微服務、叢集,個人理解分散式微服務
- NAS、SAN、ISCSI儲存的個人理解
- iOS中copy和strong的個人理解iOS
- PGA_官方說明和個人理解
- From Apprentice To Artisan 一書個人理解APP
- ODS 狀態修復加個人理解
- 同是ZooKeeper,你和架構師的理解差在哪裡?架構
- Android中Activity設計思想個人理解Android
- Flex 佈局:個人的學習與理解Flex
- 個人對vue中生命週期的理解Vue
- 瀏覽器快取機制個人理解瀏覽器快取
- 個人對於flux、redux及vuex的理解ReduxVue
- 關於ConcurrentHashMap1.8的個人理解HashMap
- C# 學習async/await(個人理解)C#AI
- Android關於沉浸式的個人理解Android