下面是我离线安装的过程
https://blog.csdn.net/weixin_43736084/article/details/121775484?spm=1001.2014.3001.5501
我们使用NFS,下面是官网给出的几种仓库类型
注意事项,要不然后面创建仓库会失败:
- 各台机器之间使用的用户的uid和gid必须一样(启动es的用户),我这里uid=1000 gid=1003,不一样需要进行修改
查看:
# 各台机器都是一样的1000和1003 [root@localhost yuantek]# id es uid=1000(es) gid=1003(xyc) groups=1003(xyc)
修改:
usermod -u 1000 es groupmod -g 1003 es2.2 NFS建立共享文件夹
在某一台节点上创建目录, 注:快照数据会全部写入到当前节点的当前目录下,并不是分布式的,注意磁盘空间
# 来查看下所要备份的索引的大小,我这里1.1T的大小 GET /_cat/indices?v green open xxxx RGagjw1FSnSB5Y38kV-JaF 12 1 154756020 34013577 1.1tb 567.3gb
- 创建目录
[root@localhost ~]# mkdir /chun/snapshot -R es:es 如果已经创建了好了,就修改权限 [root@localhost ~]# chown es:es /chun/snapshot
- 编辑 nfs 配置文件
[root@localhost /]# cat /etc/exports /chun/snapshot *(insecure,rw,sync,no_root_squash,anonuid=1000,anongid=1003)
- 查看共享目录和状态
[root@localhost /]# exportfs -rv exporting *:/chun/snapshot
4.其他节点挂在共享目录:(在其他节点上执行)
在(192.168.2.132,192.168.2.133上分别执行) [root@localhost ~]# mount -t nfs 192.168.2.131:/chun/snapshot /chun/snapshot
5.开机挂载(因为开机后失效)
开机挂载NFS目录(在其他节点上执行) #编辑fstab文件 [root@localhost ~]# cat /etc/fstab |grep nfs 192.168.2.131:/chun/snapshot /chun/snapshot nfs defaults,_netdev 0 02.3 修改ES配置文件,每台节点都加入
添加存储库路径,添加:path.repo: ["/chun/snapshot"]
[root@localhost ~]# cat /opt/elasticsearch-6.5.1/config/elasticsearch.yml |grep path.repo path.repo: ["/chun/snapshot"]3.3 重启ES集群,使配置生效
1.最好是一台一台重启,防止es重新索引时间过长,导致集群长时间red
2.关闭分片
PUT /_cluster/settings { "transient": { "cluster.routing.allocation.enable":"none" } }
3.kill掉es进程
jps -l |grep Elastic |awk '{print }' |xargs kill -9
4.重启es
su es;./elasticsearch -d
5.开启分片
PUT /_cluster/settings { "transient": { "cluster.routing.allocation.enable":"all" } }
6.等待集群green后,重复上述步骤,重启其他节点,master最后再重启就行
3.4 创建快照库location如果是相对路径就是在path.repo配置的目录下创建快照库文件
如果是绝对路径父目录也要是path.repo,/chun/snapshot/chun_backup
PUT /_snapshot/chun_backup { "type": "fs", "settings": { "location": "chun_backup", "compress": true } }
参数介绍,根据实际情况选择,默认速率是20MB { "type": "fs", #共享文件夹 "settings": { "location": "chun_backup", #存储库位置 "max_restore_bytes_per_sec":"10mb", #恢复最大速率 "compress":"true", #是否压缩 "max_snapshot_bytes_per_sec":"10mb", #创建最大速率 "chunk_size":"100mb" #压缩块大小 }
查看快照库
POST /_snapshot/chun_backup/_verify
工具安装在最上面
文件如何写参照官网配置,下面是我实际使用的:
创建curator.yml文件
--- # Remember, leave a key empty if there is no value. None will be a string, # # not a Python "NoneType" client: #es集群ip hosts: - 192.68.2.131 - 192.68.2.132 - 192.68.2.133 port: 9201 url_prefix: use_ssl: False certificate: client_cert: client_key: ssl_no_validate: False username: elastic password: chunchun timeout: 30 master_only: False logging: loglevel: INFO #日志路经 logfile: /chun/curator-5.8.4/log/run.log logformat: default blacklist: ['elasticsearch', 'urllib3']
创建action.yml文件
actions: 1: action: snapshot description: >- Back up the index, and then solve the inconsistency between ES and Hbase data. options: repository: web_back # Leaving name blank will result in the default 'curator-%Y%m%d%H%M%S' name: wait_for_completion: True max_wait: 3600 wait_interval: 10 filters: - filtertype: pattern kind: prefix value: 'chun'
执行:
命令: curator --config config.yml action.yml **最好在后台执行,防止备份时间长想要关闭终端导致失败,使用screen 建立一个后台终端 [root@localhost ~]# screen -S esbak 执行备份命令 [root@localhost curator-5.8.4]# curator --config curator.yml action.yml 退出此终端 按快捷键 ctrl + a + d 查看创建的screen终端 [root@localhost ~]# screen -ls There is a screen on: 37910.esbak (Detached) 1 Socket in /var/run/screen/S-root. 重新进入 [root@localhost ~]# screen -r esbak
至此整个备份过程就结束了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)