一、nebula-br备份的步骤
1、安装 Go1.14.x 或更新版本
wget https://golang.google.cn/dl/go1.14.4.linux-amd64.tar.gz
#首先卸载原先的go,然后安装并设置安装路径PATH,最后go env有输出则成功。
rm -rf /usr/local/go
tar -xzf go1.14.4.linux-amd64.tar.gz -C /usr/local
ln -s /usr/local/go/bin/* /usr/bin/
go version
添加环境变量
vim /etc/profile
# 在最后一行添加
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
# 保存退出后source一下(vim 的使用方法可以自己搜索一下)
source /etc/profile
go version
2、 编译BR
-
克隆
nebula-br
库至机器。git clone https://github.com/vesoft-inc/nebula-br.git
-
进入
br
目录。cd nebula-br
-
编译 BR。
make
用户可以在命令行输入bin/br version
,如果返回以下内容,则认为编译成功。
[nebula-br]$ bin/br version
Nebula Backup And Restore Utility Tool,V-0.6.0
GitSha: 079e7c7
GitRef: master
please run "help" subcommand for more infomation.
编译过程中遇到的报错信息:
[root@localhost nebula-br]# make
go build -trimpath -ldflags '-X github.com/vesoft-inc/nebula-br/pkg/version.GitSha=5aca40c -X github.com/vesoft-inc/nebula-br/pkg/version.GitRef=master' -o bin/br main.go
go: github.com/facebook/fbthrift@v0.31.1-0.20211129061412-801ed7f9f295: Get "https://proxy.golang.org/github.com/facebook/fbthrift/@v/v0.31.1-0.20211129061412-801ed7f9f295.mod": dial tcp 142.251.43.17:443: connect: connection refused
make: *** [build] 错误 1
解决办法:
换一个国内能访问的代理地址:https://goproxy.cn
执行命令:
go env -w GOPROXY=https://goproxy.cn
再次执行make即可
3、安装nebula-agent
wget https://github.com/vesoft-inc/nebula-agent/releases/download/v0.2.0/agent-0.2.0-linux-amd64
chmod +x agent-0.2.0-linux-amd64
mv agent-0.2.0-linux-amd64 agent
./agent --agent="192.168.229.70:8888" --meta="192.168.229.70:9559" #这个地址需跟配置文件的保持一致,127.0.0.1或者IP地址
#这是前台运行,需要再重新开个窗口保持agent前台运行,或者直接后台运行agent
./agent --agent="192.168.229.70:8888" --meta="192.168.229.70:9559" &
4、进行全量备份
./bin/br backup full --meta <ip_address> --storage <storage_path>
mkdir /data/nebula/backup #需要先创建备份的目录
./bin/br backup full --meta "192.168.229.70:9559" --storage "local:///data/nebula/backup" #这个地址需跟配置文件的保持一致,127.0.0.1或者IP地址
#输出结果中有:Backup succeed.即为备份成功
[root@localhost nebula-br]# ./bin/br show --storage "local:///data/nebula/backup"
+----------------------------+---------------------+----------+-------------+------------+
| NAME | CREATE TIME | SPACES | FULL BACKUP | ALL SPACES |
+----------------------------+---------------------+----------+-------------+------------+
| BACKUP_2022_07_20_14_29_15 | 2022-07-20 14:29:15 | aj_ry_mx | true | true |
+----------------------------+---------------------+----------+-------------+------------+
#查看备份的数据
上图中可以看到备份的文件
如果要每天备份,可以做计划性任务crontab,每天定时备份,前提是agent要后台运行