使用python连接elasticsearch

有一个困惑了好久的问题,那就是从python里面连接elasticsearch总是报错。大致长这样

一开始我是看网上把es的安全功能关闭,也就是下面的内容,这个要进入到es的docker中去改config/elasticsearch.yml配置文件,但是这样改了以后kibana的界面会没有search功能。这种方式不可取...

shell 复制代码
xpack.security.enabled: false
xpack.security.http.ssl.enabled: false

不过这里介绍使用一种证书的方式连接,这应该是当前最合适的方式了。

具体操作如下

① 进入到elasticsearch的docker环境中

shell 复制代码
docker exec -it elasticsearch bash

②进入到证书目录下

shell 复制代码
cd /usr/share/elasticsearch/config/certs

有一个证书文件http_ca.crt

③执行一个命令

shell 复制代码
openssl x509 -fingerprint -sha256 -in ./http_ca.crt

会生成一个Fingerprint字符串,拿到这里就可以了。

④代码调用

py 复制代码
from elasticsearch import Elasticsearch
CERT_FINGERPRINT = ' ' #这里就是刚才获得的Fingerprint字符串
ELASTIC_PASSWORD = ' ' #你的用户名对应密码

client = Elasticsearch(
    "https://localhost:9200",
    ssl_assert_fingerprint=CERT_FINGERPRINT,
    basic_auth=("elastic", ELASTIC_PASSWORD)
)
client.info()

然后就出现了这个好看的东西哈哈哈

相关推荐
m0_493934531 小时前
mysql如何使用HAVING过滤分组_mysql分组后的二次筛选
jvm·数据库·python
石榴树下的七彩鱼1 小时前
智能抠图 API 接入实战:3 行代码实现图片自动去背景(Python / Java / PHP / JS)
java·图像处理·人工智能·python·php·api·抠图
2301_764150561 小时前
如何在 Laravel Excel 导入时校验并阻止重复列值
jvm·数据库·python
telllong1 小时前
Python异步编程从入门到不懵:asyncio实战踩坑指南
开发语言·python
像一只黄油飞1 小时前
第二章-01-字面量
笔记·python·学习·零基础
2401_871696521 小时前
PHP源码对主板M.2插槽数量有要求吗_扩展性规划建议【方法】
jvm·数据库·python
qq_189807031 小时前
防止SQL注入的运维实践_实时清理数据库缓存与历史记录
jvm·数据库·python
weixin_458580121 小时前
MongoDB广告点击追踪如何建模_点击事件聚合与去重记录
jvm·数据库·python
justjinji1 小时前
CSS如何实现垂直居中对齐_CSS Grid容器内的完美居中方案
jvm·数据库·python
Shorasul1 小时前
Golang map怎么判断key存在_Golang map键值判断教程【通俗】
jvm·数据库·python