Dubbo高可用 zookeeper HA


生產
zookeeper HA +數據備份(6臺服務器)
AtiveMQ(集羣) (3臺服務器)
Redis (集羣)(3臺服務器)
Keepalived +nginx (3臺服務器)
FastDFS(3臺服務器)
MySQL(主備備3臺服務器)
MyCat(集羣)(3臺服務器)
dubbo( 集羣)(3臺服務器)
總共27臺服務器

虛擬機模擬
3臺所有服務的master + 1臺所有服務的slave節點+2 keepalive=6

物理機8核/32G -> 5核/25G 1核/3G =6核/28G  給物理機應用程序2核4G跑eclipse


Zookeeper集羣(3臺)
服務器 1:192.168.229.204  端口:2181、2881、3881
服務器 2:192.168.229.205  端口:2182、2882、3882
服務器 3:192.168.229.206  端口:2183、2883、3883

ActiveMQ集羣部署(3臺)
主機 集羣端口 消息端口 管控臺端口 節點安裝目錄
192.168.229.204 62621 51511 8161 /home/wusc/activemq/node-01
192.168.229.205 62622 51512 8162 /home/wusc/activemq/node-02
192.168.229.206 62623 51513 8163 /home/wusc/activemq/node-03

Redis集羣(6臺)
主機名         IP             服務端口      集羣端口    主/從
edu-redis-01   192.168.1.111  7111          17111       Master
edu-redis-02   192.168.1.112  7112          17112       Master
edu-redis-03   192.168.1.113  7113          17113       Master
edu-redis-04   192.168.1.114  7114          17114       Slave
edu-redis-05   192.168.1.115  7115          17115       Slave
edu-redis-06   192.168.1.116  7116          17116       Slave

Keepalived+Nginx高可用web負載均衡(2臺)
VIP          IP           主機名       Nginx端口 默認主從
192.168.1.50 192.168.1.51 edu-proxy-01 88        MASTER
             192.168.1.52 edu-proxy-02 88        BACKUP
FastDFS集羣(6臺)
跟蹤服務器 1:192.168.1.131   edu-dfs-tracker-1
跟蹤服務器 2:192.168.1.132   edu-dfs-tracker-2
存儲服務器 1:192.168.1.135   edu-dfs-storage-group1-1
存儲服務器 2:192.168.1.136   edu-dfs-storage-group1-2
存儲服務器 3:192.168.1.137   edu-dfs-storage-group2-1
存儲服務器 4:192.168.1.138   edu-dfs-storage-group2-2

MySQL主從(2臺)
主節點 IP:192.168.1.205 主機名:edu-mysql-01
從節點 IP:192.168.1.206 主機名:edu-mysql-02

HAProxy+MyCat(5臺)
名稱          IP            主機名         配置
HAProxy主機 1 192.168.1.191 edu-haproxy-01 2核2G
MyCat  主機 1 192.168.1.203 edu-mycat-01   4核4G
MyCat  主機 2 192.168.1.204 edu-mycat-02   4核4G
MySQL  主節點 192.168.1.205 edu-mysql-01   4核4G
MySQL  從節點 192.168.1.206 edu-mysql-02   4核4G

SVN CI/CD服務器 (1臺)


所有節點濃縮爲6臺服務器
192.168.229.204 master1
192.168.229.205 master2
192.168.229.206 master3
192.168.229.207 slave1
192.168.229.208 slave2
192.168.229.209 slave3

服務器 1:192.168.229.204  端口:2181、2881、3881
服務器 2:192.168.229.205  端口:2182、2882、3882
服務器 3:192.168.229.206  端口:2183、2883、3883

[root@kolla ~]# cat /etc/selinux/config
SELINUX=disabled

關閉防火牆
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
firewall-cmd --state


1、 修改操作系統的/etc/hosts 文件,添加 IP 與主機名映射: # zookeeper cluster servers
192.168.229.204   master1
192.168.229.205   master2
192.168.229.206   master3

2、 下載或上傳 zookeeper-3.4.6.tar.gz 到/home/wusc/zookeeper 目錄: $ cd /home/wusc/zookeeper
$ wget http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

3、 解壓 zookeeper 安裝包,並按節點號對 zookeeper 目錄重命名: $ tar -zxvf zookeeper-3.4.6.tar.gz
服務器 1:
$ mv zookeeper-3.4.6 node-01
服務器 2:
$ mv zookeeper-3.4.6 node-02
服務器 3:
$ mv zookeeper-3.4.6 node-03

4、 在各 zookeeper 節點目錄下創建以下目錄: $ cd /home/wusc/zookeeper/node-0X  (X 代表節點號 1、2、3,以下同解)
$ mkdir data
$ mkdir logs

5、 將 zookeeper/node-0X/conf 目錄下的 zoo_sample.cfg 文件拷貝一份,命名爲 zoo.cfg: $ cp zoo_sample.cfg zoo.cfg

6、 修改 zoo.cfg 配置文件: zookeeper/node-01 的配置(/home/wusc/zookeeper/node-01/conf/zoo.cfg)如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/wusc/zookeeper/node-01/data
dataLogDir=/home/wusc/zookeeper/node-01/logs
clientPort=2181
server.1=master1:2881:3881
server.2=master2:2882:3882
server.3=master3:2883:3883
zookeeper/node-02 的配置(/home/wusc/zookeeper/node-02/conf/zoo.cfg)如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/wusc/zookeeper/node-02/data
dataLogDir=/home/wusc/zookeeper/node-02/logs
clientPort=2182
server.1=master1:2881:3881
server.2=master2:2882:3882
server.3=master3:2883:3883

