ZooKeeper注冊中心安裝詳細步驟(單節點)


安裝 Dubbo 注冊中心

Dubbo 建議使用 Zookeeper 作為服務的注冊中心。

注冊中心服務器(192.168.3.71)配置,安裝 Zookeeper:

1 修改操作系統的/etc/hosts 文件中添加:

# zookeeper servers

192.168.3.71 edu-provider-01

2  http://apache.fayea.com/zookeeper/下載 zookeeper-3.4.6:

$ wget http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

3 解壓 zookeeper 安裝包: $ tar -zxvf zookeeper-3.4.6.tar.gz

4 /home/wusc/zookeeper-3.4.6 目錄下創建以下目錄: $ cd /home/wusc/zookeeper-3.4.6

$ mkdir data $ mkdir logs

5、 將 zookeeper-3.4.6/conf 目錄下的 zoo_sample.cfg 文件拷貝一份,命名為為

zoo.cfg

$ cp zoo_sample.cfg zoo.cfg

6、 修改 zoo.cfg 配置文件:

$ vi zoo.cfg

# 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=/home/wusc/zookeeper-3.4.6/data dataLogDir=/home/wusc/zookeeper-3.4.6/logs

# the port at which the clients will connect clientPort=2181

#2888,3888 are election port

server.1=edu-provider-01:2888:3888

其中,

2888 端口號是 zookeeper 服務之間通信的端口。

3888 是 zookeeper 與其他應用程序通信的端口。

edu-provider-01 是在 hosts 中已映射了 IP 的主機名。

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 地址或/etc/hosts 文件中映射了 IP 的主機名;表示的是這個服務器與集群中的 Leader 服務器交換信息的端口;表示的是萬一集群中的 Leader 服務器掛了,需要一個端口來重新進行選舉,選出一個新的 Leader,而這個端口就是用來執行選舉時服務器相互通信的端口。如果是偽集群的配置方式,由於都是一樣,所以不同的 Zookeeper 實例通信端口號不能一樣,所以要給它們分配不同的端口號。

7  dataDir=/home/wusc/zookeeper-3.4.6/data 下創建 myid 文件編輯 myid 文件,並在對應的 IP 的機器上輸入對應的編號。如在 zookeeper 上,myid

文件內容就是 1。如果只在單點上進行安裝配置,那么只有一個 server.1。

$ vi myid 1

8、 wusc 用戶下修改 vi /home/wusc/.bash_profile,增加 zookeeper 配置:

# zookeeper env

export ZOOKEEPER_HOME=/home/wusc/zookeeper-3.4.6 export PATH=$ZOOKEEPER_HOME/bin:$PATH

使配置文件生效

$ source /home/wusc/.bash_profile

9 在防火牆中打開要用到的端口 2181、2888、3888

切換到 root 用戶權限,執行以下命令:

# chkconfig iptables on

# service iptables start

編輯/etc/sysconfig/iptables

# vi /etc/sysconfig/iptables

增加以下行:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT

重啟防火牆:

# service iptables restart

查看防火牆端口狀態:

# service iptables status

 

Table: filter

 

 

 

 

Chain INPUT (policy ACCEPT)

 

 

num

target

prot opt source

destination

 

1

ACCEPT

all

--

0.0.0.0/0

0.0.0.0/0

state RELATED,ESTABLISHED

2

ACCEPT

icmp

--

0.0.0.0/0

0.0.0.0/0

 

3

ACCEPT

all

--

0.0.0.0/0

0.0.0.0/0

 

4

ACCEPT

tcp

--

0.0.0.0/0

0.0.0.0/0

state NEW tcp dpt:22

5

ACCEPT

tcp

--

0.0.0.0/0

0.0.0.0/0

state NEW tcp dpt:2181

6

ACCEPT

tcp

--

0.0.0.0/0

0.0.0.0/0

state NEW tcp dpt:2888

7

ACCEPT

tcp

--

0.0.0.0/0

0.0.0.0/0

state NEW tcp dpt:3888

8

REJECT

all

--

0.0.0.0/0

0.0.0.0/0

reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)

 

 

num

target

prot opt source

destination

 

1

REJECT

all

--

0.0.0.0/0

0.0.0.0/0

reject-with icmp-host-prohibited

Chain OUTPUT (policy

ACCEPT)

 

 

num  target

prot opt source

destination

 

 

 

10、 啟動並測試 zookeeper(要用 wusc 用戶啟動,不要用 root):

(1) 使用 wusc 用戶到/home/wusc/zookeeper-3.4.6/bin 目錄中執行: $ zkServer.sh start

(2) 輸入 jps 命令查看進程: $ jps

1456 QuorumPeerMain

1475 Jps

其中,QuorumPeerMain  zookeeper 進程,啟動正常

(3) 查看狀態: $ zkServer.sh status

(4) 查看 zookeeper 服務輸出信息:

由於服務信息輸出文件在/home/wusc/zookeeper-3.4.6/bin/zookeeper.out $ tail -500f zookeeper.out

11、 停止 zookeeper 進程: $ zkServer.sh stop

12 配置 zookeeper 開機使用 wusc 用戶啟動:編輯/etc/rc.local 文件,加入:

su - wusc -c '/home/wusc/zookeeper-3.4.6/bin/zkServer.sh start'

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM