数据迁移

MongoShake数据迁移mongodb

混江龙づ霸主 提交于 2019-12-11 09:45:59
简介 MongoShake是一个以golang语言进行编写的通用的平台型服务,通过读取MongoDB集群的Oplog操作日志,对MongoDB的数据进行复制,后续通过操作日志实现特定需求。日志可以提供很多场景化的应用,为此,我们在设计时就考虑了把MongoShake做成通用的平台型服务。通过操作日志,我们提供日志数据订阅消费PUB/SUB功能,可通过SDK、Kafka、MetaQ等方式灵活对接以适应不同场景(如日志订阅、数据中心同步、Cache异步淘汰等)。集群数据同步是其中核心应用场景,通过抓取oplog后进行回放达到同步目的,实现灾备和多活的业务场景。 开源下载地址 https://github.com/alibaba/MongoShake?spm=a2c4e.10696291.0.0.316619a4JXuDrN 二进制版本下载地址 https://github.com/alibaba/MongoShake/releases 实验环境 源mongodb 单机mongodb 10.23.215.213 800万条记录 > use testdb switched to db testdb > db.table1.count() 8000000 > 目标mongodb 下载mongoshake wget https://github.com/alibaba/MongoShake

Linux迁移Fastdfs数据

依然范特西╮ 提交于 2019-12-10 04:19:52
1.新机器安装fastdfs这里不做描述可以参考这位老哥的文档 FastDFS+Nginx(单点部署)事例 https://www.cnblogs.com/cnmenglang/p/6251696.html 2.备份新storaged服务器的data配置文件 .data_init_flag fdfs_storaged.pid storage_stat.dat sync 3.进入旧storaged下打包data目录 cd /home/zsoft/fastdfs/storage tar zcvf storage_data.tar.gz data 4.复制storage_data.tar.gz文件新storaged scp storage_data.tar.gz zsoft@172.31.41.3:/home/zsoft/fastdfs/storage/ 5.备份新storage的data目录,解压storage_data.tar.gz到当前目录下 cd /home/zsoft/fastdfs/storage/ mv data data.2019.12.9 tar zxf storage_data.tar.gz 6.复制新storage的配置文件到data目录下面 cp -rf .data_init_flag fdfs_storaged.pid storage_stat.dat .

laravel框架的总结

北战南征 提交于 2019-12-09 22:52:03
1.下载和安装composer 1.1 使用安装程序 通过如下地址,下载 composer 的安装包 https://getcomposer.org/download/ 第一个一定要√,不√就最后在下载,然后默认安装即可, 1.2 安装阿里云镜像 composer config -g repo . packagist composer https: / / mirrors . aliyun . com / composer / 2. 创建laravel项目 两种方式 laravel 安装器 composer 安装 2.1composer 创建项目 https://learnku.com/laravel 说明:创建laravel 项目一定要选择一个英文目录 shift右键打开窗口 执行如下命令 composer create-project --prefer-dist laravel / laravel demo1 2.2 启动项目 php artisan serve 3. 数据库配置 数据库的配置存储于 database.config 中 但 database.config 中又读取了 .even 中的数据 所以需要修改 .env 中的数据库配置 修改完成后,执行如下命令,在指定的数据库中创建表 php artisan migrate:install 4. 路由 laravel

海量小文件存储最优解决方案,杉岩数据MOS完美解决

橙三吉。 提交于 2019-12-09 16:36:52
面对千亿量级的小文件,存储系统压力山大 所谓小文件,指的是存储占用空间相对较小的文件,一般来说低于64MB的文件就可以被认定为小文件,而大量的小文件大小则在几KB到几十KB之间。在云计算、大数据业务中,文本、图片、音乐等是典型的小文件应用场景。 随着数字化创新的加速,组织内部的数据呈现出指数级增长的趋势,特别是小文件更是随着业务增长到一个巨大的量级。与大文件的存储不同的是,大量磁盘在小文件存储场景中的性能极低,单块企业级SATA磁盘如果全部存储4KB左右的小文件,带宽只有520KB/s,远远小于应有的120MB/s的带宽标准值,很容易因为存储系统的性能不足造成上层应用“卡顿”。把磁盘全部换成固态盘固然可以解决问题,但是,固态盘的价格数倍于SATA磁盘,对于很多用户来说,全面的应用固态盘在成本上仍然不现实。 百亿~万亿量级的小文件对存储性能提出 而且,每个应用场景对于存储系统的性能往往有着不同的要求。例如,某领先电商平台已经存储了数量以百亿计算的图片文件,这些图片平均大小在15KB左右,用户对于这些图片文件的读取完全是随机读取,一旦大量用户同时在线访问网址或者搜索商品,往往就会给存储系统的随机读写能力带来巨大的挑战;在交警系统中,路口的抓拍摄像头会将违章图片传送至区中心的计算服务器,不仅摄像头数量多,而且每台摄像头每天都可能生成数千乃至上万张照片,某市每天相关图片写入甚至超过一亿张

