1. 程式人生 > >zookeeper的單機多例項配置和分散式配置

zookeeper的單機多例項配置和分散式配置

單機多例項配置:

#生成配置檔案,配置檔名隨便,這裡是zoo.cfg
cp /data/apache/zookeeper/conf/zoo_sample.cfg  /data/apache/zookeeper/conf/zoo.cfg
vi /data/apache/zookeeper/conf/zoo.cfg

   配置檔案內容:

tickTime=2000
initLimit=5
syncLimit=5
dataDir=/data/apache/zookeeper/data  # 目錄需要手工建立,存放 zk 資料,主要是快照
clientPort=2181
# dataLogDir事務日誌存放目錄,最好配置,事務日誌的寫入速度嚴重影響zookeeper的效能
dataLogDir=/data/apache/zookeeper/datalog
server.1=192.168.130.170:2889:3889
server.2=192.168.130.170:2890:3890
server.3=192.168.130.170:2891:3891

   拷貝配置檔案,生成三個配置檔案:zoo-slave1.cfg: (另外兩個 zoo-slave2.cfg 和 zoo-slave3.cfg)。

   zoo-slave1.cfg需要為dataDir和dataLogDir設定目錄,改動內容如下:

dataDir=/opt/zookeeper-3.4.8/zkdata/slave1
dataLogDir=/opt/zookeeper-3.4.8/zkdatalog/slave1
clientPort=2182

   zoo-slave2.cfg :

dataDir=/opt/zookeeper-3.4.8/zkdata/slave2
dataLogDir=/opt/zookeeper-3.4.8/zk
datalog/slave2 clientPort=2183

  zoo-slave3.cfg :

dataDir=/opt/zookeeper-3.4.8/zkdata/slave3
dataLogDir=/opt/zookeeper-3.4.8/zkdatalog/slave3
clientPort=2184

如上配置相同的本機IP,不同的埠號,這裡配置了三個例項

如何區分到底是第幾個例項呢,就要有個id檔案,名字必須是myid

echo "1" > /opt/zookeeper-3.4.8/zkdata/slave1/myid
echo "2" > /opt/zookeeper-3.4.8/zkdata
/slave2/myid echo "3" > /opt/zookeeper-3.4.8/zkdata/slave3/myid

在三個視窗下迅速啟動:

bin/zkServer.sh start zoo-slave1.cfg 
bin/zkServer.sh start zoo-slave2.cfg 
bin/zkServer.sh start zoo-slave3.cfg

檢視zookeeper選出來的leader,通過下面的指令碼,分別指定配置檔案,就可以檢視哪一個例項是leader:

bin/zkServer.sh status zoo-slave1.cfg

可以看下如下輸出資訊:

[[email protected] bin]# sh zkServer.sh status zoo-slave1.cfg
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo-slave1.cfg
Mode: follower
[[email protected] ~]# sh zkServer.sh status zoo-slave2.cfg
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo-slave2.cfg
Mode: leader
[[email protected] ~]# sh zkServer.sh status zoo-slave3.cfg
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo-slave3.cfg
Mode: follower
注意在啟動時,由於不一定是哪個zookeeper做leader,所以啟動過程中日誌檔案會有錯誤,不用管,等到所有zookeeper啟動了之後,選出了leader,一切就都ok了。

分散式部署:

    與單機多例項差不多,不過不用三個目錄,只需要一個目錄,一個配置檔案,三個不同IP,分發在不同的IP上,仍然是不同的myid。假設我有三臺獨立機器,那麼zoo.cfg(只需要一個預設的配置檔案zoo.cfg)配置檔案如下所示:

tickTime=2000
initLimit=5
syncLimit=5
dataDir=/data/apache/zookeeper/data  # 目錄需要手工建立,存放 zk 資料,主要是快照
clientPort=2181
# dataLogDir事務日誌存放目錄,最好配置,事務日誌的寫入速度嚴重影響zookeeper的效能
dataLogDir=/data/apache/zookeeper/datalog
server.1=192.168.130.101:2888:3888
server.2=192.168.130.102:2888:3888
server.3=192.168.130.103:2888:3888

然後在三臺機器上分別寫入不同的myid:

#在192.168.130.101執行下面一條
echo "1" > /data/apache/zookeeper/data/myid
#在192.168.130.102執行下面一條
echo "2" > /data/apache/zookeeper/data/myid
#在192.168.130.103執行下面一條
echo "3" > /data/apache/zookeeper/data/myid

這樣分別在三臺機器迅速啟動zookeeper,此時不需要指定配置檔案,預設配置檔案就是zoo.cfg:

bin/zkServer.sh start

檢視啟動後的狀態:

bin/zkServer.sh status

進入zookeeper的shell客戶端:

bin/zkCli.sh   #進入本機zookeeper的shell

進入指定機器的shell客戶端:

bin/zkCli.sh -server 192.168.130.101

在檢視啟動狀態有錯誤的情況下,稍等一會再檢視,因為zookeeper啟動後需要一點時間選出leader。




相關推薦

zookeeper單機例項配置分散式配置

單機多例項配置: #生成配置檔案,配置檔名隨便,這裡是zoo.cfg cp /data/apache/zookeeper/conf/zoo_sample.cfg  /data/apache/zookeeper/conf/zoo.cfg vi /data/apache/zo

zookeeper單機例項分散式部署的步驟

介紹zookeeper單機多例項部署(實驗性質)以及生產環境的分散式部署 1. 準備工作:    1)需要linux環境,推薦用ubuntu的系統。學習的話使用oracle的virtual box安裝虛擬機器,網上找下安裝文件就可以裝好了,而生產環境一般都會裝好的。ub

