【Elasticsearch】安装配置与使用

1 前期准备

1.1 环境准备

麒麟ARM 64位操作系统

1.2 安装包准备

Elasticsearch下载地址: https://www.elastic.co/cn/downloads/elasticsearch

2 部署elasticsearch

2.1 创建es专用用户

注意:ES不能使用root用户来启动,必须使用普通用户来安装启动。

创建一个es专门的用户(必须),如:isearch

使用root用户在三台机器执行以下命令

bash 复制代码
useradd isearch
passwd isearch

2.2 上传压缩包,然后解压

bash 复制代码
tar -zxvf elasticsearch-7.17.7-linux-aarch64.tar.gz -C /rpa/

建立软连接(方便日后升级)

bash 复制代码
ln -s /rpa/elasticsearch-7.17.7 /rpa/elasticsearch

2.3 修改配置文件

bash 复制代码
cd /rpa/elasticsearch/config/
vi elasticsearch.yml
复制代码
# 集群名称 
cluster.name: my-elasticsearch
 
# 节点名称 
node.name: node-1
 
# 是否可以成为master节点 
node.master: true
 
# 是否允许该节点存储数据,默认开启 
node.data: true

# 配置elasticsearch数据路径(建议不放在es安装路径下,方便日后升级)
path.data: /rpa/datas/elasticsearch

# 配置elasticsearch日志路径(建议不放在es安装路径下,方便日后升级)
path.logs: /rpa/logs/elasticsearch/
 
# 网络绑定,绑定 0.0.0.0,代表支持外网访问 
network.host: 192.168.12.33
 
# 设置对外服务的http端口,默认为9200 
http.port: 9200
 
# 设置节点间交互的tcp端口,默认是9300 
transport.tcp.port: 9300
 
# 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算 
cluster.initial_master_nodes: ["node-1"]
 
# 设置集群自动发现机器ip的集合 
discovery.seed_hosts: ["192.168.12.33:9300"]

# 设置允许跨域资源共享(CORS)
http.cors.enabled: true

# 设置定义了哪些来源可以访问Elasticsearch。"*" 表示允许所有来源
http.cors.allow-origin: "*"

# 设置指定了哪些HTTP方法(请求类型)被允许用于跨域请求
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE

# 设置定义了哪些HTTP头部可以在跨域请求中使用
http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"

# 设置控制是否锁定Elasticsearch进程的内存
bootstrap.memory_lock: false

# 设置用于禁用系统调用过滤器
bootstrap.system_call_filter: false

# 设置启用了X-Pack安全功能,它提供了身份验证、授权、加密通信和基于角色的访问控制等功能
xpack.security.enabled: true

# 设置启用了传输层(节点间通信)的SSL/TLS加密
xpack.security.transport.ssl.enabled: true

2.4 启动es

bash 复制代码
nohup /rpa/elasticsearch/bin/elasticsearch -d

2.5 配置elasticsearch登录认证

切换到Elasticsearch的bin目录,然后执行以下命令来设置密码:

sh 复制代码
cd /rpa/elasticsearch/bin
./elasticsearch-setup-passwords interactive

这个命令会提示你为不同的用户设置密码。这些用户通常包括elastic、apm_system、kibana、kibana_system、logstash_system、beats_system和remote_monitoring_user等。你需要按照提示输入每个用户的密码。

2.6 浏览器中访问es页面

链接: http://192.168.12.33:9200/

3 修改es密码

复制代码
curl -u elastic:isearch@2020 -H "Content-Type:application/json; charset=UTF-8" -XPUT http://192.168.12.33:9200/_security/user/apm_system/_password -d '{"password":"isa1qaz2wsx"}' 
curl -u elastic:isearch@2020 -H "Content-Type:application/json; charset=UTF-8" -XPUT http://192.168.12.33:9200/_security/user/kibana/_password -d '{"password":"isa1qaz2wsx"}' 
curl -u elastic:isearch@2020 -H "Content-Type:application/json; charset=UTF-8" -XPUT http://192.168.12.33:9200/_security/user/logstash_system/_password -d '{"password":"isa1qaz2wsx"}' 
curl -u elastic:isearch@2020 -H "Content-Type:application/json; charset=UTF-8" -XPUT http://192.168.12.33:9200/_security/user/beats_system/_password -d '{"password":"isa1qaz2wsx"}' 
curl -u elastic:isearch@2020 -H "Content-Type:application/json; charset=UTF-8" -XPUT http://192.168.12.33:9200/_security/user/remote_monitoring_user/_password -d '{"password":"isa1qaz2wsx"}' 
curl -u elastic:isearch@2020 -H "Content-Type:application/json; charset=UTF-8" -XPUT http://192.168.12.33:9200/_security/user/elastic/_password -d '{"password":"isa1qaz2wsx"}' 

