TiDB 生态工具 -- TiUniManager(原 TiEM)v1.0.0 体验
原文来源:https://tidb.net/blog/e326d4bd
作者简介:一个从业 10 年的小小 DBA,主攻 MySQL,会点 Python,会点前端,现在就职于 G7,作为业余开发自诩为伪全栈 DBA。
我的个人主页:https://tidb.net/u/G7%E5%B0%B9%E8%A3%95%E7%9A%93/answer 目前还没啥内容,希望随着自己在 TiDB 上的成长,后续的主页越来越丰富
前言
2022 年 4 月 22 日咱 P 社开启了 TiDB 6.0 的试用活动,随即我就报了名,毕竟 6.0 刚发布我就对两个管理平台产生了比较大的兴趣,包括:TiEM(即 TiUniManager), DM WebUI 。
DM WebUI 在 6.0 刚发布后就体验了一把,整体使用还是很方便的,只是功能还处于实验阶段,官方也不建议上到生产环境,所以浅尝一下也就告一段落了。
TiEM 看介绍是企业版独有的功能,咱公司使用的社区版就没办法了,这次体验活动也给到了 TiEM 的体验,自然需要参与一下,也幸运的得到了体验机会。
这里解释一下为什么有两个名字: – 2022.6.20
TiEM 已与近日开源,改名为 TiUniManager(https://github.com/pingcap/tiunimanager),所以后续社区版的 TiDB 集群可以用 TiUniManager 来管理
不过我的文章写的比较早,所以我的文章都是叫 TiEM,这个名字和 TiUniManager 等同,请读者同学们了解
介绍
因为我这也是初次接触,这里就直接引用官方文档的介绍了
TiDB Enterprise Manager (TiEM) 是一款以 TiDB 数据库为核心的企业级数据库管理平台,帮助用户在私有部署 (on-premises) 或公有云环境中管理 TiDB 集群。
TiDB Enterprise Manager 不仅提供对 TiDB 集群的全生命周期的可视化管理,也同时一站式提供 TiDB 数据库参数管理、数据库版本升级、克隆集群、主备集群切换、数据导入导出、数据同步、数据备份恢复服务,能有效提高 TiDB 集群运维效率,降低企业运维成本。
分布式数据库管理面临集群规模化、管理场景多元化挑战,传统的命令行管理方式面临部署成本 高、技术门槛高、维护成本高等诸多挑战,TiEM 能有效解决以下场景中的分布式数据库管理难题 :
主机资源管理
部署集群
统一入口管理多套集群
升级集群
参数管理
备份恢复
数据导入导出
安全与合规
自动化与第三方集成
管理任务历史记录可查可追溯
注意:TiEM v1.0.0 支持接管的 TiDB 集群版本为 5.x,6.0 将在 TiEM 的后续版本兼容



现在开始我的体验过程
安装
先将官方提供的 TiEM 安装包传到我的测试服务器
因为我这是自己的测试服务器,外网流量只有 1M,这个上传的过程就耗了我 20 个小时,真是漫长的等待呀
随后按照官方提供的《TiEM v1.0.0 安装手册.pdf》步骤进行安装,因为文档要求不得传播,这里就不做详细的按照流程了。


下面就贴一下我在安装过程中遇到的报错,虽然用处不是很大,但如果能帮到后面的人排错也是好的
安装完成后启动服务,发现遇到了第一个错误。本身的错误日志还不是很容易看出错误在哪,这是我辗转几个地方后在系统日志中看到的
这里的解决方案是:yum install openssl
修复上面呢的问题后,现在又遇到了第二个问题,这次在错误日志中找到了问题
这里排查到是信任关系的问题,因为现在 TiEM 服务只安装在一个节点,所以只需要把自己的公钥复制到自己的 authorized_keys 中,并且做一次 ssh 跳转以完成信任关系即可解决后随后再次启动,这次遇到了第三个问题,也是我的安装过程中遇到的最后一个问题
提示是内存至少需要 4G,而我的测试机剩余内存连 512M 都不够,这就没办法了。照官方文档的建议在测试环境中最低配置是 16G 内存,但我看到提示只需要 4G 即可,所以只新买了一台 8G 内存的服务器,此刻又花出去一笔巨款😂
使用
解决上面一系列问题后,我终于成功启动了 TiEM 服务,现在就开始正式体验这个功能
####
初始配置
启动后就可以登录 TiEM 管理平台了
默认账号:admin,默认密码:admin
![]()
![]()
第一次登录有一个欢迎界面,看第一个页面应该是初始的配置引导


第一步看起来是配置数据中心以及各节点配置的
特别注意:这里的区域配置需要保证和 TiDB 集群一致,不然后续会报错。如果现有 TiDB 集群没有配置 labels 信息,也需要加上才行








第二步是配置各个组件的信息,页面上也只有组件名称和端口可以调整,我这里就选默认的直接下一步了



第三步是选产品版本,看起来目前还不支持 6.0 的管理,所以我暂时将自己的 6.0 回退到了 5.4 版本,因为可以多选我这里就选 5.3 以上的 (TiEM v1.0.1 已经兼容了 TiDB 6.0)


经过了引导页面我终于进到了正式页面,一眼就是 TiDB 的风格,使用 Dashboard 比较多看起来这个界面还是挺亲切的

####
接管集群
我扫了一眼各个面板,可以发现第一步就是需要做上图右上角的两个按钮,选择其中一个生成第一个需要管理的集群,既然我已经有集群了(相信大多数人也是这样),我这里选择接管集群
来开始接入我的第一个需要管理的集群
刚进来我就遇到了第 1 个问题,集群名必须达到 4~64 个字符,而我的集群名只有 3 个字符。



这可怎么办呢,最快的方法就是改集群名,我这个是自己的测试机还是随便改的,下面我就开始了集群改名tiup cluster rename yyh tidb-yyh
,就在这时我想到如果是正在运行的生产库,并且恰好集群名小于 4 个字符,这种该怎么处理。我想这还需要官方给一个比较合适的方案才好。

现在所有选项配置好了,点击提交,看起来顺利开始接管了



谁知在这里就遇到了第 2 个问题,提示 host not found 172.24.74.67
,我开始怀疑是 TiEM 需要和 TiDB 集群中控机做互信,于是配置了互信,但还是这个结果。一筹莫展之际,于是我考虑到万能的 asktug 上去问问大佬

经过大佬的帮助,终于解决了问题,解决思路已经在帖子里了(https://asktug.com/t/topic/664972),我这里总结一下需要注意的点:
1. 一定要导入主机,可以通过主机模板修改好自己的主机信息 2. TiDB 集群要配置 labels 信息,并且要在 TiEM 的想到中把向导页面(如已跳过可以在点 系统管理 –> 开始向导)中 数据中心 的各个信息配置对 3. 在 TiEM 的中控机执行 install -Dm755 /home/tidb/.tiup/bin/tiup /usr/local/bin
注:这里最后的路径参考帖子的第 10 楼 4. rsa 文件的复制操作一定不要漏掉
这里追加我后面遇到的第 3 个问题,如果接入集群的主机配置都是正确的,但是基本配置里面数据库的 root 密码输错了,会造成主机导入成功,但是集群没有的情况,这种情况也需要把主机删掉重新部署。 – 2022.6.15
####
管理集群
最后我终于顺利的接管了现有集群,可喜可贺




停止和重启
我先来试下一眼可见的停止和重启功能,嗯。。。很实用一键搞定



这里我试了一下用 TiEM 关闭,执行命令启动;以及直接执行命令关闭。这两种情况下 TiEM 都是没法检测到 TiDB 集群的最新状态的,不知道是我等的时间不够(大约等了 10 分钟)还是这里没有定时的检测机制

我重新接管了一次集群,把 TiEM 页面显示搞正确,进入集群详情看一下。看这布局和功能,只能说不错的,啥操作都可以一键搞定

现在简单的体验一把这里面的功能
缩容
删除的节点在 TiEM 上显示是没有了,但是任务报错了,在中控机上看删除的节点也是 Down,无法再次启动。这个可能是我哪里没有配置对,也可能是 TiEM 的 BUG。这里就先不管他了


我通过命令行把 68 节点下掉,然后加入了 69 节点,不过加入后 TiEM 还是没有识别到新节点的加入。我在 TiEM 做了一下重启,重启后也没有识别到新节点的加入,我感觉是设计的有问题,没有做底层变更的识别

扩容
扩容里能选的就是资源分配方式,自动就是系统选择可用的主机加入然后给到合适节点配置;手动是自己选择怎么加新节点,于是我新搞了个没有部署 TiDB 的服务器,结果还是没有,这里应该有充分的理由确定是 TiEM 的问题了😂


克隆集群、数据同步
这个我现在没有多的机器来做了,就忽略了


手动备份
点了以后就可以在备份管理中看到备份进度了,另外也可以在备份管理中设置定时备份
最后我的任务失败了,看备份信息是备份到 TiEM 节点的共享存储,这个应该需要单独配置


性能分析、集群监控、告警管理
这 3 个功能的面板都是空的没有数据,经排查是需要设置 grafana 的参数,在 [security] 下追加配置allow_embedding = true
我的 grafana 是部署在 69 节点,所以进入到 69 节点的 grafana 配置文件目录进行修改,编辑 /{deploy-dir}/grafana-{port}/conf/grafana.ini
文件,按如下所示修改配置项:

不过如提示调整了参数最终也看不到,现在只能怀疑是服务器之间的网络问题,因为我的测试机网络带宽很小,可能不足以支持监控数据的传输
目前还不清楚解决办法,还是放几张界面截图吧,虽然没有内容



日志管理
可以看到各组件的日志,挺实用

升级
因为我之前装的是 5.4,现在 TiEM 最高只支持 5.4,所以我重装一个 5.3 再来操作
我的重装是命令行重装的,TiEM 上面也识别不到集群已经没有了,点删除报了个错然后集群状态变成了异常,只能先不管了。但是新接管的集群还是报错了,旧集群相关的主机也没法删除

无奈呀,我还是重装一下 TiEM 吧。当我打开 TiEM 中控机的时候,聪明的我想到重启一下不就好了吗,毕竟重启可以解决 99% 的问题。结果可想而知,我还是老实的重装了 TiEM

现在我点开了升级,结果仍然没有办法操作,我想这个功能应该还没有做好吧

删除集群
现在把我刚重建的集群删掉,这次直接操作还是很顺利的。值得注意的是删除集群不会把主机删掉,这样下次接管是不是就不用再导入主机信息了



但是我到中控机上查看,集群并没有真正的被删除,只是状态变成了 Down,命令行操作没有再次启动以及其他操作。这可能是防止误操作做的保护措施,保留一下原始信息?


创建集群
从按钮来看目前只能选择轻松创建的选项

资源分配中手动分配需要提前导入主机,我先尝试自动分配

填写好集群信息,因为我是混布的测试机,我把独占部署去掉了

点提交后提示库存不足,没有选独占部署也无法识别到需要的机器,这对混部确实不友好呀。

选手动部署是什么效果呢。。。。变成了啥都不能选

导入导出
先来看下导出吧,毕竟只有一个集群
看起来导出也只能导到共享存储上面

第一次报错了,报错信息是我没有装 dumpling,于是我把 dumpling 装上再试一次

结果还是一样的报错,我分别用了 tiup 安装和直接下载安装包,两种方法都没有效果。因为时间关系我就暂时不体验了,应该就是 dumpling 和 lightling 的功能做了包装,这个能可视化的操作还是很爽的
系统管理功能
最后我看了下系统管理中的 系统监控、系统日志、系统追踪。这三个功能也监控不到信息,最开始也是怀疑 grafana 参数的问题,但是我调整了 TiEM 集群的 grafana 参数也没有作用。最终也只能怀疑到是带宽不够,因为最近太忙时间不够的原因,所以暂时没法找解决办法,等后面空了再看。

最后做个总结:
目前来说 TiEM 部署起来还是比较简单的,但也有些小问题。
使用方面:界面还是很清爽,各个功能一眼可见,也基本包含了我们日常运维的所有功能。只是呢,很多功能都还有问题,用的不太顺心。
当然,毕竟这还只是第一版,也还没有正式推广,有瑕疵很正常。
最后的最后,其实我对 TiEM 还是挺期待的,这些功能全部都完善以后,如果能用在日常工作中,那绝对是解放双手的利器。
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/3bb81a593780cf1d16ca8e16a】。文章转载请联系作者。
评论