RabbitMQ單機例項配置

由於某些因素的限制,有時候你不得不在一臺機器上去搭建一個rabbitmq叢集,當然這種叢集只適合自己玩玩,驗證下結論,這個有點類似zookeeper的單機版。真實生成環境還是要配成多機叢集的。有關怎麼配置多機叢集的可以參考其他的資料,這裡主要論述如何在單機中配置

mongodb單機例項主從配置

1、需要啟動兩個mongodb例項,首先關閉mongodb預設開機啟動.service mongodb stop chkconfig mongodb off2、複製 /etc/mongod.conf cp /etc/mongod.conf /etc/mongod_slave.

Tomcat 的單機例項配置

有時候需要在一個伺服器上部署多個Tomcat,通過不同的埠進行區分,比如,反向代理。但是不想簡單的通過複製Tomcat來實現,這樣既不方便以後的升級也不方便管理,那麼這時候就需要配置Tomcat的單機多例項了。 以下操作運行於Linux下。 Tomcat 下載 Tomcat的下載可以直接到Tomcat官方

Apollo分散式配置

傳統配置檔案有什麼缺點 如果修改了配置檔案,需要重新打包釋出,而且每個環境變數配置檔案複雜。 分散式配置中心 將配置檔案註冊到配置中心平臺上,可以使用分散式配置中心實時更新配置檔案,統一管理,不需要重新打包釋出    後面定義的所有相關配置檔案資訊:除了 server port&

Redis單機實體安裝與主從配置

上一篇文章講解了Centos上的redis安裝。 現在我們來說一下redis單機多例項的安裝 首先關閉redis 根據上一篇redis的安裝的配置檔案位置 首先我們複製redis 的配置檔案 cp/etc/redis/6379.conf /etc/redis

redis(四))——例項化——實現主從配置

引言 redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value型別相對更多,包括string(字串)、list(連結串列)、set(集合)和zset(有序集合)。

Zabbix 下監控tomcat例項,自動化指令碼配置

 Tomcat多例項監控 一、實現思路: 1、首先開啟java的jmx服務。指令碼呼叫add_service_tomcat.sh Tomcat多例項的實現思路:首先通過自定義發現tom

Spring介紹及配置(XML文件配置註解配置)

處理 tis 配置文件 3.0 span 特點 inverse logging 結構 本節內容: Spring介紹 Spring搭建 Spring概念 Spring配置講解 使用註解配置Spring 一、Spring介紹 1. 什麽是Spring

mybatis的xml配置註解配置

mybatis 註解配置xml配置 spring-application.xml <?xml version = "1.0" encoding = "UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"

IDEA搭建Maven Web(SSM)項目(二)——jar包引入、jetty服務器配置ssm配置

自動下載 項目文件 工具欄 exclude 版本 don app 網站 tab 第二篇:jetty服務器插件配置,ssm所需基本jar包引入,ssm相關文件配置 1. 配置jetty服務器插件打開已默認創建的pom.xml文件,其中已經自動引入了一些jar和maven插件,

Druid資料來源配置監控配置

版權宣告:本文為博主原創文章,無需授權即可轉載,甚至無需保留以上版權宣告,轉載時請務必註明作者。 https://blog.csdn.net/weixin_43453386/article/details/83582399 Druid資料來源配置和監控配置 一、Drui

maven環境變數配置倉庫配置(包含jdk環境變數配置

一、先配置好jdk         1、系統變數→新建 JAVA_HOME 變數 ,變數值填寫jdk的安裝目錄(例如 E:\Java\jdk1.7.0)         2、系

Mybatis配置基於配置的使用

匯入jre包後還需要配置xml檔案 配置檔案mybatis-config.xml在src目錄下建立mybatis的主配置檔案mybatis-config.xml 內容:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configu

(一)zookeeper單機模式的安裝使用

1、分散式常見問題 容易出現死鎖 容易活鎖,處於活鎖的執行緒都是非阻塞的,而且每個執行緒都搶不到資源,會造成cpu的耗費 叢集的管理問題,比如某臺的宕機需要能夠檢測到 叢集配置檔案的統一管理問題 叢集中資訊更新通知問題,某一臺機器釋出一個資訊,能夠讓整個叢集的機器都

Sentry入門---整合配置鉤子配置

一、整合配置 對於許多平臺SDK,可以與其一起配置整合。 在作為init()呼叫的一部分發生的某些平臺上,在某些其他平臺上,應用了不同的模式。 integrations 在某些SDK中,通過此引數在庫初始化時配置整合。 有關更多資訊,請檢視特定的整合文件。 defau

yaml配置ini配置的資料來源配置資料獲取

1.前言    關於yaml和ini的相關理論暫不做記錄,不影響程式碼編寫,百度即可。 2.關於配置檔案的選擇    yaml 和 ini 都使用過, 但是yaml更符合人類使用,已要棄用ini,後期各專案均採用yaml進行管理。 3.關於yaml的全流程介紹  

linux作業系統安裝5.7.17MySQL以及單機例項

1、下載安裝包mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz 2、tar xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local -------解壓 3、cd /usr/local -----

單機例項tomcat 部署

簡介: 目錄結構 /bin - 啟動,停止及其它指令碼目錄/conf - 配置檔案目錄,容器的主配置檔案為server.xml/logs - 預設日誌目錄/webapps - 網站應用目錄 變數引用 CATALINA_HOME: Tomcat 安裝的根目錄,例如 /home/tomcat/apach