基于腾讯TBDS平台(Ambari)的mongo数据目录迁移

mongo数据目录迁移
1 现象描述与分析
Mongodb默认的shard、config的数据目录配置是/data/mongodb。但是有时用户用了一段时间后,又想重新将数据迁移到其他目录,这就涉及到数据的迁移及mongodb的数据目录路径的配置重新配置。
2 处理方法
在Mongodb的mongodb-env文件中mongo.paths.prefix是mongodb数据存放路径的配置选项,config、shard的数据都是这个目录中建数据,我们可以将改路径重新配置成数据盘目录。
mongodb shard、config在一个宕掉的情况下,可以根据主备的另外一个重新将数据同步,所以我们可以修改mongo.paths.prefix配置选项,逐个停掉一台机器上的shard server、config server,然后将原先目录下的数据删除,然后再将该台机器上的shard server,config server重启,查看数据目录是否重新同步到我们想要的目录路径下。
(1)修改路径选项
将mongo.paths.prefix配置更改为想要路径,如/data/mogodb1,点击保存
在这里插入图片描述
修改config-server-env的systemLog路径 path选项
在这里插入图片描述
修改router-server-env的systemLog路径 path选项在这里插入图片描述
修改shard-server-env的systemLog路径 path选项
在这里插入图片描述
(2) 停shard server
停止同台机器上的config Server,Shard Server,(不要主备都停)在这里插入图片描述
(3) 删除该目录的mogodb数据

cd /data
mkdir –p /data/mongodb1
chown -R mongodb:hadoop mongodb1
rm -rf /data/mongodb

注意:如果不先建目录,也可以,mongo的server启动会自动根据配置选项创建目录,但是要确保有mogodb用户的权限去创建目录,否则会报Permission denied错误,也可以用root手动创建目录,然后再赋予mongodb用户权限。
(3)重启shard server、config server
重新启动改shard、config的时候,可能界面显示启动不起来,观察一下shard数据目录,发现数据已经到新目录,回头再看看界面,显示shard server、config server启动成功。
在这里插入图片描述
(4)其他
将该组的shard的另外一个shard server关闭,且删除shard server的数据目录,重新启动,最终发现shard server数据目前已经重新迁移指定目录。
其他组的shard、config、router挨个关闭,并将其shard、config、router数据目录删除,然后重新启动。
注意:在删除原先mongo的数据目录,重启shard、config服务时,再停止下个机器的时候一定要等主备同步完以后(相当于停止的机器换了个数据目录路径,一定要等另外一个机器把数据全部同步到这台机器后)才能操作同一组的shard server(一些生成环境数据特别多,可能一晚上或者一天才能同步完)。不同组的shard server可以并行。
查看数据是否同步完,可以登录shard-server,执行rs.status()命令,具体如下:
命令:

./mongo --host 10.255.1.15:54000 -u"admin" -p'123qwe!@#QWE' --authenticationDatabase=admin
rs.status()

查看同一组的shard 的各个节点的状态:PRIMARY(主),ARBITER(仲裁)、SECONDRY(备)
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值