赞
踩
准备需要三台服务器
ip如下:
10.1.40.110,10.1.40.12,10.1.40.8
我们要进行集群部署首先要进行,创建备份共享文件存储地址
由于是集群部署且服务器不同所以这边用到了NFS进行文件的共享
步骤:
1)、搭建集群共享目录 (这里使用NFS也可以使用其它共享目录技术)
安装NFS服务端:
a、选择集群中某一个节点,可以选择ES的Master节点,检查是否安装NFS
rpm -qa | grep nfs
rpm -qa | grep rpcbind
b、如果没有安装,则安装NFS
yum install nfs-utils rpcbind
离线环境需要自己去下载相关包安装
c、设置开机启动
systemctl enable rpcbind.service
systemctl enable nfs-server.service
d、启动NFS
systemctl start rpcbind.service
systemctl start nfs-server.service
e、创建共享目录
mkdir /usr/local/backup 具体目录名可以自己设置
chown -R 用户名 /usr/local/backup
这里的用户名必须是启动ES的用户
f、设置可以访问的地址和权限
vi /etc/exports 添加下面内容:
/usr/local/backup *(rw,sync,no_root_squash,no_subtree_check)
代表所有网段都可以访问,如果想配置为特定ip,可以添加为es集群中所有节点的ip
g、刷新配置并查看
exportfs -a 刷新配置并立刻生效
showmount -e ip 这里ip为当前创建共享目录主机ip这里选择的是:10.1.40.8作为服务端
配置NFS客户端(所有除开上一步中的外的所有ES节点都需执行如下操作)
a、检查是否安装NFS
rpm -qa | grep nfs
rpm -qa | grep rpcbind
b、如果没有安装,则安装NFS
b、如果没有安装,则安装NFS
yum install nfs-utils rpcbind
离线环境需要自己去下载相关包安装
c、设置开机启动
systemctl enable rpcbind.service
systemctl enable nfs-server.service
d、启动NFS
systemctl start rpcbind.service
systemctl start nfs-server.service
e、创建共享目录
mkdir /usr/local/backup 保持和NFS服务端目录一致
chmod -R 用户名 /usr/local/backup
这里的用户名必须是启动ES的用户
f、挂载目录
showmount -e ip ip为NFS服务端ip,这里是10.1.40.8
mount -t nfs ip:/usr/local/backup /usr/local/backup ip同上
h、设置开机挂载
vi /etc/fstab
ip:/usr/local/backup /usr/local/backup nfs defaults 0 0
ip为NFS服务端ip这里是10.1.40.8
2)、修改es配置
修改elasticsearch.yml,配置path.repo的属性为上述共享目录,然后重启集群
这里的elasticsearch.yml如下,可以供参考
#相当于这个集群名字必须要相同 cluster.name: myes #节点的名称必须不一样 node.name: node-2 node.master: true node.data: true node.max_local_storage_nodes: 3 path.data: /usr/demo/data path.logs: /usr/demo/logs #设置的备份仓库地址 path.repo: ["/usr/local/backup"] bootstrap.memory_lock: true bootstrap.system_call_filter: false http.port: 9200 transport.tcp.port: 9300 network.host: 0.0.0.0 discovery.seed_hosts: ["10.1.40.8","10.1.40.110","10.1.40.12"] cluster.initial_master_nodes: ["node-1", "node-2","node-3"] network.publish_host: 10.1.40.110 #跨域配置 http.cors.enabled: true http.cors.allow-origin: "*"
server.port: 5601 #kibana端口
server.host: "0.0.0.0" #所有主机都能访问,或者也可以指定一个ip
elasticsearch.hosts: ["http://10.1.40.8:9200","http://10.1.40.110:9200","http://10.1.40.12:9200"] #配置es的访问地址
kibana.index: ".kibana"
i18n.locale: "zh-CN"
步骤首先是进行创建备份仓库这里选择如下:/usr/local/backup
在es的elasticsearch.yml下进行添加配置(集群环境下都要进行配置)
path.repo: ["/usr/local/backup"]
然后在kibana中执行
PUT /_snapshot/my_fs_backup
{
"type": "fs",
"settings": {
"location": "/usr/local/backup",
"compress": true
}
}
创建索引写入数据(如要操作已有的索引,这个步骤可以进行省略,仅作为事例存在)
PUT test { "settings" : { "number_of_shards" : 3, "number_of_replicas" : 0 } } POST _bulk { "index" : { "_index" : "test", "_id" : "1" } } { "msg" : "value1" } { "index" : { "_index" : "test", "_id" : "2" } } { "msg" : "value2" } { "index" : { "_index" : "test", "_id" : "3" } } { "msg" : "value3" } { "index" : { "_index" : "test", "_id" : "4" } } { "msg" : "value4" } { "index" : { "_index" : "test", "_id" : "5" } } { "msg" : "value5" }
为上述索引创建一个snapshot
PUT /_snapshot/my_fs_backup/snapshot_test_1?wait_for_completion=true
{
"indices": "test",
"ignore_unavailable": true,
"include_global_state": false
}
如要新增snapshot可以修改快照的名字:snapshot_test_1 跟 “indices”: “test” ,的索引名称
indices写索引的名称
可以查看存储库路径,/usr/local/backup,里面有内容。
删除上述索引
DELETE test
恢复上述索引
恢复索引主要是根据快照的名字:snapshot_test_1 ,跟索引的名称:“indices”: “test”,
POST /_snapshot/my_fs_backup/snapshot_test_1/_restore
{
"indices": "test",
"ignore_unavailable": true,
"include_global_state": true
}
查看检查索引数据
GET test/_search
GET test/_settings
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。