首页 > 其他分享 >elk学习笔记-elasticsearh-head插件以及elasticsearch-dump

elk学习笔记-elasticsearh-head插件以及elasticsearch-dump

时间:2023-04-14 19:01:16浏览次数:57  
标签:elk 插件 http -- head 索引 elasticsearch usr 分片

 测试使用的elasitcsearch版本是6.3

nodejs版本10.9

linux版本为centos7.9

elasicsearh-head插件

Head插件是Elasticsearch的图形化界面工具,通过此插件可以很方便的对数据进行增删改查等数据交互操作。在Elasticsearch5.x版本以后,head插件已经是一个独立的Web App了,所以不需要和Elasticsearch进行集成。可以将Head插件安装到任何一台机器上,这里将Head插件安装到172.16.213.37(server1)机器上,可以从https://github.com/mobz/elasticsearch-head 下载此插件。

由于Head插件本质上是一个Node.js的工程,因此需要安装Node.js,使用npm工具来安装依赖的包。这里简单说下Node.js和NPM,作为知识的铺垫。

Node.js是一个Javascript运行环境,一个新兴的前端框架,用于方便地搭建响应速度快、易于扩展的网络应用。

NPM的全称是Node Package Manager,是一个Node.JS包管理和分发工具,它定义了包依赖关系标准,并提供了用于JavaScript开发所需要的各种常见第三方框架的下载。

在Centos7.x系统上,可以直接通过yum在线安装Node.js和NPM工具(前提是你的机器要能上网)

安装步骤

#下载nodejs以及npm,编译好的二进制版本
wget https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.xz

mkdir -p /usr/software
tar -xvf  node-v10.9.0-linux-x64.tar.xz -C /usr/software/
mv /usr/software/node-v10.9.0-linux-x64 /usr/software/node

#设置软连接
ln -s /usr/software/nodejs/bin/npm   /usr/local/bin/ 
ln -s /usr/software/nodejs/bin/node   /usr/local/bin/

#安装git
yum install git

#在码云上下载elastic-search的源码
cd /usr/local
git clone https://gitee.com/githubd/elasticsearch-head.git

#设置npm仓库为腾讯云
npm config set registry http://mirrors.cloud.tencent.com/npm/

#强制安装
cd /usr/loca/elsticsearch-head
npm audit fix --force
npm install --force

npm安装完成了后,首先修改elasticsearch的配置文件,如下增加

echo 'http.cors.enabled: true' >> /usr/local/elasticsearch/config
echo 'http.cors.allow-origin: "*"' >> /usr/local/elasticsearch/config
echo 'http.cors.allow-methods: "GET"' >> /usr/local/elasticsearch/config

elk学习笔记-elasticsearh-head插件以及elasticsearch-dump_elasticsearch

http.cors.enabled: true  表示开启跨域名访问支持

http.cors.allow-origin: ""' 表示跨域访问运行的域名地址,“”代表所有

然后修改elasticsearch的配置文件/usr/local/elasticsearch-head/_site/app.js

#vim /usr/local/elasticsearch-head/_site/app.js

找到 this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") | 这行,修改成es的地址

elk学习笔记-elasticsearh-head插件以及elasticsearch-dump_git_02

最后启动elasticsearch-head

cd /usr/local/elasticsearch-head
nohup npm run start

启动后访问

elk学习笔记-elasticsearh-head插件以及elasticsearch-dump_elasticsearch_03

easticsearch-head简单使用

elk学习笔记-elasticsearh-head插件以及elasticsearch-dump_git_04

首先可以看到,elasticsearch集群有server1、server2和server3三个节点,其中,server3是目前的主节点。点击图上的信息按钮,可查看节点详细信息。

其次,从这个页面上可以看到elasticsearch基本的分片的信息,比如主分片、副本分片等等,以及多少可用分片。由于在elasticsearch配置中设置了5个分片,一个副本分片,因此可以看到每个索引都有10个分片,每个分片都用0、1、2、3、4等数字加方框表示,其中,粗体方框是主分片,细体方框是副本分片。

