zookeeper+dubbo-admin

zookeeper 安裝部署:java

官網下載地址:linux

https://archive.apache.org/dist/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz

zookeeper支持兩種運行模式:獨立模式(standalone)和複製模式(replicated)
真正用於生產環境的Zookeeper確定都是使用複製模式的,這樣作能夠避免單點問題。想要使用複製模式,但因爲沒有富餘的機器可以使用,
因此能夠在單臺機器上經過配置來使用複製模式,從而模擬真實的集羣環境。
因爲Zookeeper集羣是經過多數選舉的方式產生leader的,所以,集羣須要奇數個Zookeeper實例組成,也就是說至少須要3臺
web

演示環境說明:redis

ucloud 雲主機,
系統是CentOS6.5 x86_64位apache

1、zookeeper介紹和安裝:瀏覽器

下面的連接是介紹:
https://yq.aliyun.com/articles/638031?spm=a2c4e.11153940.0.0.2d9713d4u8uZMCtomcat

開始安裝:
1.下載的zookeeper 版本是apache-zookeeper-3.5.5-bin.tar.gzapp

2.準備java環境:
因爲apache-zookeeper是基於java環境的,因此要提早部署jdk
這次ucloud 雲主機部署的jdk版本是jdk-8u172-linux-x64.tar.gzwebapp

tar xf jdk-8u172-linux-x64.tar.gz -C /usr/local/
ln -sv /usr/local/jdk1.8.0_172/bin/java /sbin/java

路徑加入環境變量:ide

tail -4 /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_172
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

3.下載zookeeper軟件包

https://archive.apache.org/dist/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz

提示: zookeeper包從3.5版本開始二進制的安裝開始發生變化,須要下載帶bin的二進制包,解壓後才能夠用,而再也不是下載apache-zookeeper-3.5.5.tar.gz 這樣的包

4.解壓apache-zookeeper-3.5.5-bin.tar.gz

tar xf /root/apache-zookeeper-3.5.5-bin.tar.gz -C /usr/local/
cd /usr/local/
mv apache-zookeeper-3.5.5-bin zookeeper01  
cp  -rp zookeeper01  zookeeper02
cp -rp zookeeper01    zookeeper03

將zookeeper-3.5.5這個目錄copy三份,表明着3個實例。

而後,分別建立zoo.conf配置文件,放在對應實例下的conf/目錄下,文件內容以下:

[root@10-13-125-123 ~]# egrep -v '^#|^$' /usr/local/zookeeper01/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zkdata/zookeeper01
clientPort=32181
server.1=127.0.0.1:2878:4880
server.2=127.0.0.1:2879:4881
server.3=127.0.0.1:2880:4892
[root@10-13-125-123 ~]# egrep -v '^#|^$' /usr/local/zookeeper02/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zkdata/zookeeper02
clientPort=32182
server.1=127.0.0.1:2878:4880
server.2=127.0.0.1:2879:4881
server.3=127.0.0.1:2880:4892
[root@10-13-125-123 ~]# egrep -v '^#|^$' /usr/local/zookeeper03/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zkdata/zookeeper03
clientPort=32183
server.1=127.0.0.1:2878:4880
server.2=127.0.0.1:2879:4881
server.3=127.0.0.1:2880:4892

下面說明一下須要注意的幾點:

dataDir這個是指定實例數據的存放路徑,不一樣的實例要區分開。而且,註釋中提醒不要設置爲/tmp目錄。好比能夠分別設爲:

[root@10-13-125-123 ~]# ll /data/zkdata/
total 12
drwxr-xr-x 3 root root 4096 Dec  3 18:12 zookeeper01
drwxr-xr-x 3 root root 4096 Dec  3 18:12 zookeeper02
drwxr-xr-x 3 root root 4096 Dec  3 18:12 zookeeper03

clientPort這個是供客戶端鏈接本實例的端口號,不一樣的實例也要區分。好比,能夠分別指定爲:3218一、3218二、32183。

