m3db nmespace参数修改

目的

修改当前已经存在的 namespace 参数
预期将会保留之前的 namespace 数据

总结

删除 namespace

执行 curl -X DELETE localhost:7201/api/v1/namespace/tools 后, 数据依旧存在
需要手动执行删除 namespace 下的文件

重建 namespace

执行 curl -X POST localhost:7201/api/v1/namespace/tools ‘{ xxxxx }’ 重建 namespace

重启 m3db

最后需要重启才能够生效
假如修改 namespace 错误, 则会导致无法正常启动

步骤

删除 namespace

验证数据文件是否会丢失

利用新参数创建新 namespace

验证旧数据是否存在 (成功)

不重启 m3db, 参数不会成功被修改

环境

利用 curl -X GET http://10.189.208.210:7201/api/v1/namespace 查询得知 tools namespace 由于 bufferFutrue 过小, 导致流量图断流

"tools": {
			"bootstrapEnabled": true,
			"flushEnabled": true,
			"writesToCommitLog": true,
			"cleanupEnabled": true,
			"repairEnabled": false,
			"retentionOptions": {
				"retentionPeriodNanos": "604800000000000",
				"blockSizeNanos": "7200000000000",
				"bufferFutureNanos": "600000000000",          <- 过小
				"bufferPastNanos": "600000000000",            <- 过小
				"blockDataExpiry": true,
				"blockDataExpiryAfterNotAccessPeriodNanos": "300000000000",
				"futureRetentionPeriodNanos": "0"
},

断流效果如下

在这里插入图片描述

修改

[root@ns-ceph-208210 app]# curl -X DELETE localhost:7201/api/v1/namespace/tools
{"deleted":true}

执行了删除之后, 数据文件还在, 看来需要手动地执行 rm

重新创建相同的 namespace , 修改参数

curl -X POST localhost:7201/api/v1/namespace -d '{
  "name": "tools",
  "options": {
    "bootstrapEnabled": true,
    "flushEnabled": true,
    "writesToCommitLog": true,
    "cleanupEnabled": true,
    "snapshotEnabled": true,
    "repairEnabled": false,
    "retentionOptions": {
      "retentionPeriodDuration": "168h",
      "blockSizeDuration": "2h",
      "bufferFutureDuration": "1h",
      "bufferPastDuration": "1h",
      "blockDataExpiry": true,
      "blockDataExpiryAfterNotAccessPeriodDuration": "5m"
    },
    "indexOptions": {
      "enabled": true,
      "blockSizeDuration": "12h"
    }
  }
}'

修改 namespace 参数后需重启才会生效, 参考修改后效果图

在这里插入图片描述

假如修改 一个错误的 blocksizeduration, 那么下次重启将会失败并报错

{"level":"info","ts":1560956183.119692,"msg":"bootstrap finished","namespace":"vipshop60s","duration":1.150918387}
{"level":"fatal","ts":1560956183.1197174,"msg":"could not bootstrap database","error":"received bootstrap range that is not multiple of blockSize, blockSize: 43200000000000, start: 2019-06-12 22:00:00 +0800 CST, end: 2019-06-12 20:00:00 +0800 CST","errorCauses":[{"error":"received bootstrap range that is not multiple of blockSize, blockSize: 43200000000000, start: 2019-06-12 22:00:00 +0800 CST, end: 2019-06-12 20:00:00 +0800 CST","errorCauses":[{"error":"received bootstrap range that is not multiple of blockSize, blockSize: 43200000000000, start: 2019-06-12 22:00:00 +0800 CST, end: 2019-06-12 20:00:00 +0800 CST"}]}]}

现象:

m3dbnode 无法启动 9000 端口
所有查询都会有问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Terry_Tsang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值