1. 程式人生 > >zookeeper偽分散式配置安裝

zookeeper偽分散式配置安裝

自己在學習實驗zookeeper的時候通常都會是用一臺機器進行偽分散式的實驗,本篇文章主要是介紹安裝步驟,其實安裝部署特別簡單但是還是存在一點坑的。
  1. 建立資料夾我的目錄結果是:
    [[email protected]_71_178_centos zookeeper]# pwd
    /usr/zookeeper
  2. 首先建立需要用到的資料夾(s1,s2,s3),
    [[email protected]_71_178_centos zookeeper]# ls
    s1  s2  s3  zk  zookeeper-3.4.10.tar.gz

    (這裡注意一點,zookeeper一般情況下部署都是採用奇數,為什麼要奇數下面會介紹到)
  3. 下載zookeeper(wget  http://apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz)

  4. 解壓
    tar -cvzf zookeeper-3.4.9.tar.gz -C zk 

  5. 進入zk/zookeeper-3.4.9/conf/資料夾中重新命名zook.simple.cfg 為zook.cfg
  6. 將資料夾zookeeper-3.4.9複製三份分別到目錄s1,s2,s3中
  7. 在s1,s2,s3中分別建立資料夾
    [[email protected]_71_178_centos s1]# ls
    zkdata  zklog  zookeeper-3.4.10

  8. 分別修改s1,s2,s3中的zook.cfg配置檔案。修改後內容如下:
  9. s1/zookeeper-3.4.10/conf/zook.cfg
  10. # 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=/usr/zookeeper/s1/zkdata
    dataLogDir=/usr/zookeeper/s1/zklog
    # 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
    server.1=localhost:2287:3387
    server.2=localhost:2288:3388
    server.3=localhost:2289:3389


  11. s2/zookeeper-3.4.10/conf/zook.cfg
  12. # 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=/usr/zookeeper/s2/zkdata
    dataLogDir=/usr/zookeeper/s2/zklog
    # the port at which the clients will connect
    clientPort=2182
    # 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
    server.1=localhost:2287:3387
    server.2=localhost:2288:3388
    server.3=localhost:2289:3389
  13. s3/zookeeper-3.4.10/conf/zook.cfg
  14. # 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=/usr/zookeeper/s3/zkdata
    dataLogDir=/usr/zookeeper/s3/zklog
    # the port at which the clients will connect
    clientPort=2183
    # 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
    server.1=localhost:2287:3387
    server.2=localhost:2288:3388
    server.3=localhost:2289:3389

    配置檔案解釋
    • tickTime:這個時間是作為 Zookeeper 伺服器之間或客戶端與伺服器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發送一個心跳。
    • dataDir:顧名思義就是 Zookeeper 儲存資料的目錄,預設情況下,Zookeeper 將寫資料的日誌檔案也儲存在這個目錄裡。
    • clientPort:這個埠就是客戶端連線 Zookeeper 伺服器的埠,Zookeeper 會監聽這個埠,接受客戶端的訪問請求。
    • initLimit:這個配置項是用來配置 Zookeeper 接受客戶端(這裡所說的客戶端不是使用者連線 Zookeeper 伺服器的客戶端,而是 Zookeeper 伺服器叢集中連線到 Leader 的 Follower 伺服器)初始化連線時最長能忍受多少個心跳時間間隔數。當已經超過 10 個心跳的時間(也就是 tickTime)長度後 Zookeeper 伺服器還沒有收到客戶端的返回資訊,那麼表明這個客戶端連線失敗。總的時間長度就是 5*2000=10 秒
    • syncLimit:這個配置項標識 Leader 與 Follower 之間傳送訊息,請求和應答時間長度,最長不能超過多少個 tickTime 的時間長度,總的時間長度就是 2*2000=4 秒
    • server.A=B:C:D:其中 A 是一個數字,表示這個是第幾號伺服器;B 是這個伺服器的 ip 地址;C 表示的是這個伺服器與叢集中的 Leader 伺服器交換資訊的埠;D 表示的是萬一叢集中的 Leader 伺服器掛了,需要一個埠來重新進行選舉,選出一個新的 Leader,而這個埠就是用來執行選舉時伺服器相互通訊的埠。如果是偽叢集的配置方式,由於 B 都是一樣,所以不同的 Zookeeper 例項通訊埠號不能一樣,所以要給它們分配不同的埠號。

    除了修改 zoo.cfg 配置檔案,叢集模式下還要配置一個檔案 myid,這個檔案在 dataDir 目錄下,這個檔案裡面就有一個數據就是 A 的值,Zookeeper 啟動時會讀取這個檔案,拿到裡面的資料與 zoo.cfg 裡面的配置資訊比較從而判斷到底是那個 server。

    1. 分別在資料夾zkdata中建立檔案myid檔案內容為server.?=localhost:2287:3387中的?如下:s1資料夾下vi /usr/zookeeper/s1/zkdata/myid
    2. 1
      
    3. 分別進入相應zookeeper中bin目錄分別啟動
    4. [[email protected]_71_178_centos bin]# ./zkServer.sh  start
    5. 查詢狀態是否成功
    6. [[email protected]_71_178_centos bin]# ./zkServer.sh status
      ZooKeeper JMX enabled by default
      Using config: /usr/zookeeper/s1/zookeeper-3.4.10/bin/../conf/zoo.cfg
      Mode: follower
      
      幾點問題:1。zook.cfg中dataDir路徑一定要正確否則啟動不成功,2.myid中一定要跟server.幾對應否則也不成功
      為啥需要奇數機器:
      官網強烈建議部署zookeeper機器的數量是奇數的,原因在於ZooKeeper的選舉機制,選票超過半數的機器才有可能成為Leader,因此當整個叢集中只有兩臺伺服器或者整個叢集超過半數的機器都掛掉時,是無法選舉出Leader的.其實這是一個叢集資源利用最大化的問題,例如叢集中有三個節點,允許掛掉一個節點,這時還剩餘兩個節點,超過半數;而叢集中有四個節點時,最多也只能掛掉一個節點,因為如果再掛掉一個,整個叢集就剩下兩個節點,無法滿足超過叢集數的半數這個條件.綜合來看兩者的容災能力是一樣的

相關推薦

zookeeper分散式配置安裝

自己在學習實驗zookeeper的時候通常都會是用一臺機器進行偽分散式的實驗,本篇文章主要是介紹安裝步驟,其實安裝部署特別簡單但是還是存在一點坑的。建立資料夾我的目錄結果是:[[email 

Zookeeper分散式配置

1.下載 從hust的映象站下載 地址: http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.5.4-beta/zookeeper-3.5.4-beta.tar.gz 2.然後解壓、移動到自己喜歡的位置就行 我是放到 /

zookeeper 分散式配置

官方下載地址為:http://www.apache.org/dyn/closer.cgi/zookeeper/ 偽分散式配置 在/usr/zookeeper下建立3個目錄server1 server2 server3 1.解壓zookeeper-3.4.5.tar.gzsu

zookeeper分布安裝配置

body html 生效 grep replica run test version eat 1、下載路徑為:http://mirrors.cnnic.cn/apache/zookeeper/stable/ 2、安裝: 第一步 解壓zookeeper壓縮包: 進入 zo

Windows 下 Zookeeper 單機模式和分散式模式安裝

安裝jdk 安裝Zookeeper. 在官網http://mirrors.hust.edu.cn/apache/zookeeper/下載zookeeper.我下載的是zookeeper-3.4.10版本。 解壓zookeeper-3.4.10至D:\dev\zookeep

Hadoop安裝教程_單機/分散式配置_CentOS6.4/Hadoop2.6.0

 2015-12-17 (updated: 2017-03-02) 本教程適合於在 CentOS 6.x 系統中安裝原生 Hadoop 2,適用於Hadoop 2.7.1, Hadoop 2.6.0 等版本,主要參考了官方安裝教程,步驟詳細,輔以適當說明,相信按照步驟來,都

HBase安裝分散式配置教程

HBase安裝是在我的另一篇部落格hadoop在centos系統未分散式安裝的基礎上進行的,HBase下載地址:HBase,不建議選擇最新版本的,容易出現相容性問題。 HBase安裝步驟 解壓到/usr/local 路徑下 sudo tar -zxf ~

Hadoop安裝教程_單機/分散式配置_Hadoop2.6.4/Ubuntu16.04

1. 簡介 本教程適合於原生 Hadoop 2,包括 Hadoop 2.6.4, Hadoop 2.7.1 等版本,看了很多資料,自己搭建了好幾次,特做個總結,按照步驟來都能成功。 2. 環境 本教程使用 Ubuntu 16.04 64位 作為系統環境(U

Hadoop:Hadoop單機分散式安裝配置

因為lz的linux系統已經安裝好了很多開發環境,可能下面的步驟有遺漏。之前是在docker中配置的hadoop單機偽分散式[ ],並且在docker只有root使用者,所有沒有許可權問題存在。這裡直接在linux下配置,主要是為了能用netbeans ide除錯had

zookeeper執行環境2、3:單節點安裝分散式叢集安裝

轉載:http://www.aboutyun.com/thread-9097-1-1.html 問題導讀: 1.什麼是zookeeper 2.zookeeper有幾種安裝方式? 3.zookeeper偽分佈如何配置myid? 4.zookeeper包含哪些常用操作命令? 前

Hadoop安裝教程_單機/分散式配置_騰訊雲/Ubuntu Server 16.04.1 LTS 64位/Hadoop2.9.1

環境 騰訊雲伺服器 系統:Ubuntu Server 16.04.1 LTS 64位 Hadoop版本:hadoop-2.9.1 提示:雲伺服器下的Ubuntu圖形化介面親測很卡,慎用!所以本教程全程shell配置。 裝好了 Ubuntu 系統之後,在安裝 Ha

Hadoop安裝教程_單機/分散式配置_hadoop-2.7.5/Ubuntu14.04

    本篇部落格為學習總結部落格,學習字源來自廈門大學資料庫實驗室,連結為:http://dblab.xmu.edu.cn/blog/install-hadoop/    十分感謝!!!一、 建立新使用者    首先按 ctrl+alt+t 開啟終端視窗,輸入如下命令建立新

Hadoop安裝教程_分散式配置_CentOS7.x/Hadoop2.7.3

我只提醒下,這裡的坑。ssh登入時,切記用hadoop帳號登入,否則格式化的所有權不是hadoop,那麼無法啟動。 本教程適合於在 CentOS 6.x 系統中安裝原生 Hadoop 2,適用於Hadoop 2.7.1, Hadoop 2.6.0 等版本,主要參

Centos7安裝Hadoop-- 分散式配置

1.安裝jdk8 2.配置免密登陸 2.安裝hadoop (1)下載Hadoop wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/hadoop-2.7.3.tar.gz (2)解壓 tar

Hadoop安裝教程_單機/分散式配置_Hadoop2.7.3/Ubuntu16.04

當開始著手實踐 Hadoop 時,安裝 Hadoop 往往會成為新手的一道門檻。儘管安裝其實很簡單,書上有寫到,官方網站也有 Hadoop 安裝配置教程,但由於對 Linux 環境不熟悉,書上跟官網上簡略的安裝步驟新手往往 Hold 不住。加上網上不少教程也甚是坑,導

zookeeper集群安裝

tar.gz 所有 臨時 mce tps star 個數字 cluster 修改配置 記錄下zookeeper偽分布式搭建的過程,假設系統已經配置好了JAVA環境。 1.準備環境   linux服務器一臺,下載某個版本的zookeeper壓縮包,下載鏈接:http://ap

搭建hadoop+Hbase+Zookeeper分散式完整過程

安裝前準備:centos7   linux jdk1.8  hadoop ,Hbase ,zookeeper 發現ens33 沒有inet 這個屬性,那麼就沒法通過IP地址連線虛擬機器。 接著來檢視ens33網絡卡的配置:vi /etc/sysconfig/network

Hadoop的分散式安裝及部署

文章目錄 需要的軟體及原始碼包 安裝JDK Hadoop的部署安裝 Hadoop的配置 Hadoop的使用 做Hadoop的偽分散式我們分為一下幾個步驟 需要的軟體及原始碼包 FileZil

搭建真正的zookeeper叢集 搭建zookeeper分散式叢集

  搭建zookeeper偽分散式叢集 zookeeper是Hadop Ecosystem中非常重要的元件,它的主要功能是為分散式系統提供一致性協調服務, 提供的功能包括配置維護,域名服務,分散式同步和組服務。 zookeeper的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的介面和效能高

zookeeper分散式

下載 wget http://archive.cloudera.com/cdh5/cdh/5/zookeeper-3.4.5-cdh5.9.3.tar.gz 解壓 tar -zxvf zookeeper-3.4.5-cdh5.9.3.tar.gz -C /opt/ 進入/opt/目錄