版本:2.7.3
安装完Dubbo admin 运行后,查询服务提示
无元数据信息,请升级至Dubbo2.7及以上版本,或者查看application.properties中关于config center的配置,详见 这里
这里描述着处理方法:https://github.com/apache/dubbo-admin/wiki/Dubbo-Admin%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E
处理方式:
在目录:\dubbo-admin-develop\dubbo-admin-server\src\main\resources 下将 application.properties 修改为:
# centers in dubbo2.7
server.port=8081
admin.config-center=zookeeper://192.168.2.234:2181
#admin.registry.address=zookeeper://192.168.2.234:2181
#admin.metadata-report.address=zookeeper://192.168.2.234:2181admin.root.user.name=root
admin.root.user.password=root
#group
#admin.registry.group=dubbo
admin.config-center.group=dubbo
#admin.metadata-report.group=dubbo
注意:这里取消了这两个配置,必须在zookeeper创建文件,否则jar包运行失败
admin.registry.address=zookeeper://192.168.2.234:2181
admin.metadata-report.address=zookeeper://192.168.2.234:2181
将admin重新打包:mvn clean package -Dmaven.test.skip=true
按照上述所有在zookeeper 创建文件 /dubbo/config/dubbo/dubbo.properties ,内容为
dubbo.registry.address=zookeeper://192.168.2.234:2181
dubbo.metadata-report.address=zookeeper://192.168.2.234:2181
运行以下代码 在zookeeper上创建文件
public static void main(String[] args) throws Exception {init();}public static void init() throws Exception {CuratorFramework zkClient = CuratorFrameworkFactory.builder().connectString("192.168.2.234:2181").retryPolicy(new ExponentialBackoffRetry(1000, 3)).build();zkClient.start();if (zkClient.checkExists().forPath("/dubbo/config/dubbo/dubbo.properties") == null) {zkClient.create().creatingParentsIfNeeded().forPath("/dubbo/config/dubbo/dubbo.properties");}zkClient.setData().forPath("/dubbo/config/dubbo/dubbo.properties", ("dubbo.registry.address=zookeeper://192.168.2.234:2181\n" +"dubbo.metadata-report.address=zookeeper://192.168.2.234:2181").getBytes());}
添加完成后,重新启动admin服务
我们再zookeeper目录下可以看到,/dubbo/config/dubbo/dubbo.properties 文件,就是我们手动创建的
metadata都是服务自动注册的,存储的元信息如:如接口方法名等
(这里metadata文件是在服务端首次启动时后创建,创建前提是dubbo.properties文件必须存在,否则无法创建,metadata文件存在后,web控制管理台就可以获取到方法等元信息;另外admin服务三个配置也可以不屏蔽,只要手动创建dubbo即可,dubbo版本为:2.7.3)
2.7.5版本暂时不支持,具体原因后续分析
我们打开web页面,查看详情
我们可以看到我们服务中的一些方法(这里我们使用的dubbo是封装的kafka服务)
我们可以通过web控制台测试一下接口
测试方法,listTopics ,点击执行会返回结果
参考:https://github.com/apache/dubbo-admin/issues/342