为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【概述】 在k8s系统上部署 TiDB Docker 部署方案测试tidb性能
【应用框架及开发适配业务逻辑】
【背景】存储数据,数据处理
【现象】数据库执行DDL较慢
【问题】 试验后发现kv存储在了tidb挂载的硬盘,启用3个tikv节点中没有内容,存储数据发现数据只存在了tidb的挂载的硬盘里(路径是/tmp),这是集群没有启动成功吗?补充:tidb配置中唯一配过路径的是tmp-storage-path = ‘/tmp/tidb /data’
,但是kv存储的路径是/tmp/kv。
【TiDB 版本】 v5.0.1
1 个赞
Kongdom
(Kongdom)
2
xfworld
(魔幻之翼)
3
1 个赞
使用tidb operator部署我也有尝试过,在启动集群时配置3个pd的持久化需要注意什么?我配置完先有3个配置容器都失败了。
这是pd部分的配置
pd:
baseImage: harbor.dcos.ncmp.unicom.local/isrsprod/pingcap/pd
config: |
lease = 3
enable-prevote = true
data-dir = "/tmp/pd/data"
log-dir = "/tmp/pd/data/log"
## The desired replicas
replicas: 3
storageClassName: tidb
requests:
# cpu: 1000m
# memory: 1Gi
storage: 50Gi
# limits:
# cpu: 2000m
# memory: 2Gi
mountClusterClientSecret: true
这是报错:pod has unbound immediate PersistentVolumeClaims (repeated 6 times)
AttachVolume.Attach failed for volume “pd2” : could not add PersistentVolume……
这是所有配置tidb-cluster.yaml (2.7 KB)
问题是我现在里面已经有数据了,不想把集群删了重新建立,想先排查一下问题,但是我从来没有用过不清楚怎么弄,也不确定是不是我配置出错了。tidb配置.txt (8.0 KB)
xfworld
(魔幻之翼)
6
这个排查就太难了,你需要提供很多日志,才会有社区专家能够帮到你,不过也不一定会成功(环境太复杂了)
最简单的方案:
你能把数据导出来
然后重建环境后,再把数据导入到新环境,这样会靠谱点
好的谢谢,还有我想确认一下tidb的数据是应该存在tikv下吧,就是kv是不是应该在tikv的持久化卷里?
现在有个奇怪的现象,我有1个tidb,3个pd,3个tikv,我把tikv删除发现数据库还是能访问,这是什么情况?
xfworld
(魔幻之翼)
10
kv 是带多副本的,你删1个,当然可以跑阿
删2个就不一定了… region 会出现数据丢失的情况…
我的kv没有存在tikv里,存在了tidb里这是什么原因?
spc_monkey
(carry@pingcap.com)
14
你上面 图 ls /tmp 是在哪里执行的?pod 里?
建议你看看 你的 pv 是怎么创建的,tidb- cluster.yaml 里 tikv 使用的是哪个 pv
我想问一下如果就集群启动失败就只有tidb容器在运行,那么tidb的数据会默认存在哪里?
上面的配置文件里就有了,您具体要什么创建步骤呢?我先创建pd三个容器,tidb1个容器,tikv3个容器,tidb1个容器然后按顺序在容器里启动服务。
./pd-server --config /config/pd.toml > /home/pd1.log &
./pd-server --config /config/pd.toml > /home/pd2.log &
./pd-server --config /config/pd.toml > /home/pd3.log &
./tikv-server --config /config/tikv.toml > /home/tikv1.log &
./tikv-server --config /config/tikv.toml > /home/tikv2.log &
./tikv-server --config /config/tikv.toml > /home/tikv3.log &
./tidb-server --config /config/tidb.toml > /home/tidb.log &