TiDB Dashboard 界面内置于 TiDB 4.0 或更高版本的 PD 组件中,无需额外部署。只需部署标准 TiDB 集群,TiDB Dashboard 就会原生集成。
请参阅下列文档了解如何部署标准 TiDB 集群:
注意
TiDB Dashboard 目前不能在低于 4.0 版本的集群中部署或使用。
当集群中部署了多个 PD 实例时,其中仅有一个 PD 实例会固定地提供 TiDB Dashboard 服务。
各个 PD 首次运行时会自动协商出其中某一个实例提供 TiDB Dashboard 服务。协商完毕后,无论重启或扩容,都会固定在这个实例上运行 TiDB Dashboard 服务,除非该实例被手动缩容。其他 PD 实例不会运行 TiDB Dashboard 服务。这个协商过程无需用户介入,会自动完成。
当用户访问不提供 TiDB Dashboard 服务的 PD 实例时,浏览器将会收到重定向指令,自动引导用户重新访问提供了 TiDB Dashboard 服务的 PD 实例,从而能正常使用。流程如下图所示。
注意
提供 TiDB Dashboard 服务的 PD 实例不一定与 PD leader 一致。
使用 TiUP 部署时,对于已启动的集群,可通过 tiup cluster display
命令查看哪个 PD 节点提供了 TiDB Dashboard 服务(将 CLUSTER_NAME
替换为集群名称):
tiup cluster display CLUSTER_NAME --dashboard
输出样例如下:
http://192.168.0.123:2379/dashboard/
注意
该功能在 TiUP Cluster v1.0.3 或更高版本部署工具中提供。
升级 TiUP Cluster 步骤
使用 TiUP 部署时,对于已启动的集群,可使用 tiup ctl pd
命令切换其他 PD 实例运行 TiDB Dashboard,或在禁用 TiDB Dashboard 的情况下重新指定一个 PD 实例运行 TiDB Dashboard:
tiup ctl pd -u http://127.0.0.1:2379 config set dashboard-address http://9.9.9.9:2379
其中:
127.0.0.1:2379
替换为任意 PD 实例的 IP 和端口9.9.9.9:2379
替换为想运行 TiDB Dashboard 服务的新 PD 实例的 IP 和端口修改完毕后,可使用 tiup cluster display
命令确认修改是否生效(将 CLUSTER_NAME
替换为集群名称):
tiup cluster display CLUSTER_NAME --dashboard
警告
切换 TiDB Dashboard 将会丢失之前 TiDB Dashboard 实例所存储的本地数据,包括流量可视化历史、历史搜索记录等。
使用 TiUP 部署时,对于已启动的集群,可使用 tiup ctl pd
命令在所有 PD 实例上禁用 TiDB Dashboard(将 127.0.0.1:2379
替换为任意 PD 实例的 IP 和端口):
tiup ctl pd -u http://127.0.0.1:2379 config set dashboard-address none
禁用 TiDB Dashboard 后,查询哪个 PD 实例提供 TiDB Dashboard 服务将会失败:
Error: TiDB Dashboard is disabled
浏览器访问任意 PD 实例的 TiDB Dashboard 地址也将提示失败:
Dashboard is not started.
使用 TiUP 部署时,对于已启动的集群,可使用 tiup ctl pd
命令,要求 PD 重新协商出某一个实例运行 TiDB Dashboard(将 127.0.0.1:2379
替换为任意 PD 实例的 IP 和端口):
tiup ctl pd -u http://127.0.0.1:2379 config set dashboard-address auto
修改完毕后,使用 tiup cluster display
命令查看 PD 自动协商出的 TiDB Dashboard 实例地址(将 CLUSTER_NAME
替换为集群名称):
tiup cluster display CLUSTER_NAME --dashboard
还可以通过手动指定哪个 PD 实例运行 TiDB Dashboard 服务的方式重新启用 TiDB Dashboard,具体操作参见上文切换其他 PD 实例提供 TiDB Dashboard 服务。
警告
若新启用的 TiDB Dashboard 实例与禁用前的实例不一致,将会丢失之前 TiDB Dashboard 实例所存储的本地数据,包括流量可视化历史、历史搜索记录等。