前段时间在用sharding-proxy进行分库分表,现在又有了ui界面管理的需求,因此选择使用sharding-ui。但由于这是apache刚起手的项目,不同版本间差距很大(这里特指4.1.0与4.1.1)、网上资料也很少,因此再经过大半天摸索后总结一下内容。 这里先感谢下以下这篇有道云笔记,帮助我解决了很多问题:sharding-proxy+sharding-ui使用配置.md
首先你直接搜会搜到老一个版本的官方文档,连下载地址都是错的(不是ui的github),正确的新版本文档如下:官方ui文档。但奈何官方文档太垃圾,没软用。 而我进行github源码下载编译也没有成功(后来发现是下错了版本,注意github的tag)。我这边提供一种更为简单的配置来进行下载。
1.通过wget直接下载4.1.1版本ui
wget https://mirror.bit.edu.cn/apache/shardingsphere/shardingsphere-ui-4.1.1/apache-shardingsphere-4.1.1-shardingsphere-ui-bin.tar.gz下载完成后进行解压,并且运行bin目录下start.sh即可。访问server.yaml下设置的端口即可进入(admin/admin登陆): 2.进行sharding-proxy的server.yaml文件配置 由于ui是读取zk节点来进行配置的,因此必须为sharding-proxy注册入zk才行。关于proxy使用不再赘述,有问题评论区见。参考的注册yaml配置如下所示: 3.ui进行界面连接配置 之后在ui界面就可以愉快地进行部署、注册中心的连接了: 说句题外话,如果你的界面没有命名空间一栏,或者连接显示成功,但无法获取节点数据,那可能是下错了版本!4.1.0和4.1.1天差地别。
首先关于zk节点问题,可以使用zkCli命令进行ls的节点查看,这有助于问题的分析: 另外一点就是阅读源码的收获(万不得已,只能看源码了)。我这边下了4.1.0和4.1.1的源码查看,后来发现是两者创建和读取zk节点的方式不同导致的问题,而至于节点连接,它没有进行好的错误信息提示!具体比较如下图所示: 4.1.0节点设置: 4.1.1节点设置: 服了,节点设置都不一样 当然会读取不到内容。而这也是zkCli的功劳。 总的来说,花了不少时间,但解决了问题,有时候利用可用的工具进行细致排查是很重要的能力。加油!