刷新浏览器页面,验证新密码正确,密码修改完成

4 es集群搭建

4.1 复制安装包

另外再准备两台elasticsearch服务器,将单机环境的es目录,复制两份,分别放到另外两台服务器上

(没有那么多资源,可以放在不同的目录下)

bash 复制代码
cp -r /rpa/elasticsearch-7.17.7 es-cluster-01
cp -r /rpa/elasticsearch-7.17.7 es-cluster-02
cp -r /rpa/elasticsearch-7.17.7 es-cluster-03

4.2 修改每台服务器的配置

该集群暂不设置密码,所以先删除以下两行配置

bash 复制代码
# 设置启用了X-Pack安全功能,它提供了身份验证、授权、加密通信和基于角色的访问控制等功能
xpack.security.enabled: true

# 设置启用了传输层(节点间通信)的SSL/TLS加密
xpack.security.transport.ssl.enabled: true

4.2.1 es-cluster-01的配置:

复制代码
# 集群名称 
cluster.name: my-elasticsearch
 
# 节点名称 
node.name: node-1
 
# 是否可以成为master节点 
node.master: true
 
# 是否允许该节点存储数据,默认开启 
node.data: true

# 配置elasticsearch数据路径(建议不放在es安装路径下,方便日后升级)
path.data: /rpa/datas/elasticsearch1

# 配置elasticsearch日志路径(建议不放在es安装路径下,方便日后升级)
path.logs: /rpa/logs/elasticsearch1
 
# 网络绑定,绑定 0.0.0.0,代表支持外网访问 
network.host: 192.168.12.33
 
# 设置对外服务的http端口,默认为9200 
http.port: 9201
 
# 设置节点间交互的tcp端口,默认是9300 
transport.tcp.port: 9301
 
 # 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算 
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
 
# 设置集群自动发现机器ip的集合 
discovery.seed_hosts: ["192.168.12.33:9301", "192.168.12.33:9302", "192.168.12.33:9303"]

# 设置允许跨域资源共享(CORS)
http.cors.enabled: true

# 设置定义了哪些来源可以访问Elasticsearch。"*" 表示允许所有来源
http.cors.allow-origin: "*"

# 设置指定了哪些HTTP方法(请求类型)被允许用于跨域请求
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE

# 设置定义了哪些HTTP头部可以在跨域请求中使用
http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"

# 设置控制是否锁定Elasticsearch进程的内存
bootstrap.memory_lock: false

# 设置用于禁用系统调用过滤器
bootstrap.system_call_filter: false

4.1.1 es-cluster-02的配置:

复制代码
# 集群名称 
cluster.name: my-elasticsearch
 
# 节点名称 
node.name: node-2
 
# 是否可以成为master节点 
node.master: true
 
# 是否允许该节点存储数据,默认开启 
node.data: false

# 配置elasticsearch数据路径(建议不放在es安装路径下,方便日后升级)
path.data: /rpa/datas/elasticsearch2

# 配置elasticsearch日志路径(建议不放在es安装路径下,方便日后升级)
path.logs: /rpa/logs/elasticsearch2
 
# 网络绑定,绑定 0.0.0.0,代表支持外网访问 
network.host: 192.168.12.33
 
# 设置对外服务的http端口,默认为9200 
http.port: 9202
 
# 设置节点间交互的tcp端口,默认是9300 
transport.tcp.port: 9302
 
# 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算 
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
 
# 设置集群自动发现机器ip的集合 
discovery.seed_hosts: ["192.168.12.33:9301", "192.168.12.33:9302", "192.168.12.33:9303"]