server.{X}這個X能夠取數字,用來標識集羣中惟一的一個實例。配置了多少個server.{X}就表示集羣中有多少個實例。
後面值的格式爲:{host}:{port1}:{port2}其中,{host}爲實例所在的主機IP,這裏因爲都在一臺機器上,
因此都指定爲本機地址;{port1}是集羣中實例之間用於數據通訊的端口;{port2}是集羣中實例進行leader選舉時使用的通訊端口。
對於同一實例{port1}和{port2}是不可相同的。對於同一臺機器部署多個實例的狀況,不一樣實例的同一種端口也是須要區分的。

**配置myid文件
前面提到的server.{X}配置項中的{X}就是一個實例的myid,它須要被寫在對應實例的{dataDir}/myid文件中。

下面須要在每個實例指定的{dateDir}目錄下建立一個名爲myid的文件,文件的內容就是一個數字,對應server.{X}中的X。**

好比,這裏是這樣配置的:

在/data/zkdata/zookeeper01/myid文件中寫入1;
在/data/zkdata/zookeeper02/myid文件中寫入2;
在/data/zkdata/zookeeper03/myid文件中寫入3。
mkdir /data/zkdata/{zookeeper01,zookeeper02,zookeeper03}  -p
echo 1 >/data/zkdata/zookeeper01/myid
echo 2 >/data/zkdata/zookeeper02/myid
echo 3 >/data/zkdata/zookeeper03/myid

建立啓動和中止的腳本
對於多個實例,分別啓動和中止比較麻煩,能夠寫一個腳原本自動完成這個工做

start-zk-servers.sh的內容:
[root@10-13-125-123 zkdata]# cat /data/scripts/start-zk-servers.sh 
echo `/usr/local/zookeeper01/bin/zkServer.sh start`
echo `/usr/local/zookeeper02/bin/zkServer.sh start`
echo `/usr/local/zookeeper03/bin/zkServer.sh start`
[root@10-13-125-123 zkdata]# cat /data/scripts/stop-zk-servers.sh 
echo `/usr/local/zookeeper01/bin/zkServer.sh stop`
echo `/usr/local/zookeeper02/bin/zkServer.sh stop`
echo `/usr/local/zookeeper03/bin/zkServer.sh stop`

默認地,在用戶目錄(~/)下面會生成Zookeeper的日誌文件zookeeper.out。從日誌中能夠看出leader選舉的過程和結果。

zookeeper安裝參考文檔:
https://www.jianshu.com/p/a79ea43c49bc

2、安裝Tomcat8

apache-tomcat-8.5.31.tar.gz 
http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.49/bin/apache-tomcat-8.5.31.tar.gz
http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.49/bin/apache-tomcat-8.5.49.tar.gz

tar xf apache-tomcat-8.5.31.tar.gz -C /usr/local/
ln -sv /usr/local/apache-tomcat-8.5.31  /usr/local/tomcat8

[root@10-13-125-123 ~]# tail -8  /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_172
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export TOMCAT_HOME=/usr/local/tomcat8
export PATH=/usr/local/redis/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

source /etc/profile
cd /usr/local/tomcat8/webapps &&rm -fr *
上傳開發打的dubbo-admin包
dubbo-admin-2.5.10.war
mv  dubbo-admin-2.5.10  ROOT

配置dubbo-admin 連接zookeeper的地址 dubbo.properties

[root@10-13-125-123 ~]# cat /usr/local/tomcat8/webapps/ROOT/WEB-INF/dubbo.properties 
dubbo.registry.address=zookeeper://127.0.0.1:32181?backup=127.0.0.1:32182,127.0.0.1:32183
dubbo.admin.root.password=roort
dubbo.admin.guest.password=guestse

重啓Tomcat服務
瀏覽器打開
http://106.75.162.9:50876/
輸出 root /roort

就完成登陸

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息