简介
ShardingSphere-UI 是 ShardingSphere 的一个简单而有用的web管理控制台。它用于帮助用户更简单的使用 ShardingSphere 的相关功能,目前提供注册中心管理、动态配置管理、数据库编排等功能。
项目结构上采取了前后端分离的方式,前端使用 Vue 框架,后端采用 Spring Boot 框架。使用标准的 Maven 方式进行打包,部署,同时也可以采用前后端分离的方式本地运行,方便开发调试。
准备
使用ShardingSphere-UI 需要把ShardingSphere proxy注册到zookeeper上面,上一篇文章: juejin.cn/post/700002… 我们已经叙述了如何搭建ShardingSphere proxy的服务,这里我们需要新搭建一个zookeeper注册中心来注册我们的proxy。
proxy配置
在上篇的配置中添加有关zookeeper的配置
governance:
name: governance_ds
registryCenter:
type: ZooKeeper
serverLists: localhost:2181
props:
retryIntervalMilliseconds: 500
timeToLiveSeconds: 60
maxRetries: 3
operationTimeoutMilliseconds: 500
overwrite: false
下载zookeeper:www.apache.org/dyn/closer.… 解压zookeeper以后在文件夹中添加两个文件夹存储数据
修改config文件夹中的zoo_sample.cfg 为zoo.cfg
然后在zoo.cfg中修改两个地址为刚刚创建的文件夹的地址
dataDir=/Users/xxxx/zookeeper/data
dataLogDir=/Users/xxx/zookeeper/log
修改好了以后把外部的文件夹改为zookeeper 然后使用
启动: sh zkServer.sh start
查看状态:sh zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /Users/../conf/zoo.cfg
mkdir: illegal option -- e
usage: mkdir [-pv] [-m mode] directory ...
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: standalone
看到上面的结果证明zookeeper启动成功 然后根据上篇启动ShardingSphere proxy
下载
直接在官网下载tar包解压使用 www.apache.org/dyn/closer.…
配置文件
在解压完的文件中可以修改配置,位置在conf中的application.properites
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
server.port=8088
user.admin.username=admin
user.admin.password=admin
启动程序
打开bin文件夹下的stsrt.sh 运行程序
启动结果
打开logs文件夹下的stdout.log可以看到成功启动的日志,其他的运行日志也在这个文件夹内
[INFO ] 16:59:52.084 [main] o.s.b.a.w.WebMvcAutoConfiguration$WelcomePageHandlerMapping - Adding welcome page: class path resource [public/index.html]
[INFO ] 16:59:52.204 [main] o.s.j.e.a.AnnotationMBeanExporter - Registering beans for JMX exposure on startup
[INFO ] 16:59:52.214 [main] o.a.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8088"]
[INFO ] 16:59:52.240 [main] o.a.tomcat.util.net.NioSelectorPool - Using a shared selector for servlet write/read
[INFO ] 16:59:52.251 [main] o.s.b.c.e.t.TomcatEmbeddedServletContainer - Tomcat started on port(s): 8088 (http)
[INFO ] 16:59:52.256 [main] o.apache.shardingsphere.ui.Bootstrap - Started Bootstrap in 2.826 seconds (JVM running for 3.363)
登陆刚刚在配置文件中配置的端口:
可以看到ShardingSphere -uI的网页已经启动成功 然后在页面上添加自己刚刚配置的名字和z地址
配置成功以后点链接。
然后在rule config页面就可以看到我们之前配置的各种proxy中的表,也可以在这个页面修改我们配置完毕的规则:
问题
这次使用的ShardingSphere proxy 的版本是最新的5.0.0-alpha 最开始zookeeper使用的版本是3.4.1,一直报无法连接的异常,在官网下载了最新的,3.7.0版的zookeeper后,连接成功并且显示了正确的分库分表策略。