1. 程式人生 > >zookeeper叢集及mycat配置搭建

zookeeper叢集及mycat配置搭建

第一部分 zookeeper環境

環境:3臺機器

192.168.109.132-134

centos7.2

1 linux環境設定

#關閉防火牆

systemctl stop firewalld.service

systemctl disable firewalld.service

#關閉SELINUX

sed -i's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

setenforce 0

#設定時間

timedatectl set-ntp no

timedatectl set-timezone Asia/Shanghai

#手動設定為當前時間

timedatectl set-time "2017-10-1713:52:16"

timedatectl set-local-rtc 1

timedatectl set-ntp yes

2 安裝配置zookeeper

#安裝/root/zookeeper-3.4.10.tar.gz

cd /usr/local

tar zxvf /root/zookeeper-3.4.10.tar.gz

mv zookeeper-3.4.10 zookeeper

cd zookeeper

mkdir -p data log

cd conf

cp zoo_sample.cfg zoo.cfg

vim zoo.cfg

# The number of milliseconds of each tick

# 心跳檢查的時間 2秒

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

# 初始化時 連線到伺服器端的間隔次數,總時間10*2=20秒

initLimit=10

# The number of ticks that can pass between

# sending a request and getting anacknowledgement

# ZK Leader 和follower 之間通訊的次數,總時間5*2=10秒

syncLimit=5

# the directory where the snapshot isstored.

# do not use /tmp for storage, /tmp here isjust

# example sakes.

# 儲存記憶體中資料庫快照的位置,如果不設定引數,更新事務日誌將被儲存到預設位置/tmp

dataDir=/usr/local/zookeeper/data

# 錯誤日誌的存放位置

dataLogDir=/usr/local/zookeeper/log

# the port at which the clients willconnect

clientPort=2181

server.1=192.168.109.132:2888:3888

server.2=192.168.109.133:2888:3888

server.3=192.168.109.134:2888:3888

圖示:

 

cd ../data

touch myid

vim myid

1

#寫入1

圖示:

 

#複製到其他節點

scp -r /usr/local/zookeeper/[email protected]:/usr/local/zookeeper/

scp -r /usr/local/zookeeper/ [email protected]:/usr/local/zookeeper/

分別修改myid

vim /usr/local/zookeeper/data/myid

改為2和3,對應IP:192.168.109.133/134

啟動:

cd /usr/local/zookeeper/bin

./zkServer.sh start

ZooKeeper JMX enabled by default

Using config:/usr/local/zookeeper/bin/../conf/zoo.cfg

Starting zookeeper ... STARTED

圖示:

 

檢視狀態,3臺機器,其中一個是leader,另外兩個是follower

./zkServer.sh status

ZooKeeper JMX enabled by default

Using config:/usr/local/zookeeper/bin/../conf/zoo.cfg

Mode: leader

圖示:

Leader節點

Follower節點

#至此,環境搭建成功

##############################################################

#如果是同一臺機器,需要建3個目錄

#配置檔案

dataDir=/usr/local/server1/data

dataLogDir=/usr/local/server1/log

# the port at which the clients willconnect

clientPort=2181                          #每個目錄埠號不一樣

server.1=192.168.109.132:2888:3888

server.2=192.168.109.133:2889:3889

server.3=192.168.109.134:2890:3890

#myid檔案,修改同上

#複製到其他節點

cp -r /usr/local/server1//usr/local/server2/

cp -r /usr/local/server1//usr/local/server3/

#################################################################

第二部分 mycat配置為通過zookeeper進行配置

1 環境準備

mycat兩個節點

IP 192.168.109.128/135

mycat1.6.5

2 配置使用zookeeper,兩個節點都需要修改

vim /usr/local/mycat/conf/myid.properties

loadZk=true

zkURL=192.168.109.132:2181,192.168.109.133:2181,192.168.109.134:2181     #zookeeper叢集節點,逗號分隔

clusterId=mycat-cluster-1                                                                                                              #mycat叢集名字

myid=mycat_fz_01                                                                                                                           #mycat節點名字,另一臺是mycat_fz_02

clusterSize=2                                                                                                                                      #mycat叢集規模

clusterNodes=mycat_fz_01,mycat_fz_02                                                                                 #mycat叢集節點成員,逗號分隔

#clusterSize=3

#clusterNodes=mycat_fz_01,mycat_fz_02,mycat_fz_04

#server booster  ;   booster install on db same server,will resetall minCon to 2

type=server

boosterDataHosts=dataHost1

圖示:

 

3 初始化zookeeper配置

#拷貝mycat初始配置,將配置好的conf目錄的檔案複製到同級目錄zkconf下

cp /usr/local/mycat/conf/dnindex.properties/usr/local/mycat/conf/zkconf/

cp /usr/local/mycat/conf/server.xml/usr/local/mycat/conf/zkconf/

cp /usr/local/mycat/conf/schema.xml/usr/local/mycat/conf/zkconf/

cp /usr/local/mycat/conf/rule.xml/usr/local/mycat/conf/zkconf/

#主要是以上檔案,也可以將其他公用的配置檔案拷貝zkconf

#拷貝所有檔案

cp /usr/local/mycat/conf/*.xml/usr/local/mycat/conf/zkconf/

cp /usr/local/mycat/conf/*.properties/usr/local/mycat/conf/zkconf/

cp /usr/local/mycat/conf/*.txt/usr/local/mycat/conf/zkconf/

cp /usr/local/mycat/conf/*.conf/usr/local/mycat/conf/zkconf/

圖示:

 

#初始化zookeeper

/usr/local/mycat/bin/init_zk_data.sh

圖示:

注:初始化zookeeper時,配置的zookeeper叢集節點必須全部線上

#新加入的mycat不需要做初始化的動作了,直接修改myid.properties連線上zk就可以獲取配置,

#mycat叢集內的myid.properties需要保持一致

myid=mycat_fz_02                                                                                                                           #mycat節點名字,另一臺是mycat_fz_01

clusterSize=2                                                                                                                                      #mycat叢集規模

clusterNodes=mycat_fz_01,mycat_fz_02

圖示:

 

4 修改zookeeper配置,更新mycat配置

#方法,使用工具ZooInspector或者自己開發程式

執行 E:\apps\ZooInspector\build\zookeeper-dev-ZooInspector.jar

圖示:

 

開啟以後,點選最左側按鈕,填寫連線資訊

Connect String 192.168.109.132:2181    #連線zookeeper叢集內任意節點即可

Session Timeout 5000                                           #預設

Data Encryption Managerorg.apache.zookeeper.inspector.encryption.BasicDataEncryptionManager

圖示

然後可以在左側目錄下看到所有使用zookeeper的配置項

圖示:

 

注:在右側可直接修改配置內容,修改後1分鐘內所有mycat節點即可獲取更新