美文网首页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