ELK生态系统——elasticsearch集群数据备份

1、集群备份方案:

集群备份,可以通过快照进行备份,将集群外的一台服务器作为文件共享系统(NFS)服务端,在这个文件共享服务端上挂在一个大硬盘,然后在大硬盘中创建es备份、es临时备份等备份文件夹,然后将这些文件夹进行共享,在集群中所有数据节点上进行挂在对应文件夹到共同指定路径下,然后配置对应数据节点上es的备份路径,创建备份仓库,然后将备份的快照保存在备份仓库中,就可以实现集群es数据备份。

2、NFS服务端配置:

注意:以下操作是在NFS(网络文件共享系统)的服务器上操作。

(1)检查安装NFS服务:

检查NFS服务是否安装:

rpm -qa|grep nfs

rpm -qa|grep rpcbind

如果没有安装,执行命令在线安装:

yum install nfs-utils rpcbind

(2)设置NFS服务开机自启:

A、centos6开机自启:

chkconfig nfs on

chkconfig rpcbind on

B、Centos7开机自启:

systemctl enable rpcbind.service    

systemctl enable nfs-server.service

(3)启动NFS服务:

A、centos6启动服务:

service rpcbind start

service nfs start

B、Centos7启动服务:

systemctl start rpcbind.service    

systemctl start nfs-server.service

(4)创建共享目录:

mkdir -p /data_backup/elastic/backup_es

(5)修改共享目录授权配置:

编辑文件/etc/exports:

# 添加下面语句

/data_backup/elastic/backup_es *(rw,sync,no_root_squash,no_subtree_check)


更多配置信息如下:

ro                  只读访问  

rw                  读写访问sync 所有数据在请求时写入共享  

async nfs           在写入数据前可以响应请求  

secure nfs          通过1024以下的安全TCP/IP端口发送  

insecure nfs        通过1024以上的端口发送  

wdelay              如果多个用户要写入nfs目录,则归组写入(默认)  

no_wdelay           如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。      

hide                在nfs共享目录中不共享其子目录  

no_hide             共享nfs目录的子目录  

subtree_check       如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)  

no_subtree_check    和上面相对,不检查父目录权限  

all_squash          共享文件的UID和GID映射匿名用户anonymous,适合公用目录。  

no_all_squash       保留共享文件的UID和GID(默认)  

root_squash         root用户的所有请求映射成如anonymous用户一样的权限(默认)  

no_root_squas       root用户具有根目录的完全管理访问权限  

anonuid=xxx         指定nfs服务器/etc/passwd文件中匿名用户的UID  

anongid=xxx         指定nfs服务器/etc/passwd文件中匿名用户的GID

(6)刷新配置立即生效:

exportfs -a

3、NFS客户端配置:

注意:以下操作是在NFS(网络文件共享系统)的客户端上操作,也就是在es集群中所有数据节点上都要进行同样操作。

(1)检查安装NFS服务:

检查NFS服务是否安装:

rpm -qa|grep nfs

rpm -qa|grep rpcbind

如果没有安装,执行命令在线安装:

yum install nfs-utils rpcbind

(2)设置NFS服务开机自启:

A、centos6开机自启:

chkconfig nfs on

chkconfig rpcbind on

B、Centos7开机自启:

systemctl enable rpcbind.service    

systemctl enable nfs-server.service

(3)启动NFS服务:

A、centos6启动服务:

service rpcbind start

service nfs start

B、Centos7启动服务:

systemctl start rpcbind.service    

systemctl start nfs-server.service

(4)创建文件目录:

创建备份文件目录,也就是es中配置的path.repo值对应的路径:

例如:mkdir -p /data/elastic/data_backup

(5)修改文件目录拥有者:

将创建的备份文件夹的所有者授权给es启动用户:

chown -R elastic.elastic /data/elastic/data_backup

(6)查看可挂在的目录:

查看NFS服务端IP地址中可挂在的目录:

showmount -e 192.168.99.164

(7)挂载目录:

mount -t nfs 192.168.99.164:/data/elastic/bak/backup_es /data/elastic/data_backup

将192.168.99.164中的/data/elastic/bak/backup_es共享文件夹挂在到当前服务器的/data/elastic/data_backup文件夹下。

(8)设置开机自动挂载:

编辑文件/etc/fstab文件:

添加下行:

192.168.99.164:/data/elastic/bak/backup_es /data/elastic/data_backup nfs defaults 0 0

(9)修改es配置备份路径:

修改当前es节点中elasticsearch.yml中path.repo的值为当前服务器中创建的备份路径

(10)重新启动es集群:

当集群中所有数据节点都按照NFS客户端中的操作1-9操作完毕后,逐个启动集群中每一个es节点。

(11)集群es创建备份仓库:

通过es-head连接到集群节点中任何一个节点,然后执行dsl命令创建备份仓库。

(12)集群es创建快照备份:

通过es-head连接到集群节点中任何一个节点,然后执行dsl命令创建指定索引的快照备份。

4、集群es增加备份路径:

如果根据需求,需要增加集群es的备份路径,那么就按照NFS服务端、NFS客户端进行操作即可,因为是增加集群es备份路径,那么有的操作可能就不需要重新操作了,比如:NFS服务安装、开机自启等操作,因此按照操作逐条对照,只需要完成新增加集群es备份路径的相关操作即可。

你可能感兴趣的:(elasticsearch,ELK生态系统)