操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

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

    ZooKeeper的目標就是封裝好復雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。

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

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

    Zookeeper官網: http://zookeeper.apache.org/

    下載地址:教育網:http://mirror.bit.edu.cn/apache/zookeeper/

    下載地址:清華大學鏡像:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/

    先去官網下載鏡像,這里下載的是3.4.8版本

    安裝教程:

    把下載的文件解壓到指定目錄下 D:\zookeeper-3.4.8

    修改zoo_sample.cfg 文件名(D:\soft\zookeeper-3.4.8\conf) 為 zoo.cfg

    主要修改一下日志位置,其他默認不變。在zookeeoer下新建data文件夾和log文件夾。具體配置文件如下:

    # 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.

    # do not use /tmp for storage, /tmp here is just

    # example sakes.

    dataDir=D:\zookeeper-3.4.8\data

    #log location

    dataLogDir=D:\zookeeper-3.4.8\log

    # the port at which the clients will connect

    clientPort=2181

    # the maximum number of client connections.

    # increase this if you need to handle more clients

    #maxClientCnxns=60

    #

    # Be sure to read the maintenance section of the

    # administrator guide before turning on autopurge.

    #

    # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

    #

    # The number of snapshots to retain in dataDir

    #autopurge.snapRetainCount=3

    # Purge task interval in hours

    # Set to "0" to disable auto purge feature

    #autopurge.purgeInterval=1

    配置文件簡單解析

    1、tickTime:這個時間是作為 Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發送一個心跳。

    2、dataDir:顧名思義就是 Zookeeper 保存數據的目錄,默認情況下,Zookeeper 將寫數據的日志文件也保存在這個目錄里。

    3、dataLogDir:顧名思義就是 Zookeeper 保存日志文件的目錄

    4、clientPort:這個端口就是客戶端連接 Zookeeper 服務器的端口,Zookeeper 會監聽這個端口,接受客戶端的訪問請求。

    啟動

    進入到zookeeper的bin目錄,并且啟動zkServer.cmd,這個腳本中會啟動一個java進程

    啟動以后:

    在命令行,輸入jps -l -v 啟動后jps可以看到QuorumPeerMain的進程

    jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個顯示當前所有java進程pid的命令,簡單實用,非常適合在linux/unix平臺上簡單察看當前java進程的一些簡單情況。

    我想很多人都是用過unix系統里的ps命令,這個命令主要是用來顯示當前系統的進程情況,有哪些進程,及其 id。 jps 也是一樣,它的作用是顯示當前系統的java進程情況,及其id號。我們可以通過它來查看我們到底啟動了幾個java進程(因為每一個java程序都會獨占一個java虛擬機實例),和他們的進程號(為下面幾個程序做準備),并可通過opt來查看這些進程的詳細啟動參數。

    使用方法:在當前命令行下打 jps(需要JAVA_HOME,沒有的話,到改程序的目錄下打) 。

    開一個windows的cmd窗口 進入到zookeeper的bin目錄下

    cd D:\zookeeper-3.4.8\bin

    然后輸入 zkCli.cmd 127.0.0.1:2181

    連接成功如圖:

    這樣 zookeeper就安裝好了

    下一節,講如何使用以及如何配置!

    概述

    ZooKeeper 是分布式應用程序的高性能協調服務。它在一個簡單的界面中公開了常用服務,例如命名、配置管理、同步和組服務,因此可以不必從頭開始編寫它們??梢袁F成地使用它來實現共識、組管理、領導者選舉和存在協議,也可以根據自己的特定需求在此基礎上進行構建。

    下載

    可以在Zookeper官網下載頁下載zookeeper,這里有最新的zk發布包。 我這里下載的是3.6.3版本,是截止到這篇博文發布前最穩定版本,下載鏈接為https://dlcdn.apache.org/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz

    安裝

    1. 下載完成之后解壓下載的壓縮包到自己電腦盤符下,我這里是在D:\zookeeper下解壓的,解壓后根目錄為D:\zookeeper\zookeeper-3.6.3
    2. 解壓后進入conf文件夾下面,把zoo_sample.cfg復制一份并改名為zoo.cfg,zoo.cfg是zookeeper配置文件入口。
    3. 在根目錄下新建一個data文件夾,用于存儲內存數據庫快照, 修改配置文件,將dataDir屬性修改為自定義的data路徑下,dataDir=D:/zookeeper/zookeeper-3.6.3/data,「注意」:路徑分隔符要用反斜杠 「/」 這樣配置就基本結束了,接下來就是啟動了,啟動方式分為兩種,單機版和集群版

    單機版

    zookeeper的啟動命令都在bin目錄下,進入bin目錄下,*.cmd是Windows版本的命令,*.sh 是Linux的命令。 找到zkServer.cmd,

    雙擊啟動,看到如下窗口,不閃退,不報錯就是啟動成功了

    也可以通過,雙擊客戶端zkCli.cmd批處理命令來驗證server是否啟動成功??吹饺缦录t框的內容則server啟動成功

    或者在配置文件中開啟日志審核功能,audit.enable=true 在根目錄下的logs文件夾下找到zookeeper_audit.log文件,看到如下結果則server啟動成功

    審核日志是3.6.0 中的新功能:默認情況下禁用審核日志。設置為“true”以啟用它,有關日志審核可以查看https://zookeeper.apache.org/doc/r3.6.3/zookeeperAuditLogs.html

    這樣,單機版就完成了。

    集群版

    集群版就像對麻煩一點了,這里的集群還是偽集群,真正實現集群的操作跟單機版的偽集群差不多,只不過是操作不同的服務器而已。 步驟如下:

    1. 修改配置文件:找到zoo.cfg配置文件,在文件最后加上
    # 集群配置
    server.1=localhost:2888:3888
    server.2=localhost:2889:3889
    server.3=localhost:2890:3890
    

    配置介紹: 集群配置節點是server.id=host:port1:port2形式, id:分配給host的id,需要在myid文件中指定,id 必須介于 1 和 254 之間 host:zookeeper所在服務器的IP port1:Zookeeper服務器之間的通信端口 port2:Leader選舉的端口 從 ZooKeeper 3.6.0 開始,可以為每個 ZooKeeper 服務器 指定多個地址 形如:

    server.1=zoo1-net1:2888:3888|zoo1-net2:2889:3889
    server.2=zoo2-net1:2888:3888|zoo2-net2:2889:3889
    server.3=zoo3-net1:2888:3888|zoo3-net2:2889:3889
    
    1. 添加myid文件 myid文件代表著該zookeeper服務器的id文件,內容也很簡單,就是一個名為myid的文件,文件內容就只有一個上面所說的id。 在Windows系統中,創建一個名為myid的文本文件,然后輸入一個id,最后刪除文件后綴,不要任何后綴,否則會啟動會報myid找不到異常。 myid文件所在的路徑就是配置文件中dataDir指定的路徑下。
    2. 集群復制多份,將上述配置好的zookeeper復制兩份,并修改每個配置文件中的clientPort、dataDir和admin.serverPort屬性,還有myid中的數值。 clientPort:客戶端連接Zookeeper服務器的端口。Zookeeper會監聽這個端口,接受客戶端的訪問請求。 admin.serverPort:嵌入式 Jetty 服務器監聽的端口,默認為 8080。 AdminServer是3.5.0 中新添加的功能,更多可以查看https://zookeeper.apache.org/doc/r3.6.3/zookeeperAdmin.html#sc_adminserver

    配置文件:

    tickTime=2000
    initLimit=10
    syncLimit=5
    
    dataDir=D:/zookeeper/zookeeper-3.6.3/data
    dataLogDir=D:/zookeeper/zookeeper-3.6.3/logs
    
    clientPort=2181
    
    maxClientCnxns=60
    
    # 嵌入式 Jetty 服務器監聽的端口。默認為 8080
    admin.serverPort=8081
    
    messageTracker.Enabled=true
    # 日志審核
    audit.enable=true
    
    # 集群配置
    server.1=localhost:2888:3888
    server.2=localhost:2889:3889
    server.3=localhost:2890:3890
    
    1. 啟動集群, 分別到對應zookeeper集群的文件夾下雙擊zkServer.cmd批處理命令,出現以下日志則代表成功
    2022-02-10 16:55:41,612 [myid:1] - INFO  [QuorumPeer[myid=1](plain=[0:0:0:0:0:0:0:0]:2181)(secure=disabled):QuorumPeer@864] - Peer state changed: following - broadcast
    
    2022-02-10 16:55:49,084 [myid:3] - INFO  [QuorumPeer[myid=3](plain=[0:0:0:0:0:0:0:0]:2183)(secure=disabled):QuorumPeer@864] - Peer state changed: following - broadcast
    

    或者

    2022-02-10 16:55:41,611 [myid:2] - INFO  [QuorumPeer[myid=2](plain=[0:0:0:0:0:0:0:0]:2182)(secure=disabled):QuorumPeer@864] - Peer state changed: leading - broadcast
    

    可以看到三個zookeeper服務器,一個leader,兩個following。

    配置介紹

    • tickTime:心跳時間,單位毫秒,默認2000。zookeeper最小的會話超時時間是2個tickTime。
    • initLimit: follower連接和同步leader的超時時間,以tickTime為單位,默認10,也就是說10*tickTime時間之后客戶端還沒連接到服務器,則客戶端連接失敗。如果 ZooKeeper 管理的數據量很大,則根據需要增加此值。
    • syncLimit:follower連接和同步leader的超時時間,這個時間是leader向follower發送心跳之后,如果在syncLimit時間內沒有收到follower的回信,表示follower掉線了。以tickTime為單位
    • dataDir:用于存儲內存數據庫快照的路徑
    • dataLogDir:允許配置使用專用的日志設備,并有助于避免日志記錄和快照之間的競爭。擁有專用日志設備對吞吐量和穩定延遲有很大影響。強烈建議專用日志設備并將dataLogDir設置為指向該設備上的目錄,然后確保將dataDir指向不在該設備上的目錄。
    • clientPort:客戶端連接Zookeeper服務器的端口。Zookeeper會監聽這個端口,接受客戶端的訪問請求。
    • maxClientCnxns:通過 IP 地址限制單個客戶端可以對 ZooKeeper 集合的單個服務器進行的并發連接數。用于防止某些類別的 DoS 攻擊,包括文件描述符耗盡。默認值為 60。將此設置為 0 完全消除了對并發連接的限制。
    • admin.serverPort:嵌入式 Jetty 服務器監聽的端口。默認為 8080
    • audit.enable:默認情況下禁用審核日志,默認值false。3.6.0 中的新功能
    • electionAlg:選舉算法,0表示leader選舉算法(基于UDP),1對應非認證的基于UDP的快速leader選舉版本,2對應認證的基于UDP的快速leader選舉版本,3對應基于TCP的快速leader版本選舉。默認值是3。
    • autopurge.purgeInterval:Zookeeper服務端自動清除多余的日志和快照文件的周期,以小時為單位,設置正整數表示開啟自動清除,默認0,不開啟
    • server.id=host:port1:port2 id:分配給host的id,需要在myid文件中指定,id 必須介于 1 和 254 之間 host:zookeeper所在服務器的IP port1:Zookeeper服務器之間的通信端口 port2:Leader選舉的端口

    更多配置請查看官網

    能力一般,水平有限,如有錯誤,請多指出。 如果對你有用點個關注給個贊唄 更多文章可以關注一下我的微信公眾號suncodernote

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有