1. 程式人生 > >zookeeper在linux centos7下的叢集介紹和配置

zookeeper在linux centos7下的叢集介紹和配置

Zookeeper 有三種執行模式:單機模式、偽叢集模式和叢集模式。

單機模式

單機模式,顧名思義,只有一個zookeeper例項,我們安裝完成並且啟動zk,就是一個單機模式.
具體步驟和上一篇部落格zookeeper的安裝過程類似.
1. 首先保證已安裝Java執行環境
2. 下載ZooKeeper安裝包,可以去ZooKpper官網下載最新的Stable版本,並解壓到指定目錄
3. 配置zoo.cfg 解壓成功後,在conf資料夾下複製一份新的zoo_sample.cfg並重新命名為zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/zookeeper
clientPort=2181

啟動服務
這樣一個單機模式的ZooKeeper就配置完成了

偽叢集模式

這是一種特殊的叢集模式,即叢集的所有伺服器都部署在一臺機器上.

首先進入zookeeper安裝目錄下準備三個配置檔案

[[email protected] conf]# pwd
/opt/zookeeper/conf
[[email protected] conf]# cp zoo_sample.cfg zoo1.cfg
[[email protected] conf]# cp zoo_sample.cfg zoo2.cfg
[[email protected]
conf]# cp zoo_sample.cfg zoo3.cfg [[email protected] conf]# ll 總用量 24 -rw-rw-r--. 1 yinxunzhi yinxunzhi 535 630 2016 configuration.xsl -rw-rw-r--. 1 yinxunzhi yinxunzhi 2712 630 2016 log4j.properties -rw-r--r--. 1 root root 922 44 21:51 zoo1.cfg -rw-r--r--. 1 root root 922
44 21:51 zoo2.cfg
-rw-r--r--. 1 root root 922 44 21:51 zoo3.cfg -rw-rw-r--. 1 yinxunzhi yinxunzhi 922 630 2016 zoo_sample.cfg

由於偽叢集模式是在同一臺機器上執行多個zk例項,所以要保證埠號不能重複,也要保證dataDir各不相同.

zoo1.cfg配置:

[[email protected] conf]# cat zoo1.cfg 
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/zookeeper01
clientPort=2181
server.1=192.168.1.6:2887:3887
server.2=192.168.1.6:2888:3888
server.3=192.168.1.6:2889:3889

zoo2.cfg配置:

[[email protected] conf]# cat zoo1.cfg 
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/zookeeper02
clientPort=2182
server.1=192.168.1.6:2887:3887
server.2=192.168.1.6:2888:3888
server.3=192.168.1.6:2889:3889

zoo3.cfg配置:

[[email protected] conf]# cat zoo1.cfg 
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/zookeeper03
clientPort=2183
server.1=192.168.1.6:2887:3887
server.2=192.168.1.6:2888:3888
server.3=192.168.1.6:2889:3889

最後需要注意的是在配置檔案最後多出的三個配置項

server.1=192.168.1.6:2887:3887
server.2=192.168.1.6:2888:3888
server.3=192.168.1.6:2889:3889

可以用如下格式表示

server.id=host:port1:port2

其中,id被稱為server ID,用來標識該機器在叢集中的機器序號(需要在每臺機器的dataDir目錄下建立myid檔案,檔案內容即為該機器對應的Server ID數字).host為機器IP,port1用於指定Follower伺服器與Leader伺服器進行通訊和資料同步的埠,port2用於進行Leader選舉過程中的投票通訊.

基於以上描述:我們還需要在各個dataDir下新建myid檔案

[root@localhost /]# pwd
/
[root@localhost /]# mkdir /var/zookeeper01/
[root@localhost /]# mkdir /var/zookeeper02/
[root@localhost /]# mkdir /var/zookeeper03/
[root@localhost /]# echo 1 > /var/zookeeper01/myid
[root@localhost /]# echo 2 > /var/zookeeper02/myid
[root@localhost /]# echo 3 > /var/zookeeper03/myid

啟動zk01進行測試:

[[email protected] bin]# pwd
/opt/zookeeper/bin
[[email protected] bin]# sh zkServer.sh start ../conf/zoo1.cfg 
ZooKeeper JMX enabled by default
Using config: ../conf/zoo1.cfg
Starting zookeeper ... STARTED
[[email protected] bin]# sh zkServer.sh start ../conf/zoo2.cfg 
ZooKeeper JMX enabled by default
Using config: ../conf/zoo2.cfg
Starting zookeeper ... STARTED
[[email protected] bin]# sh zkServer.sh start ../conf/zoo3.cfg 
ZooKeeper JMX enabled by default
Using config: ../conf/zoo3.cfg
Starting zookeeper ... STARTED