海量小文件存储最优解决方案,杉岩数据MOS完美解决

旧时模样 提交于 2019-12-09 16:27:04
面对千亿量级的小文件,存储系统压力山大 所谓小文件,指的是存储占用空间相对较小的文件,一般来说低于64MB的文件就可以被认定为小文件,而大量的小文件大小则在几KB到几十KB之间。在云计算、大数据业务中,文本、图片、音乐等是典型的小文件应用场景。 随着数字化创新的加速,组织内部的数据呈现出指数级增长的趋势,特别是小文件更是随着业务增长到一个巨大的量级。与大文件的存储不同的是,大量磁盘在小文件存储场景中的性能极低,单块企业级SATA磁盘如果全部存储4KB左右的小文件,带宽只有520KB/s,远远小于应有的120MB/s的带宽标准值,很容易因为存储系统的性能不足造成上层应用“卡顿”。把磁盘全部换成固态盘固然可以解决问题,但是,固态盘的价格数倍于SATA磁盘,对于很多用户来说,全面的应用固态盘在成本上仍然不现实。 百亿~万亿量级的小文件对存储性能提出 而且,每个应用场景对于存储系统的性能往往有着不同的要求。例如,某领先电商平台已经存储了数量以百亿计算的图片文件,这些图片平均大小在15KB左右,用户对于这些图片文件的读取完全是随机读取,一旦大量用户同时在线访问网址或者搜索商品,往往就会给存储系统的随机读写能力带来巨大的挑战;在交警系统中,路口的抓拍摄像头会将违章图片传送至区中心的计算服务器,不仅摄像头数量多,而且每台摄像头每天都可能生成数千乃至上万张照片,某市每天相关图片写入甚至超过一亿张

海量小文件存储最优解决方案,杉岩数据MOS完美解决

半城伤御伤魂 提交于 2019-12-09 16:26:52
面对千亿量级的小文件,存储系统压力山大 所谓小文件,指的是存储占用空间相对较小的文件,一般来说低于64MB的文件就可以被认定为小文件,而大量的小文件大小则在几KB到几十KB之间。在云计算、大数据业务中,文本、图片、音乐等是典型的小文件应用场景。 随着数字化创新的加速,组织内部的数据呈现出指数级增长的趋势,特别是小文件更是随着业务增长到一个巨大的量级。与大文件的存储不同的是,大量磁盘在小文件存储场景中的性能极低,单块企业级SATA磁盘如果全部存储4KB左右的小文件,带宽只有520KB/s,远远小于应有的120MB/s的带宽标准值,很容易因为存储系统的性能不足造成上层应用“卡顿”。把磁盘全部换成固态盘固然可以解决问题,但是,固态盘的价格数倍于SATA磁盘,对于很多用户来说,全面的应用固态盘在成本上仍然不现实。 百亿~万亿量级的小文件对存储性能提出 而且,每个应用场景对于存储系统的性能往往有着不同的要求。例如,某领先电商平台已经存储了数量以百亿计算的图片文件,这些图片平均大小在15KB左右,用户对于这些图片文件的读取完全是随机读取,一旦大量用户同时在线访问网址或者搜索商品,往往就会给存储系统的随机读写能力带来巨大的挑战;在交警系统中,路口的抓拍摄像头会将违章图片传送至区中心的计算服务器,不仅摄像头数量多,而且每台摄像头每天都可能生成数千乃至上万张照片,某市每天相关图片写入甚至超过一亿张

owncloud 用户数据目录迁移

