zookeeper集群搭建算是比较容易了(https://blog.youkuaiyun.com/weixin_39073469/article/details/82821442),昨天搭dubbo-admin的时候倒是费了不少力,各种各样的错误接踵而至,有些意外也有些是自己粗心造成的。不过这样也好,以后会更加仔细,而且可以熟悉更多Linux命令。
1. 先上传并解压一个tomcat-7.0.29.特别要注意tomcat中一定要在bin下有几个关键jar包的,不然会报错,具体错误忘记了
我将tomcat解压在/usr/local/使用-C可以指定目录。然后将解压的tomcat更名mv tomcat-7.0.29 dubbo-tomcat.删除webapps下面的所有内容。
2.将dubbo-admin.war上传到tomcat的webapps下,可以直接mkdir dubbo-admin然后解压,也可以启动tomcat让tomcat解压。如果没有关键jar包可能启动就会报错,我这里报没有权限:
/usr/local/dubbo-tomcat/bin/startup.sh
-bash: ./startup.sh: Permission denied
修改一下权限:chmod u+x *.sh
再执行又报:
touch: cannot touch `/usr/local/dubbo-tomcat/logs/catalina.out': No such file or directory
/usr/local/dubbo-tomcat/bin/catalina.sh: line 389: /usr/local/dubbo-tomcat/logs/catalina.out: No such file or directory,意思是没有logs文件夹(不晓得自己建啊。。)手动mkdir,再运行就成功了(没那么简单)。
tail -f -n 500 /usr/local/dubbo-tomcat/logs/catalina.out 查tomcat日志发现有大片报错:
[DUBBO] Failed to retriving ip address, VM1: VM1: Name or service not known, dubbo version: 2.8.4, current host: 127.0.0.1
java.net.UnknownHostException: VM1: VM1: Name or service not known
意思是不知道我这个VM1是啥。经查是/etc/hosts中的主机名称和/etc/sysconfig/network中的不匹配。修改一下
Hosts文件如下:
也有可能报address is in use,就是端口被占用了,netstat -tunlp查看端口列表,netstat -tunlp | grep 8088.会出现占用的进程,可以选择kill -9 pid,也可以选择修改tomcat中的端口。
3.再启动tomcat成功将dubbo-admin.war解压,删掉dubbo-admin.war,修改dubbo中的配置文件dubbo.properties如下:
实际上address就是zookeeper集群的地址,最前面是你正在操作的机器的ip。这个地址务必仔细写对,然后肯定不会成功的。保存退出启动tomcat发现报错:
failed to process jar found at url [/usr/local/dubbo-tomcat/webapps/dubbo-admin/WEB-INF/lib/groovy-all-1.6.3.jar],反正就是这个jar包大概有问题,发现jar包存在,使用jar -vtf groovy-all-1.6.3.jar报错,打不开。所以是损坏了,重新下一个替换上去。再启动终于成功了。
接下来就在物理机上输入http://192.168.1.128:8088/dubbo-admin进入页面代表成功了。
但是在eclipse上面启动测试时报:
Multiple annotations found at this line: - cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'dubbo:application'. - schema_reference.4: Failed to read schema document 'http://code.alibabatech.com/schema/dubbo/dubbo.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not . 反正意思就是dubbo.xsd这个有问题,据网上的步骤去网上copy一份过来不起作用,最后要将项目的dubbo-admin.war解压取出其中的dubbo.xsd。然后:a、在windows->preferrence->xml->xmlcatalogadd->catalog entry ->file system 选择刚刚下载的文件路径; b、修改key值和配置文件的http://code.alibabatech.com/schema/dubbo/dubbo.xsd 相同保存。 c、在xml文件右键validate就可以k解决了。
再次启动main方法,发现项目全是红色感叹号。。。。。。。问题真的多。。。。报找不到主方法。可以参考这个就没问题了:https://blog.youkuaiyun.com/qiesheng/article/details/78350562
真不容易!