檢視三臺伺服器的狀態

[[email protected] bin]# sh zkServer.sh status ../conf/zoo1.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo1.cfg
Client port found: 2181. Client address: localhost.
Mode: follower
[[email protected] bin]# sh zkServer.sh status ../conf/zoo2.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo2.cfg
Client port found: 2182. Client address: localhost.
Mode: leader
[[email protected] bin]# sh zkServer.sh status ../conf/zoo3.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo3.cfg
Client port found: 2183. Client address: localhost.
Mode: follower

是用zkCli.sh進行連線測試

[[email protected] bin]# sh zkCli.sh -server 192.168.1.6:2181,192.168.1.6:2182,192.168.1.6:2183
Connecting to 192.168.1.6:2181,192.168.1.6:2182,192.168.1.6:2183
2018-04-04 22:30:39,168 [myid:] - INFO  [main:[email protected]109] - Client environment:zookeeper.version=3.5.2-alpha-1750793, built on 06/30/2016 13:15 GMT
....

叢集模式(後續完善)

一個ZooKeeper叢集通常由一組ZooKeeper例項組成,一般3臺以上就可以組成一個可用的ZooKeeper叢集了.
組成 ZooKeeper 叢集的每臺機器都會在記憶體中維護當前的伺服器狀態,並且每臺機器之間都會互相保持通訊.重要的一點是,只要叢集中存在超過一半的機器能夠正常工作,那麼整個叢集就能夠正常對外服務.
在配置叢集模式之前,需要準備三臺伺服器,我這裡使用的虛擬機器上的cnteos7,IP地址分別為192.168.134.128,192.168.134.129,192.168.134.130.其他步驟同單機模式,只是在配置zoo.cfg上有所不同,下面具體介紹:
叢集模式下zoo.cfg的配置:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/zookeeper
clientPort=2181
server.1=192.168.134.128:2888:3888
server.2=192.168.134.129:2888:3888
server.3=192.168.134.130:2888:3888

可以看到,相比於單機模式,叢集模式多了server.id=host:port1:port2 的配置.其中,id被稱為server ID,用來標識該機器在叢集中的機器序號(需要在每臺機器的dataDir目錄下建立myid檔案,檔案內容即為該機器對應的Server ID數字).host為機器IP,port1用於指定Follower伺服器與Leader伺服器進行通訊和資料同步的埠,port2用於進行Leader選舉過程中的投票通訊.

然後建立myid檔案
在dataDir指定的目錄下建立名為myid檔案,在第一行寫上對應的Server ID.比如如下配置server.1=192.168.134.128:2888:3888,就在myid的檔案第一行寫上1,具體如下

[root@localhost var]# cd /
[root@localhost /]# cd /var/
[root@localhost var]# mkdir zookeeper
[root@localhost var]# cd zookeeper/
[root@localhost zookeeper]# vi myid #寫入Server ID
[root@localhost zookeeper]# cat myid
1

最後就是按照相同步驟配置其他兩臺伺服器,然後啟動服務.
這樣,整個叢集模式就搭建完成

相關推薦

zookeeper在linux centos7叢集介紹配置

Zookeeper 有三種執行模式:單機模式、偽叢集模式和叢集模式。 單機模式 單機模式,顧名思義,只有一個zookeeper例項,我們安裝完成並且啟動zk,就是一個單機模式. 具體步驟和上一篇部落格zookeeper的安裝過程類似. 1. 首先保證

centos7mongoDB安裝配置

profile sta 後臺 守護 .cn 保存 配置 oca 命名 2018-10-31更新 yum –y install mongodb-org 找不到這個包,清華源: https://mirrors.tuna.tsinghua.edu.cn/help/mongodb/

centos7mongodb安裝配置 (轉載)

1、下載安裝包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.12.tgz 2、解壓 tar -zxvf mongodb-linux-x86_64-3.2.12.tgz

centos7.5mongodb安裝配置

1、下載安裝包 2、解壓 3、移動到指定位置(位置放到你想放的資料夾) mv mongodb-linux-x86_64-rhel70-4.0.4 /opt/mongodb 4、在/opt/mongodb/mongodb下建立資料夾 mkdir -p /dat

Hadoop叢集虛擬機器網絡卡的介紹配置

很多人安裝虛擬機器的時候,經常遇到不能上網的問題,而vmware有三種網路模式,對初學者來說也比較眼花聊亂,今天我就來基於虛擬機器3種網路模式,幫大家普及下虛擬機器上網的背景知識 虛擬機器網路模式 無論是vmware,virtual box,virtual pc等

CentOS7安裝、簡單配置SSH遠端連結mysql

1. 下載並安裝Mysql開源社群版 在Linux環境下,有yum、rpm等軟體安裝方式。 yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟體包管理器。 基於