图中esbigdata是集群的名称,后面的“集群健康值”通过不同的颜色表示集群的健康状态:其中,绿色表示主分片和副本分片都可用;黄色表示只有主分片可用,没有副本分片;红色表示主分片中的部分索引不可用,但是某些索引还可以继续访问。正常情况下都显示绿色。

在索引页面可以创建索引,并且可以设置分片的数量,副本的数量等等。点击创建索引按钮,即可创建一个索引

elk学习笔记-elasticsearh-head插件以及elasticsearch-dump_git_05


在数据浏览可以看到每个索引的基本信息,比如有什么字段,存储的内容等。

在基本拆线呢页面可以拼接一些基本查询,如

elk学习笔记-elasticsearh-head插件以及elasticsearch-dump_git_06

在符合查询页面,不仅可以做查询,还可以做PUT,GET,DELETE等curl命令。

elk学习笔记-elasticsearh-head插件以及elasticsearch-dump_elasticsearch_07

基本就是easticsearch的基本查询语法。

elasticsearch-dump

elasticsearch-dump 是一款开源的 ES 数据迁移工具,国内码云地址

https://gitee.com/AshitaKaze/elasticsearch-dump

有了它就可以做es的数据迁移。


elasticsearch-dump 使用 node.js 开发,可使用 npm 包管理工具直接安装:

npm install elasticdump -g
-input: 源地址,可为 ES 集群 URL、文件或 stdin,可指定索引,格式为:{protocol}://{host}:{port}/{index}
--input-index: 源 ES 集群中的索引
--output: 目标地址,可为 ES 集群地址 URL、文件或 stdout,可指定索引,格式为:{protocol}://{host}:{port}/{index}
--output-index: 目标 ES 集群的索引
--type: 迁移类型,默认为 data,表明只迁移数据,可选 settings, analyzer, data, mapping, alias

如果集群有安全认证,可以参照下面的方法使用 reindex 集群鉴权。在对应的 http 后面,添加 user:password@ 参考样例 elasticsearch-dump --input=http://192.168.1.2:9200/my_index --output=http://user:[email protected]:9200/my_index --type=data。

迁移单个索引

以下操作通过 elasticdump 命令将集群172.16.0.39中的 companydatabase 索引迁移至集群172.16.0.20。

第一条命令先将索引的 settings 先迁移,如果直接迁移 mapping 或者 data 将失去原有集群中索引的配置信息如分片数量和副本数量等,当然也可以直接在目标集群中将索引创建完毕后再同步 mapping 与 data。

elasticdump --input=http://172.16.0.39:9200/companydatabase --output=http://172.16.0.20:9200/companydatabase --type=settings
elasticdump --input=http://172.16.0.39:9200/companydatabase --output=http://172.16.0.20:9200/companydatabase --type=mapping
elasticdump --input=http://172.16.0.39:9200/companydatabase --output=http://172.16.0.20:9200/companydatabase --type=data

迁移所有索引

以下操作通过 elasticdump 命令将集群172.16.0.39中的所有索引迁移至集群172.16.0.20。

此操作并不能迁移索引的配置,例如分片数量和副本数量,必须对每个索引单独进行配置的迁移,或者直接在目标集群中将索引创建完毕后再迁移数据。

elasticdump --input=http://172.16.0.39:9200 --output=http://172.16.0.20:9200

elk学习笔记-elasticsearh-head插件以及elasticsearch-dump_elasticsearch_08

备份索引到文件

./elasticdump --input http://127.0.0.1:9200/osmessageslog-2023-04-13 \
--output /data/bakup/back1.json

elk学习笔记-elasticsearh-head插件以及elasticsearch-dump_elasticsearch_09

检查备份的索引



恢复

/elasticdump elasticdump --input /mnt/company.json --output "http://192.168.200.100:9200/company"


总体而言,elasticdump类似于mysqldump一样,实现的是热备份,如果不在乎迁移效果和数据丢失的话,应该可以简单粗暴的把elasticsearch中定义的data数据存储目录整个拷贝迁移。但是这样一般都有问题