我的梦境 提交于 2019-12-09 14:32:45
原文 owncloud当用户越多,用户数据越多时,对数据存储提出了一定的要求。此时如果需要对数据进行迁移,主要需要移动的是data文件。我们这里说的迁移是指换一个大的存储目录。 假定在Linux下采用LAMP搭建的owncloud,原来的数据目录为/var/www/html/owncloud/data,现在想要用一个新的盘来存储。可以通过如下步骤。 1. 将盘格式化为Linux ext4文件系统,这样做是因为ntfs盘挂载是只能以root用户访问,而 ext4 文件系统能够更改文件所属用户,假设新的设备分区为/dev/sdb1,可以采用如下命令进行格式化 sudo mkfs -t ext4 -c /dev/sdb1 注意!如果原来分区上有重要数据,需要先做备份 2. 关闭apache服务 sudo su systemctl stop apache2 3. 创建/var/www/html/owncloud/data_2,并将格式化后的新分区挂载到/var/www/html/owncloud/data_2,然后将更改新目录的用户和权限,依次采用如下命令 mkdir /var/www/html/owncloud/data_2 mount /dev/sdb1 /var/www/html/owncloud/data_2 chown -R www-data:www-data data_2

Django 1.7 新数据迁移工具 (migrations) 的使用和如何从 South 升级转换

你。 提交于 2019-12-07 01:08:30
在1.6之前, Django只支持添加新的model到数据库, 而无法编辑或修改已经存在的model. 在当时, 这些Django缺失的功能可以通过South实现. 按照官方文档的说明,支持得最好的是postgresql数据库,其次是mysql,目前sqlite不能实现完整的migration功能。 1. 新的命令 Django 1.7 为我们带来了三个新命令: migrate: 用于执行迁移动作 makemigrations: 基于当前的model创建新的迁移策略文件 sqlmigrate: 显示迁移的SQL语句 值得注意的是, migration是基于App的, 因此, 我们可以针对某些app不启用migration功能. 2. 如何使用 migrations的使用非常简单: 修改model, 比如增加field, 然后运行 python manager.py makemigrations 你的mmodel会被扫描, 然后与之前的版本作比较, 在app的migrations目录下生成本次迁移文件. 我们建议查看一下该迁移文件, 确保没有问题. 然后运行: python manager.py migrate migrate命令会进行比较, 并应用该迁移. 3. 从South到新的Django migrations 如果想从south升级到最新的django migration,

pt-archiver 数据删除、迁移工具使用

对着背影说爱祢 提交于 2019-12-06 14:40:41
1. 数据库连接参数 参数 说明 A 字符编码 D 库 F 从文件读取选项 L 加载数据本地文件 P 端口 S socket文件 a 执行查询的数据库 b 如果是true, 禁用SQL_LOG_BIN h 数据库地址 i 查询使用的索引 m 插件模块名称 p 数据库密码 t 表 u 用户名 2. 常用参数 参数 默认值 说明 --limit 10000 每次取1000行数据用pt-archive处理,Number of rows to fetch and archive per statement. --txn-size 1000 设置1000行为一个事务提交一次,Number of rows pertransaction. --where 'id<3000' 设置操作条件 --progress 5000 每处理5000行输出一次处理信息 --statistics 输出执行过程及最后的操作统计 --charset=UTF8 指定字符集为UTF8 --bulk-delete 批量删除source上的旧数据(例如每次1000行的批量删除操作) --bulk-insert 批量插入数据到dest主机 (看dest的general log发现它是通过在dest主机上LOAD DATA LOCAL INFILE插入数据的) --replace 将insert into

redis-cluster部署及数据迁移

五迷三道 提交于 2019-12-06 14:30:54
工作原理 节选自redis官方文档: http://www.redis.cn/topics/cluster-tutorial.html Redis集群介绍 Redis 集群是一个提供在多个Redis间节点间共享数据的程序集。 Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误. Redis 集群通过分区来提供一定程度的可用性,在实际环境中当某个节点宕机或者不可达的情况下继续处理命令. Redis 集群的优势: 自动分割数据到不同的节点上。 整个集群的部分节点失败或者不可达的情况下能够继续处理命令。 Redis 集群的数据分片 Redis 集群没有使用一致性hash, 而是引入了 哈希槽的概念. Redis 集群有16384个哈希槽,每个key通过CRC16校验后对16384取模来决定放置哪个槽.集群的每个节点负责一部分hash槽,举个例子,比如当前集群有3个节点,那么: 节点 A 包含 0 到 5500号哈希槽. 节点 B 包含5501 到 11000 号哈希槽. 节点 C 包含11001 到 16384号哈希槽. 这种结构很容易添加或者删除节点. 比如如果我想新添加个节点D, 我需要从节点 A, B, C中得部分槽到D上. 如果我像移除节点A,需要将A中得槽移到B和C节点上