5、ElasticSearch

1、教程

1.视频:黑马https://www.bilibili.com/video/BV1C54y1t7ko?p=16&spm_id_from=pageDriver&vd_source=38e7fc10713eca999c22c7ff25f6e6d2

2.python相关
https://blog.csdn.net/feizuiku0116/article/details/122470501
https://www.jianshu.com/p/56772af4bb4e

3.文档
https://docs.kilvn.com/elasticsearch/docs/7.html
现在,让我们来看一看我们的索引 :

curl -XGET 'localhost:9200/_cat/indices?v&pretty'

现在让我们创建一个名为 “customer” 的索引,然后再列出所有索引 :

curl -XPUT 'localhost:9200/customer?pretty&pretty'
curl -XGET 'localhost:9200/_cat/indices?v&pretty'

现在让我们删除我们刚才创建的索引并且再次列出所有索引 :

curl -XDELETE 'localhost:9200/customer?pretty&pretty'
curl -XGET 'localhost:9200/_cat/indices?v&pretty'

2、安装使用

参考链接:https://blog.csdn.net/qq_43116031/article/details/133860228
添加 Elasticsearch APT 仓库:
打开终端,并使用以下命令添加 Elasticsearch APT 仓库到系统:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'

安装 Elasticsearch:
使用以下命令来安装 Elasticsearch:

sudo apt update
sudo apt install elasticsearch

启动 Elasticsearch 服务:
安装完成后,使用以下命令启动 Elasticsearch 服务并设置它在系统引导时自动启动:

sudo service elasticsearch start
sudo systemctl enable elasticsearch

检查 Elasticsearch 状态:
使用以下命令检查 Elasticsearch 服务是否正在运行:

sudo service elasticsearch status

如果一切正常,应该看到 Elasticsearch 服务正在运行。

测试 Elasticsearch:
打开浏览器或使用 curl 命令测试 Elasticsearch 是否正常工作。默认情况下,Elasticsearch HTTP API 在端口 9200 上运行。使用以下命令来检查 Elasticsearch 是否正常运行:

curl -X GET "http://localhost:9200/"

3、数据过多

参考:https://www.cnblogs.com/yangchongxing/p/16535969.html
原因:
当linux磁盘空间不够情况后,ES集群为了保护数据,会自动把索引分片index置为只读read-only

解决办法(相应执行如下命令):
1、无用户权限:

curl -XPUT -H “Content-Type: application/json” http://10.88.88.88:9200/_all/_settings -d ‘{“index.blocks.read_only_allow_delete”: false}’

2、有用户权限:

curl --user testname:testpassword -XPUT -H “Content-Type: application/json” http://10.88.88.88:9200/_all/_settings -d ‘{“index.blocks.read_only_allow_delete”: false}’

原文链接:https://blog.csdn.net/jiaokun_1105/article/details/117996393

4、Elasticsearch磁盘占用大于95%时将所有索引置为只读

从stackoverflow上查到,当Elasticsearch所在磁盘占用大于等于95%时,Elasticsearch会把所有相关索引自动置为只读。(Elasticsearch官方文档有介绍)

那么查看设置(以本机部署9200为例):

curl -GET 'localhost:9200/index_name/_settings?pretty'

解决方案有两种:
1.清理磁盘,使占用低于95%。
2.调整自动锁阀值,官方文档中有详尽方法。
建议采用第一种,注意解决之后,需要手动把被锁的索引的只读模式关闭。

方法二:重新设置水位
链接: 官方链接

curl -X PUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'
{
  "persistent": {
    "cluster.routing.allocation.disk.watermark.low": "100gb",
    "cluster.routing.allocation.disk.watermark.high": "50gb",
    "cluster.routing.allocation.disk.watermark.flood_stage": "10gb",
    "cluster.info.update.interval": "1m"
  }
}
'

可以通过以下命令将所有的index配置ndex.blocks.read_only_allow_delete为改为false,来恢复。

curl -XPUT -H "Content-Type: application/json" \
   http://localhost:9200/_all/_settings \
     -d '{"index.blocks.read_only_allow_delete": false}'

单个设置为false

curl -X PUT "localhost:9200/my-index-000001/_settings?pretty" -H 'Content-Type: application/json' -d'
{
  "index.blocks.read_only_allow_delete": null
}
'

原文链接:https://blog.csdn.net/cxcjoker7894/article/details/84504418

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值