文章目录
上一节,我们一起学习了dubbo 的基本框架和运行流程。今天我们来学习注册中心 的搭建和监控中心的搭建。
在dubbo中,注册中心的搭建,有很多种,,在官网上我们可以看到有如下方法几种注册中心:
但是官网推荐使用zookeeper,为此我们主要使用zookeeper搭建。
Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并推荐使用 。
流程说明:
- 服务提供者启动时: 向 /dubbo/com.foo.BarService/providers 目录下写入自己的 URL 地址
- 服务消费者启动时: 订阅 /dubbo/com.foo.BarService/providers 目录下的提供者 URL 地址。并向
- /dubbo/com.foo.BarService/consumers 目录下写入自己的 URL 地址 监控中心启动时: 订阅
- /dubbo/com.foo.BarService 目录下的所有提供者和消费者 URL 地址。
我们接下来以安装Linux版本为主要介绍:
1、Linux下安装zookeeper
1、安装zookeeper
1、安装jdk
1、下载jdk
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
不要使用wget命令获取jdk链接,这是默认不同意,导致下载来的jdk压缩内容错误
2、上传到服务器并解压
3、设置环境变量
文件末尾加入下面配置
export JAVA_HOME=/usr/local/java/jdk1.8.0_171
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
4、使环境变量生效&测试JDK
2、下载zookeeper网址:
我们在此下载稳定版,3.4版本的。
我们将下载的压缩版放到Linux的某一个路径下面:
/usr/local/
解压文件:
tar -xzvf apache-tomcat-9.0.19.tar.gz
移动到指定位置并改名为zookeeper
mv zookeeper-3.4.9 /usr/local/zookeeper
3、开机启动zookeeper
1)切换到/etc/rc.d/init.d/目录:
cd /etc/rc.d/init.d/
在文件夹下新建zookeeper文件,并输入以下内容
vi zookeeper
在文件中输入
#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
ZK_PATH=/usr/local/zookeeper
export JAVA_HOME=/usr/local/java/jdk1.8.0_171
case $1 in
start) sh $ZK_PATH/bin/zkServer.sh start;;
stop) sh $ZK_PATH/bin/zkServer.sh stop;;
status) sh $ZK_PATH/bin/zkServer.sh status;;
restart) sh $ZK_PATH/bin/zkServer.sh restart;;
*) echo "require start|stop|status|restart" ;;
esac
2)-增加权限
3)-在/etc/rc.d/init.d/路径下把脚本注册为Service
在以后,可以全局操作zookeeper服务了
service zookeeper start|stop|restart|status
报错:service zookeeper does not support chkconfig
参考https://maosheng.iteye.com/blog/2224962
4、配置zookeeper
1、初始化zookeeper配置文件
拷贝/usr/local/zookeeper/conf/zoo_sample.cfg
到同一个目录下改个名字叫zoo.cfg
2、启动zookeeper
到此,zookeeper配置成功了!
2、监控器——Linux下安装dubbo-admin管理控制台
1、安装Tomcat8
(旧版dubbo-admin是war,新版是jar不需要安装Tomcat)
1、下载Tomcat8并解压
https://tomcat.apache.org/download-80.cgi
wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz
2、解压移动到指定位置
3、开机启动tomcat8
复制如下脚本
#!/bin/bash
#chkconfig:2345 21 90
#description:apache-tomcat-8
#processname:apache-tomcat-8
CATALANA_HOME=/opt/apache-tomcat-8.5.32
export JAVA_HOME=/opt/java/jdk1.8.0_171
case $1 in
start)
echo "Starting Tomcat..."
$CATALANA_HOME/bin/startup.sh
;;
stop)
echo "Stopping Tomcat..."
$CATALANA_HOME/bin/shutdown.sh
;;
restart)
echo "Stopping Tomcat..."
$CATALANA_HOME/bin/shutdown.sh
sleep 2
echo
echo "Starting Tomcat..."
$CATALANA_HOME/bin/startup.sh
;;
*)
echo "Usage: tomcat {start|stop|restart}"
;; esac
4、添加权限并注册服务
5、启动服务&访问tomcat测试
1、报错:可能访问ip:8080 失败。这是因为防火墙端口没有开。
解决方案开放端口并其重启加载防火墙:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
2、报错:Unable to round-trip http request to upstream: dial tcp xx.xx.xx.xx:xxxx: i/o timeou
关闭蓝灯之类的软件
1、安装dubbo-admin
dubbo本身并不是一个服务软件。它其实就是一个jar包能够帮你的java程序连接到zookeeper,并利用zookeeper消费、提供服务。所以你不用在Linux上启动什么dubbo服务。
但是为了让用户更好的管理监控众多的dubbo服务,官方提供了一个可视化的监控程序,不过这个监控即使不装也不影响使用。
1、下载dubbo-admin
https://github.com/apache/incubator-dubbo-ops
点击clone or download下载
2、解压,进入目录,修改dubbo-admin配置
修改 \dubbo-admin-server\src\main\resources\application.properties
指定zookeeper地址
3、打包dubbo-admin
进入cmd,将目录切换到如下路径:
输入命令:
mvn clean package
或者
mvn clean package -Dmaven.test.skip=true
等待构建成功:
在target目录中生成:
4、运行dubbo-admin
java -jar dubbo-admin-0.0.1-SNAPSHOT.jar
默认使用root/root 登陆
如果生成的war包,则将war包放入到tomcat路径下的webapp下,重启tomcat。即可访问