栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Elasticsearch 8.2:多节点集群搭建与Python连接

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Elasticsearch 8.2:多节点集群搭建与Python连接

Elasticsearch搭建

当前有两个服务器,ip分别为192.168.171.81和192.168.171.25,我们需要搭建一个es集群。

首先下载elasticsearch-8.2.0-linux-x86_64.tar.gz,分别拷贝到这两台服务器中,进行解压。

需要注意的是,我们要在启动Elasticsearch服务之前,就需要配置elasticsearch.yml。

在第一台服务器修改config/elasticsearch.yml,内容如下:

network.host: 192.168.171.81
transport.host: 192.168.171.81
cluster.name: my_cluster # 可以不写,默认为elasticsearch
node.name: node1 # 可以不写,默认为当前服务器名

然后修改文件config/jvm.options,内容如下:

-Xms4g
-Xmx4g

启动第一台服务器的es:./bin/elasticsearch
出现下面,说明启动成功:

默认密码有点难记,我们修改密码:
./bin/elasticsearch/bin/elasticsearch-reset-password -u elastic -i

验证是否成功:
curl --insecure -u elastic:123456 -XGET "https://192.168.171.81:9200/",其中123456是我刚才设置的密码,返回如下:

说明节点正常启动了。

然后检查一下集群节点:curl --insecure -u elastic:123456 -XGET "https://192.168.171.81:9200/_cat/nodes"

可以看到当前只有一个节点。

当前elasticsearch.yml文件自动进行了更新:

如果要一台新的服务器加入进来,需要生成一个token,有了这个token就可以让一台新节点自动加入到集群,./bin/elasticsearch-create-enrollment-token -s node

接下来配置第二台服务器。 更第一台配置一样,修改./config/elasticsearch.yml

network.host: 192.168.171.25
transport.host: 192.168.171.25
cluster.name: my_cluster 
node.name: node2 

修改config/jvm.options:

-Xms4g
-Xmx4g

然后在讲这台节点加入es集群中:./bin/elasticsearch --enrollment-token eyJ2ZXIiOiI4LjIuMCIsImFkciI6WyIxOTIuMTY4LjE3MS44MTo5MjAwIl0sImZnciI6Ijk5MGI4NDllNGVkNDk0NmEwYzAzZDdkZDk4YzQwMTg0MzllNGQ5M2E0NDExNjM5MTAxY2QwOTdkZGEzNmI5NTkiLCJrZXkiOiI0dVVjQUlFQktyU0dWdy1YSXlfVTpLYjBWaW1zZ1FkZTdxQ3dHamZJYUNnIn0=

然后在第一台节点终端显示:

检查node2的状态:
curl --insecure -u elastic:123456 -XGET "https:/192.168.171.25:9200/"

可以看到node2也成功启动了。

查看node2的配置文件elasticsearch.yml:

说明使用enrollment-token可以自动进行配置。下次就不需要了。

检查集群节点:

可以看见集群里有两个节点。

Python连接

安装 pip install elasticsearch

检查版本:pip list | grep elasticsearch

elasticsearch 8.2.0

将es节点中的config/cert/http_ca.crt拷贝到本地。

from elasticsearch import Elasticsearch

es = Elasticsearch('https://elastic:123456@192.168.171.81:9200',
                   ca_certs = './http_ca.crt',
                   verify_certs=True)
data = {
    "name": "灭绝师太",
    "age": "49",
    "sex": "f",
    "address": "峨眉山",
    "sect": "峨眉派",
    "skill": "倚天剑",
    "power": "70",
    "create_time": "2022-05-08 23:16:53",
    "modify_time": "2022-05-08 23:16:59"
}
resp = es.index(index="example_index", id=1, body=data)
print(resp)

返回添加数据成功即可。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/932504.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号