暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

NebulaGraph v3.6.0 的迁移实战

NebulaGraph 2024-08-01
107
01
作者介绍

@sqxinquan 王昱翔,资深大数据运维,Apache DolphinScheduler Committer, Apache Bigtop Manager Contributor, 喜欢爬山, 乒乓球



迁移背景


公司正实施一项旨在降低成本并促进资源高效利用的关键转型 —— 将传统的物理服务器架构全面升级为先进的 虚拟机环境。这一战略调整,深刻体现了公司对“开源节流”理念的深入实践与创新探索。
通过采用虚拟化技术,我们成功地将原本分散在多个物理服务器上的计算资源、存储资源及网络资源整合至一个高度灵活、可伸缩的虚拟平台上。此举不仅显著降低了初期投资成本及后续的运维开销,还极大地提升了资源利用率,实现了从“拥有资源”向“按需使用资源”的转变,有效遏制了不必要的浪费。


环境概况



原IP目标IP迁移的服务
192.168.11.20192.168.11.23nebula-metad
192.168.11.21192.168.11.24nebula-graphd
192.168.11.22192.168.11.25nebula-storaged
  • 服务部署目录/opt/nebulagraph
  • 数据存储目录/data/nebula


迁移前准备



  • 操作系统和环境要保持一致
  • 系统存储的目录要保持一致
  • NebulaGraph 安装的目录要保持一致


操作实战


1.停止原服务

    /opt/nebulagraph/scripts/nebula.service stop all
    复制
    2.压缩服务部署目录 opt/nebulagraph 数据存储目录 data/nebula,每一台都样的压缩
      压缩nebulagraph服务
      cd opt
      zip -r nebulagraph.zip nebulagraph
      压缩数据目录
      zip -r data.zip data
      复制

      3.使用 scp
       命令把原 IP 服务目录和数据存储复制到对应的目标 IP 上

        192.168.11.20
        scp nebulagraph.zip root@192.168.11.23:/opt
        scp data.zip root@192.168.11.23:/data
        192.168.11.21
        scp nebulagraph.zip root@192.168.11.24:/opt
        scp data.zip root@192.168.11.24:/data
        192.168.11.22
        scp nebulagraph.zip root@192.168.11.25:/opt
        scp data.zip root@192.168.11.25:/data
        复制
        4.使用 unzip
         或者 tar
         进行解压
          unzip nebulagraph.zip
          unzip data.zip
          以上目录要和原来机器的目录保持一致
          复制
          5.修改 nebula-graphd.conf nebula-metad.conf nebula-storaged.conf 配置文件
            原来配置-- meta_server_addrs=192.168.11.20:9559,192.168.11.21:9559,192.168.11.22:9559
            修改配置-- meta_server_addrs=192.168.11.23:9559, 192.168.11.24:9559,192.178.11.25:9559
            --local_ip=192.168.11.20 ---修改成本机的IP
            复制

            6.先启用 metad 和 graphd 服务

              /opt/nebulagraph/scripts/nebula.service start metad  
              /opt/nebulagraph/scripts/nebula.service start graphd
              复制
              7.查看服务是否被启动
                /opt/nebulagraph/scripts/nebula.service status all
                复制

                8.通过这个命令找到 meta 的 leder 节点利用 leder 节点更换 hosts

                  使用客户端登录
                  ./nebula-console-linux-amd64-v3.6.0 -addr 192.168.11.24 -port 9669 -u root -p
                  输入命令找出 meta 的 leader
                  show meta leader
                  复制

                  9.利用 meta 的 http 服务替换 storaged 机器的 host 替换

                    curl -Gs "http://192.168.11.24:19559/replace?from=192.168.11.20:9779&to=192.168.11.23:9779"
                    curl -Gs "http://192.168.11.24:19559/replace?from=192.168.11.21:9779&to=192.168.11.24:9779"
                    curl -Gs "http://192.168.11.24:19559/replace?from=192.168.11.22:9779&to=192.168.11.25:9779"
                    复制
                    提示这个Replace Host in partition and zone successfully代表替换成功了。
                    10.启动 storage
                      /opt/nebulagraph/scripts/nebula.service start storage
                      复制

                      11.查看服务的服务是否正常启动

                        /opt/nebulagraph/scripts/nebula.service status all
                        复制

                        12.查看 hosts 及分区使用客户端进去

                          ./nebula-console-linux-amd64-v3.6.0 -addr 192.168.11.24 -port 9669 -u root -p
                          输入密码
                          进入后输入
                          show hosts;
                          复制

                          以上表示原 IP 到目标 IP 已经切换完成

                          13.删除原 IP,迁移成功

                            drop hosts 192.168.11.20:9779, 192.168.11.21:9779,192.168.11.22:9779;
                            复制
                            14.删除后,证明迁移正常



                            复盘总结


                            1.迁移之前一定先写好脚本,保证脚本要 scp 到目的端的主机一致,否则会导致新集群中的数据乱掉
                            2.要仔细检查配置中的 IP,如果没有替换掉,导致新集群中的服务启动后,会导致老集群中的数据分片乱掉
                            3.新集群启动正常后,要对数据进行均衡,能保证数据均匀分布,不会出现数据倾斜导致的大量查出现的 IO 异常的问题。
                            4.利用 meta 的 http 服务替换 storaged 机器的 host,一定要检查好  meta leader,否则会导致替换失败。
                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。


                            NebulaGraph 用户案例集



                            案例推荐:

                            信息图谱在携程酒店的应用

                            智联招聘的推荐实践分享

                            知识图谱案例

                            Nebula Graph 在企查查的应用

                            腾讯音乐知识图谱搜索实践

                            中科大脑知识图谱平台建设及业务实践

                            苏宁基于 NebulaGraph 构建知识图谱的大规模告警收敛和根因定位实践

                            金融风控案例:

                            图数据库在中国移动金融风控领域的落地应用

                            图数据库 Nebula Graph 在 BOSS 直聘的应用

                            360数科:基于 NebulaGraph 打造智能化的金融反欺诈系统

                            NebulaGraph 助力金蝶征信产业图谱深挖企业关系链,实现银行批量获客

                            智能运维案例:

                            58 同城基于 NebulaGraph 一键部署运维架构的实践

                            苏宁基于 NebulaGraph 构建知识图谱的大规模告警收敛和根因定位实践

                            大数据/图平台:

                            图DB在微信的 应用

                            OPPO:通过 NebulaGraph 建设全局图数据库平台

                            vivo 大规模特征存储实践

                            美团图数据库平台建设及业务实践

                            百度爱番番实时CDP建设实践

                            数据治理:

                            微众银行:利用 NebulaGraph 进行全局数据血缘治理的实践

                            BIGO 的数据管理与应用实践

                            安全:

                            百亿级图数据在快手安全情报的应用与挑战

                            基于图的下一代入侵检测系统

                            NebulaGraph 助力奇安信威胁图谱分析系统获赛迪顾问颁发“新一代信息技术创新产品”奖

                            对图数据库 NebulaGraph 感兴趣?欢迎前往 GitHub ✨ 查看源码:https://github.com/vesoft-inc/nebula

                            文章转载自NebulaGraph,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                            评论