zookeeper/node-03 的配置(/home/wusc/zookeeper/node-03/conf/zoo.cfg)如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/wusc/zookeeper/node-03/data
dataLogDir=/home/wusc/zookeeper/node-03/logs
clientPort=2183
server.1=master1:2881:3881
server.2=master2:2882:3882
server.3=master3:2883:3883

server.A=B:C:D
server.1=master1:2881:3881
server.2=master2:2882:3882
server.3=master3:2883:3883
7、 在 dataDir=/home/wusc/zookeeper/node-0X/data 下創建 myid 文件 編輯 myid 文件,並在對應的 IP 的機器上輸入對應的編號。如在 node-01 上,myid 文件內容就是
1,node-02 上就是 2,node-03 上就是 3:
$ vi /home/wusc/zookeeper/node-01/data/myid  ## 值爲 1
$ vi /home/wusc/zookeeper/node-02/data/myid  ## 值爲 2
$ vi /home/wusc/zookeeper/node-03/data/myid  ## 值爲 3

8、 在防火牆中打開要用到的端口 218X、288X、388X 切換到 root 用戶權限,執行以下命令:
# chkconfig iptables on
# service iptables start
編輯/etc/sysconfig/iptables
# vi /etc/sysconfig/iptables
如服務器 01 增加以下 3 行:
## zookeeper
-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 2881 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3881 -j ACCEPT

重啓防火牆:
# service iptables restart
查看防火牆端口狀態:
# service iptables status

9、 啓動並測試 zookeeper(要用 wusc 用戶啓動,不要用 root): (1) 使用 wusc 用戶到/home/wusc/zookeeper/node-0X/bin 目錄中執行: $ /home/wusc/zookeeper/node-01/bin/zkServer.sh start
$ /home/wusc/zookeeper/node-02/bin/zkServer.sh start
$ /home/wusc/zookeeper/node-03/bin/zkServer.sh start

(2) 輸入 jps 命令查看進程:
$ jps
1456 QuorumPeerMain
其中,QuorumPeerMain 是 zookeeper 進程,說明啓動正常 (3) 查看狀態: $ /home/wusc/zookeeper/node-01/bin/zkServer.sh status (4) 查看 zookeeper 服務輸出信息: 由於服務信息輸出文件在/home/wusc/zookeeper/node-0X/bin/zookeeper.out
$ tail -500f zookeeper.out

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

11、配置 zookeeper 開機使用 wusc 用戶啓動:
編輯 node-01、node-02、node-03 中的/etc/rc.local 文件,分別加入:
su - wusc -c '/home/wusc/zookeeper/node-01/bin/zkServer.sh start'
su - wusc -c '/home/wusc/zookeeper/node-02/bin/zkServer.sh start'
su - wusc -c '/home/wusc/zookeeper/node-03/bin/zkServer.sh start'



二、安裝 Dubbo 管控臺(基礎篇有講,此處重點講管控臺如何鏈接集羣) :
Dubbo 管控臺可以對註冊到 zookeeper 註冊中心的服務或服務消費者進行管理,但管控臺是否正常對
Dubbo 服務沒有影響,管控臺也不需要高可用,因此可以單節點部署。

IP: 192.168.229.204
部署容器:Tomcat7
端口:8080 1、 下載(或上傳)最新版的 Tomcat7(apache-tomcat-7.0.57.tar.gz)到/home/wusc/

2、 解壓: $ tar -zxvf apache-tomcat-7.0.57.tar.gz
$ mv apache-tomcat-7.0.57 dubbo-admin-tomcat

3、 移除/home/wusc/dubbo-admin-tomcat/webapps 目錄下的所有文件: $ rm -rf *

4、 上傳 Dubbo 管理控制檯程序 dubbo-admin-2.5.3.war 到/home/wusc/dubbo-admin-tomcat/webapps

5、 解壓並把目錄命名爲 ROOT: $ unzip dubbo-admin-2.5.3.war -d ROOT
把 dubbo-admin-2.5.3.war 移到/home/wusc/tools 目錄備份
$ mv dubbo-admin-2.5.3.war /home/wusc/tools

6、 配置 dubbo.properties:
$ vi ROOT/WEB-INF/dubbo.properties
dubbo.registry.address= zookeeper://192.168.229.204:2181?backup=192.168.229.205:2182,192.168.229.206:2183
dubbo.admin.root.password=wusc.123
dubbo.admin.guest.password=wusc.123
(以上密碼在正式上生產前要修改)

7、 防火牆開啓 8080 端口,用 root 用戶修改/etc/sysconfig/iptables, # vi /etc/sysconfig/iptables
增加:
## dubbo-admin-tomcat:8080
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
重啓防火牆:
# service iptables restart
   8、 啓動 Tomat7 $ /home/wusc/dubbo-admin-tomcat/bin/startup.sh

9、 瀏覽 http://192.168.229.204:8080/
10、配置部署了 Dubbo 管控臺的 Tomcat 開機啓動:
在虛擬主機中編輯/etc/rc.local 文件,加入:
su - wusc -c '/home/wusc/dubbo-admin-tomcat/bin/startup
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章