Dubbo管控台可以对注册到zookeeper注册中心的服务或服务消费者进行管理,但管控台是否正常对Dubbo服务没有影响,管控台也不需要高可用,因此可以单节点部署。
IP: 192.168.10.101
部署容器:apache-tomcat-7.0.57
端口:8080
1.下载最新版的Tomcat7:
$wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.57/bin/apache-tomcat-7.0.57.tar.gz
2.解压:
$ tar -zxvf apache-tomcat-7.0.57.tar.gz
$ mv apache-tomcat-7.0.57 dubbo-admin-tomcat
3.移除/home/li/dubbo-admin-tomcat/webapps目录下的所有文件:
$ rm -rf *
4.上传Dubbo管理控制台程序dubbo-admin-2.5.3.war
到/home/li/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.10.101:2181
dubbo.admin.root.password=li.123
dubbo.admin.guest.password=li.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.10.101:8080/
su - li -c '/home/li/dubbo-admin-tomcat/bin/startup.sh'
启动dubbo服务的的方法大概有三个
(1)servlet容器类似tomcat
(2)自建main方法,使用spring
(3)使用dubbo提供的main方法
优缺点分析:
使用servlet容器会使得端口管理复杂,内存造成不必要的浪费。使用自建main方法,没有使用上官方提供的main方法会造成不可估计的错误,使用dubbo本身提供的main方法,可以实现优雅关机。
优雅关机我的理解是在所有服务都协调好的情况下实现服务的停止。
下面是main方法的代码
在构建的过程中,特别需要注意的是maven pom.xml文件的配置 下面把这一部分代码也贴出来
当生成jar包把所有的依赖都往linux上部署完之后,就可以启动dubbo服务了,当然这个前提是java的linux环境要部署好。
dubbo服务的启动很简单,如果只是少量的服务接口的时候,手工就可以进行服务的维护
维护的命令如下:
java -jar xxx.jar &
kill PID
kill -9 PID
但是我们使用dubbo这个框架的时候,一般服务就是很多很多的,如果每个服务都手工去维护的话,这个工作就太繁琐了,所以我们需要自定义的shell进行对服务的维护。直接实现对脚本 start,stop 和restart
下面贴出一个shell实例,以供参考
#!/bin/sh
## java env
export JAVA_HOME=/usr/local/java/jdk1.7.0_72
export JRE_HOME=$JAVA_HOME/jre
## service name
APP_NAME=user
SERVICE_DIR=/home/li/test/service/$APP_NAME
SERVICE_NAME=test-service-$APP_NAME
JAR_NAME=$SERVICE_NAME\.jar
PID=$SERVICE_NAME\.pid
cd $SERVICE_DIR
case "$1" in
start)
nohup $JRE_HOME/bin/java -Xms256m -Xmx512m -jar $JAR_NAME >/dev/null 2>&1 &
echo $! > $SERVICE_DIR/$PID
echo "=== start $SERVICE_NAME"
;;
stop)
kill `cat $SERVICE_DIR/$PID`
rm -rf $SERVICE_DIR/$PID
echo "=== stop $SERVICE_NAME"
sleep 5
##
## test-service-aa.jar
## test-service-aa-bb.jar
P_ID=`ps -ef | grep -w "$SERVICE_NAME" | grep -v "grep" | awk '{print $2}'`
if [ "$P_ID" == "" ]; then
echo "=== $SERVICE_NAME process not exists or stop success"
else
echo "=== $SERVICE_NAME process pid is:$P_ID"
echo "=== begin kill $SERVICE_NAME process, pid is:$P_ID"
kill -9 $P_ID
fi
;;
restart)
$0 stop
sleep 2
$0 start
echo "=== restart $SERVICE_NAME"
;;
*)
## restart
$0 stop
sleep 2
$0 start
;;
esac
exit 0
dubbo建议使用的zookeeper作为服务的注册中心,zookeeper做集群的时候,只要有过半的机器是正常的,那么服务就能正常的对外提供服务,基于这种原则,就出现了所谓做集群的时候的单数原则即zookeeper的服务器出现2n+1的原则,所以集群最小推荐的服务器是3台,以此类推就3,5,7.但是在做集群的时候3台和5台的性能是差不多的,所以在3台还是5台服务器选择的时候,那么就直接选择3台吧,5台台浪费资源,性能又差别不大。
系统结构图
集群配置:
(1)修改服务器主机名:
192.168.1.1:zookeeper01
192.168.1.2:zookeeper02
192.168.1.3 :zookeeper03
(2)上传zookeeper-3.4.6.tar
以上就是关于“Dubbo部署和启动的详细步骤”介绍,大家如果想了解更多相关知识,不妨来关注一下本站的Dubbo教程,里面还有更丰富的知识等着大家去学习,希望对大家能够有所帮助哦。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习