ElasticSearch | 相關工具的使用
阿新 • • 發佈:2021-01-21
本文主要介紹一些與 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 檢視。