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節點即可獲取更新