centos7.5mysql安裝配置

1.在centos7上安裝mysql,採用rpm進行安裝 1.1檢視系統mysql的安裝情況 # rpm -qa | grep mysql  // 這個命令就會檢視該作業系統上是否已經安裝了mysql資料庫 如果系統有安裝,那可以選擇進行解除安裝 [[email&

Db2數據庫在Linux的安裝配置

fig 用戶密碼 oca authent linux token reat local ken 一.DB2數據庫的安裝和配置: 1.安裝完成後,需要增加三個操作系統的組和三個操作系統用戶,如下: groupadd -g 999 db2iadm1 #(管理實例的組) gro

centos7 安裝vsftpd安裝配置以及虛擬用戶權限分配

vsftpd系統環境 centos7.3 版本ftp 根目錄 : /data/ftpftp 配置文件目錄:/etc/vsftpdftp 虛擬用戶權限配置文件目錄:/etc/vsftpd/vuser_config實現目標:1,匿名用戶可以登錄,但是不能訪問虛擬用戶的宿主目錄,只能訪問共享目錄2,虛擬用戶對自己的

Ubuntu Apache安裝配置2

spl pac ubuntu server ould start warn it works apache。 在Ubuntu上安裝Apache,有兩種方式:1 使用開發包的打包服務,例如使用apt-get命令;2 從源碼構建Apache。本文章將詳細描述這兩種不同的安裝方式

CentOS7安裝MySQL並配置遠程連接

公司收購 開發 重置 nbsp 刪掉 permanent mov 表格 一是 一、CentOS7下安裝MySQL數據庫 CentOS7默認的安裝包裏面已經沒有 MySQL-Server安裝包了,遠程鏡像中也沒有了。 默認的是MariaDB (MySQL的一個分支,開發這個

HTTP 之 httpd-2.4介紹配置

httpd2.4 常見配置 1 概述HTTPD 2.4默認是用於centOS7上,該軟件相比於HTTPD2.2 有了功能的改進。本文將對httpd2.4的新功能進行介紹,並介紹相關的常見配置2 HTTPD 新特性.(1) MPM支持運行為DSO機制;以模塊形式按需加載,DSO:動態的共享模塊.(2) e

Linux更換jdk配置環境變量

pat 出現 下載jdk cnblogs clas home log code 文件 不需要刪除舊的jdk,安裝新版本的jdk,再更新環境變量即可。 Linux下安裝jdk,步驟如下 1:下載jdk包:本章使用的為後綴為tar.gz的文件(不需要安裝),如jdk-

Centos7python2.x python3.x共存

help arc 3.x lsd its oct 2.7 pil 安裝路徑 摘要 目前centos7系統自帶的Python版本是2.7.5,這個版本唄系統中的很多程序鎖依賴,所有我們不可能去刪除它。如果這個時候我們還想用python3.x 版本,其實這裏有兩個方式,一個是

Centos7的OpensslCA

tap 需要 密文 rtb nmf 密碼 cux next sse 一、Openssl常用命令:# openssl ? # 查看openssl的命令及子命令 # man enc # 可以直接查看子命令幫助加密:# openssl enc -des3 -e -sa

CentOS7安裝pippip3

usr -s local OS 檢查 命令 直接 安裝 inux 1、首先檢查linux有沒有安裝python-pip包,直接執行 yum install python-pip 2、沒有python-pip包就執行命令 yum -y install epel-release

mac安裝Maven配置環境變量

環境變量 java環境 targe download 查看 window bsp 編輯 配置 1、下載maven包:   下載鏈接:??http://maven.apache.org/download.cgi   maven下載文件釋義:     1?? Binary ta

CentOS7安裝Python3Python2並存

python3 python yum (一)簡述剛安裝的centos7.4版本默認是安裝Python2.7,由於一些命令需要使用的原因,比如yum等,使用的是2.7.5版本的,由於現在很多庫包括django都是使用Python3,因此,有這樣的需求:yum使用python2.7版本,django和其他

centos7NFS使用與配置

nfs linuxnfs centosnfs NFS是Network File System的縮寫,即網絡文件系統。客戶端通過掛載的方式將NFS服務器端共享的數據目錄掛載到本地目錄下。一、NFS的工作流程1、由程序在NFS客戶端發起存取文件的請求,客戶端本地的RPC(rpcbind)服務會

vagrant在windows的安裝配置

eas 官網 with sta .com 處理器 mac val rim 記錄一下安裝和配置過程中的一些坑步驟一分別下載vagrant和VirtualBox,我這裏下載的是vagrant_1.9.1.msi 和 VirtualBox-5.1.14-112924-Win.ex