ElasticSearch | 相关工具的使用

本文主要介绍一些与 ElasticSearch 相关的小工具:

  • ElasticHQ
  • cerebro
  • elasticdump

一、监控类工具

除了 Kibana 之外,还有一些适合用来做 elasticsearch 集群监控的小工具,如 ElasticHQ 和 cerebro 。

1. ElasticHQ

ElasticHQ 是一个开源应用程序,它提供了一个简化的界面来管理和监视Elasticsearch 集群。以下是相关地址:
ElasticHQ 的官方地址
ElasticHQ 的 docker 镜像

在 Kubernetes 上使用 ElasticHQ

# vi es-hq.yaml
apiVersion: v1
kind: Service
metadata:
name: es-hq
labels:
component: es-hq
spec:
selector:
component: es-hq
ports:
- name: http
port: 5000
targetPort: http
nodePort: 30005
type: NodePort
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: es-hq
labels:
component: es-hq
spec:
replicas: 1
selector:
matchLabels:
component: es-hq
template:
metadata:
labels:
component: es-hq
spec:
containers:
- name: hq
image: elastichq/elasticsearch-hq
resources:
limits:
memory: 500Mi
ports:
- containerPort: 5000
name: http

运行 kubectl apply -f es-hq.yaml ,访问 <node_ip>:<node_port>

展示效果

ElasticSearch | 相关工具的使用

2. Cerebro

cerebro 是一个使用 Scala ,Play Framework ,AngularJS和 Bootstrap 构建的开源 elasticsearch web管理工具。以下是相关地址:
Cerebro 的 github 地址
Cerebro 的 docker 镜像

在 Kubernetes 上使用 Cerebro

# vi cerebro.yaml
apiVersion: v1
kind: Service
metadata:
name: cerebro
labels:
component: cerebro
spec:
selector:
component: cerebro
ports:
- name: http
port: 9000
targetPort: http
nodePort: 30009
type: NodePort
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: cerebro
labels:
component: cerebro
spec:
replicas: 1
selector:
matchLabels:
component: cerebro
template:
metadata:
labels:
component: cerebro
spec:
containers:
- name: cerebro
image: lmenezes/cerebro
resources:
limits:
memory: 500Mi
ports:
- containerPort: 9000
name: http

运行 kubectl apply -f cerebro.yaml ,访问 <node_ip>:<node_port>

展示效果

ElasticSearch | 相关工具的使用

二、数据迁移类工具

1. elasticdump

elasticdump 是一个能对 elasticsearch 集群做数据保存和数据迁移的小工具。

安装

npm install elasticdump -g

将数据保存为 json 文件

如将一个索引的数据保存至本地 json 文件:

# \ 不是换行,可用空格拼接参数
elasticdump \
--input=http://production.es.com:9200/my_index \
--output=/data/my_index.json \
--type=data

更多详细操作请前往 elasticdump 查看。

将数据迁移至另一个集群

如将一个集群中某索引的数据备份到另一个集群的索引:

# \ 不是换行,可用空格拼接参数
elasticdump \
--input=http://production.es.com:9200/my_index \
--output=http://staging.es.com:9200/my_index \
--type=data

更多详细操作请前往 elasticdump 查看。

上一篇:docker搭建cerebro(elasticsearch监控工具)


下一篇:图数据库项目DGraph的前世今生