标签:elk,插件,http,--,head,索引,elasticsearch,usr,分片
From: https://blog.51cto.com/u_11555417/6190800

相关文章

  • eclipse的properties插件的安装
    首先,在eclipse中点击“help”-"InstallNewSoftware"点击右侧的“Add”按钮。输入Name:properties。Location:http://propedit.sourceforge.jp/eclipse/updates/然后点击OK。稍等两分钟,就会出现插件列表,选择PropertiesEditor,然后Next. 继续Next。 点击“Iaccept……”,然后Fi......
  • 前端常用/不常用插件【想起来才会去更新】
    maptalks支持2d/3d地图渲染及操作,maptalks可支持1w左右图形渲染(再多了就会有一点点卡,和电脑性能也有关系)官网:www.maptalks.org 组件中的组件maptalks.three:可支持three及一些简单数据样式,具体的还没用过maptalks.snap:绘制图形可贴边操作maptalks.arcgistilelayerarcgis......
  • 功能不够用?使用C++编写通达信插件及接入Python(一)
    第一次尝试,参照:http://www.xiaoyunyun.net/index.php/archives/53.html 和 https://blog.csdn.net/wiowei/article/details/121466094在绑定DLL环节失败了第二次尝试:参照:https://zhuanlan.zhihu.com/p/5698198681.修改VS2019,勾选 windows10SDK2.用Visualstudio打开......
  • 如何实现一个vscode插件
    前言有时候,需要提高一些开发效率,我们通常会使用一些优秀的代码编辑器,比如vscode。在使用vscode的时候,会用到很多插件,有时候也会萌发想要去开发这个插件的念头。既然想到了,那就动手试一下。开发过程我感觉最快的上手方式不是讲一些虚头巴脑的概念,先去试一下怎么去实现一个简......
  • Eclipse 安装 ABAP 插件报错 Microsoft Visual C++ 2013 (x64) 快速解决
     去官网下载MicrosoftVisualC++2013(x64)安装   DownloadVisualC++RedistributablePackagesforVisualStudio2013fromOfficialMicrosoftDownloadCenter   ......
  • jquery ajax contentType为application/json及设置请求头header
    1.找了好久发现contentType一般为默认的application/x-www-form-urlencoded,这次post请求后台限定了为application/json2.当设置contentType为application/json还是出错时,把data也要转换一下$.ajax({method:"POST",url:"",contentType:'application/json',......
  • SpringBoot 集成 MybatisPlus 八——插件
    1Mybatis插件机制Mybatis插件是对Executor、StatementHandler、ParameterHandler、ResultSetHandler这四个接口上的方法进行拦截,利用JDK动态代理机制,为这些接口的实现类创建代理对象,在执行方法时,先去执行代理对象的方法,从而执行自己编写的拦截逻辑。ExecutorMyBatis的内部执行器......
  • Edge浏览器安装广告屏蔽插件的方法
    很多小伙伴在使用电脑的时候都不喜欢被广告及弹窗所打扰,尤其是当我们在浏览网站时,经常会被各种视频广告或是弹窗广告所打扰,有时浏览器本身的设置并不能完全隔绝所有广告,这个时候我们就需要在自己的edge浏览器中安装一个屏蔽广告的插件,AdGuard插件就是一个非常好用的广告屏蔽插件,它......
  • Vue之插件的使用
    目录作用使用定义全局变量作用vue的插件的作用就是为了增强Vue,比如router,比如Vuex本质就是包含install方法的一个对象,install的第一个参数是vue,第二个及之后的参数是使用都要传递的数据,插件对象中的install方法会被vue自动调用。使用在Vue项目的src目录中创建目录plugi......
  • 支持WPS的高效率插件,Word魔方
    个人办公中,使用插件越来越是很多人的选择。利用插件高效率完成繁琐的工作,能大大节省时间。下面就给大家介绍一款Word中的高效率插件,Word魔方。插件截图如下:  插件包含100+强大功能。一键AI智能排版、批量合并文档、批量拆分文档、批量提取Word数据到Excel、批量插入首页封......