# 设置允许跨域资源共享(CORS)
http.cors.enabled: true

# 设置定义了哪些来源可以访问Elasticsearch。"*" 表示允许所有来源
http.cors.allow-origin: "*"

# 设置指定了哪些HTTP方法(请求类型)被允许用于跨域请求
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE

# 设置定义了哪些HTTP头部可以在跨域请求中使用
http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"

# 设置控制是否锁定Elasticsearch进程的内存
bootstrap.memory_lock: false

# 设置用于禁用系统调用过滤器
bootstrap.system_call_filter: false

4.1.3 es-cluster-03的配置:

复制代码
# 集群名称 
cluster.name: my-elasticsearch
 
# 节点名称 
node.name: node-3
 
# 是否可以成为master节点 
node.master: false
 
# 是否允许该节点存储数据,默认开启 
node.data: true

# 配置elasticsearch数据路径(建议不放在es安装路径下,方便日后升级)
path.data: /rpa/datas/elasticsearch3

# 配置elasticsearch日志路径(建议不放在es安装路径下,方便日后升级)
path.logs: /rpa/logs/elasticsearch3
 
# 网络绑定,绑定 0.0.0.0,代表支持外网访问 
network.host: 192.168.12.33
 
# 设置对外服务的http端口,默认为9200 
http.port: 9203
 
# 设置节点间交互的tcp端口,默认是9300 
transport.tcp.port: 9303
 
# 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算 
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
 
# 设置集群自动发现机器ip的集合 
discovery.seed_hosts: ["192.168.12.33:9301", "192.168.12.33:9302", "192.168.12.33:9303"]

# 设置允许跨域资源共享(CORS)
http.cors.enabled: true

# 设置定义了哪些来源可以访问Elasticsearch。"*" 表示允许所有来源
http.cors.allow-origin: "*"

# 设置指定了哪些HTTP方法(请求类型)被允许用于跨域请求
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE

# 设置定义了哪些HTTP头部可以在跨域请求中使用
http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"

# 设置控制是否锁定Elasticsearch进程的内存
bootstrap.memory_lock: false

# 设置用于禁用系统调用过滤器
bootstrap.system_call_filter: false

4.3 启动服务

分别执行命令启动3台elasticsearch 服务

bash 复制代码
nohup ./es-cluster-01/bin/elasticsearch -d
nohup ./es-cluster-02/bin/elasticsearch -d
nohup ./es-cluster-03/bin/elasticsearch -d

使用ps命令查看全部启动成功

4.3 集群验证

浏览器访问链接: http://192.168.12.33:9201/

相关推荐
饼瑶32 分钟前
基于AutoDL远端服务器在pycharm复现:具身智能论文pai0
服务器·elasticsearch·pycharm
数据与人工智能律师1 小时前
数据淘金时代的法治罗盘:合法收集、使用与变现数据的边界与智慧
大数据·网络·人工智能·云计算·区块链
阿祥~1 小时前
windows 安装 TDengine
大数据·时序数据库·tdengine
武子康2 小时前
大数据-136 - ClickHouse 集群 表引擎详解 选型实战:TinyLog/Log/StripeLog/Memory/Merge
大数据·分布式·后端
北邮-吴怀玉4 小时前
2.2.1.3 大数据方法论与实践指南-文档管理规范
大数据·数据治理
B站_计算机毕业设计之家5 小时前
计算机视觉:python车牌识别检测系统 YOLOv8 深度学习pytorch技术 LPRNet车牌识别算法 CCPD2020数据集 ✅
大数据·python·深度学习·机器学习·计算机视觉·数据分析·车牌识别
FreeBuf_8 小时前
从“策略对抗”到“模型对抗”:朴智平台如何重塑金融风控新范式?
大数据·人工智能
HitpointNetSuite9 小时前
连锁餐饮行业ERP如何选择:为何Oracle NetSuite成为增长新引擎
大数据·运维·数据库·oracle·netsuite
Slow菜鸟11 小时前
SpringBoot集成Elasticsearch | Elasticsearch 8.x专属Java Client
java·spring boot·elasticsearch
EasyCVR14 小时前
从汇聚到智能:解析视频融合平台EasyCVR视频智能分析技术背后的关键技术
大数据·人工智能