Elasticsearch curator清理索引

1、安装 curator

elasticsearch 与 curator 版本适配表:https://www.elastic.co/guide/en/elasticsearch/client/curator/5.8/version-compatibility.html#version-compatibility

下载方式有很多,比如:

  • rpm 包安装
  • pip 安装
  • 二进制安装

这里我是下载的二进制包,地址:https://github.com/elastic/curator/archive/v5.8.4.tar.gz

将 tar.gz 包解压,执行:python setup.py install

阅读更多

Elasticsearch集群状态恢复(红色 -> 绿色)

参考:https://zhuanlan.zhihu.com/p/101608973

  • _cluster/health?pretty
  • _cluster/health?pretty&level=indices
  • _cluster/health?pretty&level=shards

1、集群状态说明

Elasticsearch 集群状态说明:

  • GREEN:集群中所有分片均已分配
  • YELLOW:集群中所有主分片均已分配,但未分配一个或多个副本分片。如果集群中的某个节点发生故障,则在修复该节点之前,某些数据可能不可用。
  • RED:至少有一个或多个主分片未分配,所以导致某些数据不可用。

阅读更多

docker常用命令汇总

docker 查看镜像与容器大小:

1
docker system df -v

阅读更多

Elasticsearch snapshot备份与恢复(NFS方式)

1、首先需要创建快照库

1
2
mkdir /mnt/es_repo
chown -R es:es /mnt/es_repo

2、修改 config/elasticsearch.yml ,配置 path.repo 属性

1
path.repo: /mnt/es_repo

3、启动 Elasticsearch 服务

4、创建共享文件存储库

1
2
3
4
5
6
7
8
9
curl -X PUT 'http://20.5.2.68:9201/_snapshot/my_backup' \
--header 'Content-Type: application/json' \
--data-raw '{
"type": "fs",
"settings": {
"location": "/mnt/es_repo",
"compress": "true" // 快照文件的压缩。压缩仅应用于元数据文件( mapping 和 setting )。数据文件不压缩。
}
}'

阅读更多

Elasticsearch-FAQ

1、elasticsearch空index搜索排序报错问题( No mapping found for [Time] in order to sort on)

查看对应的 index 后,发现这个 index 没有数据,创建的时候是有默认的 _default_ mapping 结构的。

1
curl -XPOST "http://172.26.137.58:9200/events-history-imp_19_iscs_he-2021042504/_search" -d '{"from":0,"size":51,"query":{"bool":{"filter":[{"range":{"Time":{"from":1617552000000000000,"to":1623686400999000000,"include_lower":true,"include_upper":true,"boost":1}}},{"bool":{"disable_coord":false,"adjust_pure_negative":true,"boost":1}}],"disable_coord":false,"adjust_pure_negative":true,"boost":1}},"sort":[{"Time":{"order":"asc", "unmapped_type" : "long"}},{"EventId":{"order":"asc", "unmapped_type": "keyword"}}]}'

查看资料后,知道原因:

ES创建 index 后,虽然指定了 _defult_ mapping 但根本没有初始化,在search查询查询排序时候 sort 的字段不知道什么类型,就会导致上述错误。

解决办法:

在 sort 的字段属性里面,添加 unmapped_type 属性。

参考代码

阅读更多

干货 | k8s helm常用命令集锦

版本说明

helm:v2.14.3

一、helm 相关命令

阅读更多

干货 | kubectl常用命令集锦(一)

版本说明

kubectl:v1.17.6

一、kubectl 常用命令

1、获取命名空间 namespace 列表

1
kubectl get ns

2、获取服务 service 相关信息

可以通过 –all-namespaces 获取 k8s 集群所有的 serivce 列表:

1
kubectl get svc --all-namespaces

同样,像获取 deploy、pod、ingress、configmap 等等也都适用 –all-namespaces 。

也可以通过 -n \ 获取指定 namespace 下的 service 列表:

阅读更多

你能给大家解释一下k8s里面五花八门的各种port吗?

一、端口详解

1、nodePort:

nodePort 提供了集群外部客户端访问 service 的一种方式,它提供了集群外部客户端访问service的端口,即k8s集群nodeIP:nodePort。

适用于外部用户要访问k8s集群中的服务。

优点:通过 k8s 集群的任意节点(装有kube-proxy的)加上 nodePort 都可以访问服务。

缺点:网络请求路由较复杂。在并发量很大的情况下,有可能会造成拒绝连接。(亲自遇到过这种场景,设置成 hostPort 方式访问,就扛住了。)

阅读更多

ambari部署及hdp部署的疑难问题解答汇总

前言

以下,都是收集于网友、群友安装 ambari 或部署 hdp 集群时出现的问题,挤时间写了个疑难问题解答汇总,希望能够快速帮小伙伴们定位解决问题。觉得文章靠谱的小伙伴,希望能转发、点赞、在看三连走一波~

如果后续还有新问题,我会继续更新。大家可以访问:https://www.yuque.com/create17/ambari/pqrb9q 查看最新内容。

一、hdp version 丢失

阅读更多

Kubernetes可视化工具,文末附下载地址

一、Lens 介绍

Lens 是一个强大的 kubernetes IDE。可以实时查看 kubernetes 集群状态,比如 Pod实时日志查看、集群Events实时查看、集群故障排查等。有了 Lens,不在需要敲打很长的 kubectl 命令,只要使用鼠标点击几下,非常便捷。

Lens 支持多平台安装,目前支持 Linux、MacOS、Windows。

阅读更多