1.背景:
最近公司为了适应业务的发展,利用elasticsearch搜索引擎搭建了两个节点。为了防止数据丢失的特殊情况,需要定时做数据备份,而由于elasticsearch为两个节点分别在不同的服务器ip,即需要创建共享文件系统,也就是大家都能访问的一个共享文件夹。
(说明:linux系统使用centos 7)
2.内容:
1)创建共享文件
执行下面的命令
yum -y install epel-release # 安装epel 源码yum -y install fuse-sshfs # 安装sshfs
在其中一台服务创建共享目录,执行以下命令:
mkdir -p /hhs/backupchmod -R 777 /hhs
在每个节点的相同位置创建目录,并挂载共享目录
mkdir -p /tmp/backupchmod -R 777 /tmp sshfs $user@192.168.1.237:/hhs/backup /tmp/backup -o allow_other #$user为用户,一般为root,回车后还要输入密码
测试是否可以写入共享目录
su es #切换用户,即运行elasticsearch的用户touch /tmp/backup/test.txt
2)修改elasticsearch.yml文件,添加path.repo: /tmp/backup,即指定刚才创建的节点共享目录,接着重启elasticsearch,执行以下命令:
#创建备份路径curl -XPUT '192.168.1.237:9200/_snapshot/backup' -H 'Content-Type: application/json' -d '{"type": "fs", "settings": {"location": "/tmp/backup" }}'#启动备份,并指定备份名称curl -XPUT '192.168.1.237:9200/_snapshot/backup/ichunt_bak_20171208'#查看备份名称的状态curl -XGET '192.168.1.237:9200/_snapshot/backup/ichunt_bak_20171208/_status'
收工