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>

展示效果

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>

展示效果

二、数据迁移类工具

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 查看。

posted @ 2021-01-21 14:54  Einsier  阅读(278)  评论(0)    收藏  举报