zookeeper+dubbo-admin
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zookeeper+dubbo-admin相关的知识,希望对你有一定的参考价值。
zookeeper 安装部署:
官网下载地址:
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台
演示环境说明:
ucloud 云主机,
系统是CentOS6.5 x86_64位
一、zookeeper介绍和安装:
下面的链接是介绍:
https://yq.aliyun.com/articles/638031?spm=a2c4e.11153940.0.0.2d9713d4u8uZMC
开始安装:
1.下载的zookeeper 版本是apache-zookeeper-3.5.5-bin.tar.gz
2.准备java环境:
由于apache-zookeeper是基于java环境的,所以要提前部署jdk
此次ucloud 云主机部署的jdk版本是jdk-8u172-linux-x64.tar.gz
tar xf jdk-8u172-linux-x64.tar.gz -C /usr/local/
ln -sv /usr/local/jdk1.8.0_172/bin/java /sbin/java
路径加入环境变量:
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这个是供客户端连接本实例的端口号,不同的实例也要区分。比如,可以分别指定为:32181、32182、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
二、安装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
就完成登录
以上是关于zookeeper+dubbo-admin的主要内容,如果未能解决你的问题,请参考以下文章
启动 dubbo-admin 必须要启动zookeeper吗
windows下zookeeper安装+dubbo-admin安装注意点