安装好es集群后,在每一个es节点里面安装插件进入elasticsearch的bin目录,./elasticsearch-plugin install repository-hdfs
这个插件在es的plugin里面可以看到,然后将es集群全部启动
因为我之前用的esuser来启动elasticsearch的
在kibana里面敲这一段就是用这个插件
PUT /_snapshot/my_hdfs_repository
{
“type”: “hdfs”,
“settings”: {
“uri”: “hdfs://192.168.1.11:9000/”,
“path”: “/usr/local/data/my_hdfs_repository”,
“conf.dfs.client.read.shortcircuit”: “false”
}
}
或者这一段性质是一样设置的参数略有不同
PUT /_snapshot/my_hdfs_repository
{
"type":"hdfs",
"setting":{
"uri":"hdfs://192.168.1.11:9000/",
"path":"elasticsearch/respositories/my_hdfs_repository",
"max_snapshot_bytes_per_sec":"50mb",
"max_restore_bytes_per_sec":"50mb"
}
这里这一段也可以在黑窗口里面敲 用crul -XPUT这个
不过我安了kibana所以就用kibana
然后就会报错 说你用的esuser,说明permission权限不足
这是由于我es用的esuser启动的,而hdfs是用的root启动的
这里很重点 我弄了半天
然后在hdfs的hdfs-site.xml里面配置权限忽略
dfs.permissions
false
每个节点的hdfs都要设置
然后再弄下
完美解决
在界面化页面http://192.168.1.11:50070
看是不是地址都是一样的 ,创建成功
在黑窗口可以用这行命令
-XPOST ‘http://192.168.1.109:9200/_snapshot/my_hdfs_repository/_verify’
来检测是否创建成功
{“nodes”:{“4hXw9RQtQwiCE4JAXqOD3w”:{“name”:“node-elasticsearch-01”},“PcP04lt2QmKKD0bEaZAtMQ”:{“name”:“node-elasticsearch-02”}}}
我这里是这样显示了两个节点的es所以说创建成功了
有的机子这里会报错
然后这么操作
之后检测一般没什么问题了
接下来就是怎么备份数据了
首先得在es里面创建一些数据
在kibana里面敲这一行
PUT /_snapshot/my_hdfs_repository/snapshot_1
备份就ok了
我们去hdfs得视图界面去看看
就有数据了
然后在kibana里面用这一行输入下查看下
GET /_snapshot/my_hdfs_repository/snapshot_1
就可以看到hdfs里面得信息
这是删掉陈旧得备份
DELETE /_snapshot/my_hdfs_repository/snapshot_1
然后我们来弄怎么在hdfs备份中恢复数据
首先我们误删除后我们想恢复某一次得数据在kibana里面输入
POST /_snapshot/my_hdfs_repository/snapshot_1/_restore?pretty
既可以恢复
POST /_snapshot/my_hdfs_repository/snapshot_1/_restore?wait for_completion=true
这是等着这个恢复或者储存完成在弄下一条命令
查看恢复进度:GET /my_index/_recovery?pretty