美文网首页Redash
Redash数据迁移

Redash数据迁移

作者: goooBelieve | 来源:发表于2018-08-13 14:52 被阅读0次

  背景

   公司一直在用Redash做一些轻量级的报表展示,使用的免费的SelfHosted,之前安装在一台配置较低的aws 镜像服务器上,最近业务的发展需要将redash迁移到配置更好的服务器上去,但是查遍官方文档,并没有详细的迁移方案,不迁移的话,就需要重新配置,那么之前所有的用户、数据库配置、查询dashborad等等都要重新配置,工作量巨大又无意义。花费了半天时间最终将数据迁移好,程序运行完美,在这记录下。

  准备工作

    公司新提供了一台高配置的aws linux服务器,应我要求使用的是 ubuntu16.04的版本系统(redash官方支持友好,其他版本需要耗费过多时间),在这台机器上先装好redash,可参考这边博客。装好之后的redash是一个全新的系统,什么都是空的,会提示你配置,到此为止不要再操作。

    剩下就是要把原来服务器上的redash数据迁移到这台新机器上redash来。基本思路是:

    1.将老的服务器上(服务器A)redash 数据备份;

    2.copy 备份数据到新的服务器上

    3.在新的服务器(服务器B)上restore 服务器A的备份

    这里我们用aws s3 来存储备份数据作为中介桥梁,如下图所示:

数据迁移图

开始工作

首先在服务器A和服务器B上都安装 aws:

sudo pip install --upgrade awscli

安装完成之后 配置 访问密钥ID 和私有访问密钥

aws configure

1.备份服务器A的redash 数据:

$ sudo -u redash pg_dump redash | gzip > redash_backup.gz

2.数据上传到s3 并拷贝到 服务器B上去

    在服务器A上执行:

aws s3 cp redash_backup.gz s3: //S3_BACKUP_PATH/

    在服务器B上执行:

aws s3 cp  s3: //S3_BACKUP_PATH/redash_backup.gz /home/usr/

3.restore 数据到服务器B上

在服务器B上依次执行

$ sudo service postgresql restart #先重启postgresql 服务,断掉所有链接

$ sudo -u postgres -i    #进入postgresql

$ dropdb redash   # 删除 redash数据库

$ createdb  redash  #重新创建redash数据库

$ gunzip -c /home/usr/redash_backup.gz | psql redash  #restore备份数据库

上述脚本执行完成。整个数据迁移就完成了。新服务器上将保留所有的 redash数据。

相关文章

网友评论

    本文标题:Redash数据迁移

    本文链接:https://www.haomeiwen.com/subject/zcjhkxtx.html