elasticsearch-8.1.0安装记录

本文详细描述了在CentOS7.9环境中安装Elasticsearch8.1.0的过程,包括防火墙配置、系统限制调整、证书生成与配置,以及使用OAUTH进行客户端访问的设置。

零、版本说明

  • centos
[root@node1 ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
  • elasticsearch
elasticsearch-8.1.0-linux-x86_64

一、安装

systemctl stop firewalld.service

systemctl disable firewalld.service

yum install -y unzip

cat >> /etc/security/limits.conf << EOF
es       hard    nofile  65536
es       soft    nofile  65536
EOF

service sshd restart

echo "vm.max_map_count=655360" >> /etc/sysctl.conf

sysctl -p /etc/sysctl.conf

mkdir -p /export/apps

cd /export/apps

curl -OL https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.1.0-linux-x86_64.tar.gz

tar zxf elasticsearch-8.1.0-linux-x86_64.tar.gz

chown -R es:es /export/apps/elasticsearch-8.1.0

ln -s elasticsearch-8.1.0 es

chown -R es:es /export/apps/es

useradd es

passwd es

su es

cd es

mkdir -p /export/apps/es/data

mkdir -p /export/apps/es/config/certs

./bin/elasticsearch-certutil ca

./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

mv *.p12 config/certs/

./bin/elasticsearch-certutil http
  • elasticsearch-certutil http命令输入后,按以下输入操作

回车

N

y

certs/elastic-stack-ca.p12

回车

5y

N

node1
node2
node3

Y

192.168.1.60
192.168.1.61
192.168.1.62

Y

N

回车

回车
  • 完成后,继续执行
mv elasticsearch/http.p12  kibana/elasticsearch-ca.pem config/certs/

cat > config/elasticsearch.yml << EOF
cluster.name: es-cluster
node.name: node1
path.data: /export/apps/es/data
path.logs: /export/apps/es/logs
network.host: node1
http.port: 9200
discovery.seed_hosts: ["node1"]
xpack.security.enabled: true
xpack.security.enrollment.enabled: true
xpack.security.http.ssl:
    enabled: true
    keystore.path: /export/apps/es/config/certs/http.p12
    truststore.path: /export/apps/es/config/certs/http.p12
xpack.security.transport.ssl:
    enabled: true
    verification_mode: certificate
    keystore.path: /export/apps/es/config/certs/elastic-certificates.p12
    truststore.path: /export/apps/es/config/certs/elastic-certificates.p12
cluster.initial_master_nodes: ["node1"]
http.host: [_local_,_site_]
ingest.geoip.downloader.enabled: false
xpack.security.http.ssl.client_authentication: none
EOF

./bin/elasticsearch

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Elasticsearch security features have been automatically configured!
✅ Authentication is enabled and cluster connections are encrypted.

ℹ️  Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`):
  2nr4oJu0RCJWljIT053Q



❌ Unable to generate an enrollment token for Kibana instances, try invoking `bin/elasticsearch-create-enrollment-token -s kibana`.

❌ An enrollment token to enroll new nodes wasn't generated. To add nodes and enroll them into this cluster:
• On this node:
  ⁃ Create an enrollment token with `bin/elasticsearch-create-enrollment-token -s node`.
  ⁃ Restart Elasticsearch.
• On other nodes:
  ⁃ Start Elasticsearch with `bin/elasticsearch --enrollment-token <token>`, using the enrollment token that you generated.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  • 出现以上界面后,将该信息保存
  • 访问https://node1:9200,使用上面的安装信息中提示的用户名(elastic)和密码(2nr4oJu0RCJWljIT053Q)登录
  • 出现以下响应,代表安装成功
{
  "name" : "node1",
  "cluster_name" : "es-cluster",
  "cluster_uuid" : "nkAVncJFS8u0CXaEXwcTrQ",
  "version" : {
    "number" : "8.1.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "3700f7679f7d95e36da0b43762189bab189bc53a",
    "build_date" : "2022-03-03T14:20:00.690422633Z",
    "build_snapshot" : false,
    "lucene_version" : "9.0.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}
  • 节点配置方法一样,需要修改config/elasticsearch.ymlnode.namenetwork.host为对应节点配置

  • CTRL+C停止node1的es服务,使用-d参数启动后台服务,集群子节点在修改配置后,使用相同命令加入集群

./bin/elasticsearch -d

二、使用客户端访问

  • 示例使用insomnia,POSTMAN和curl等同:添加OATH -> BASE_AUTH

在这里插入图片描述
在这里插入图片描述

<think>好的,用户遇到了Elasticsearch 8.1.0启动时由于SSL配置问题导致的安全异常,具体是PKCS12的keystore和truststore文件transport.p12不存在。我需要先回想Elasticsearch 8.x版本的安全机制变化,尤其是默认启用SSL的情况。 首先,Elasticsearch8.0开始默认启用安全功能,包括SSL/TLS加密,这可能导致初次安装时如果未正确生成证书,就会出现找不到keystore文件的问题。用户提到的错误信息显示transport.p12不存在,这通常是在节点间通信的SSL配置中需要的文件。 可能的解决方案包括重新生成证书。Elasticsearch提供了bin/elasticsearch-certutil工具来生成证书。需要指导用户使用该工具生成新的keystore,并配置到elasticsearch.yml中。另外,检查配置文件中的路径是否正确,特别是xpack.security.transport.ssl.keystore.path和truststore.path是否指向正确的p12文件位置。 还要确保生成证书时包含了所有必要的节点信息,比如主机名或IP地址,避免因证书不匹配导致加载失败。另外,用户可能需要调整文件权限,确保Elasticsearch进程有权限读取这些文件。最后,提醒用户重启服务后可能需要重新配置密码或使用生成的CA证书进行身份验证。 另外,考虑到用户可能是在集群环境下运行,是否需要为每个节点单独生成证书,或者使用相同的CA签署所有节点的证书,这也是需要注意的地方。如果用户是单节点测试,可能可以使用自动生成的证书,但生产环境需要更严格的配置。 最后,可能需要检查日志文件以获取更详细的错误信息,确认是否还有其他潜在问题,比如磁盘空间不足或配置文件语法错误。确保用户按照官方文档的步骤操作,避免遗漏关键配置项。</think>### Elasticsearch 8.1.0 SSL配置问题解决方案 #### 问题分析 Elasticsearch 8.1.0默认启用安全功能,启动时若未正确配置SSL证书,会导致`transport.p12`缺失错误。该文件是PKCS12格式的密钥库/信任库,用于节点间通信加密[^1]。 #### 解决步骤 1. **生成证书** ```bash # 进入Elasticsearch安装目录 cd /path/to/elasticsearch-8.1.0 # 生成CA证书 bin/elasticsearch-certutil ca # 生成节点证书(需包含实际IP/DNS名称) bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 ``` 2. **配置证书路径** 修改`config/elasticsearch.yml`: ```yaml xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12 ``` 3. **创建证书目录并移动文件** ```bash mkdir config/certs mv elastic-certificates.p12 config/certs/ ``` 4. **设置文件权限** ```bash chown -R elasticsearch:elasticsearch config/certs/ chmod 600 config/certs/elastic-certificates.p12 ``` 5. **重置内置用户密码** ```bash bin/elasticsearch-reset-password -u elastic ``` 6. **重启服务** ```bash systemctl restart elasticsearch ``` #### 验证配置 ```bash curl -XGET --cacert config/certs/elastic-certificates.p12 -u elastic:your_password https://localhost:9200 ``` #### 注意事项 - 生产环境建议为每个节点单独生成证书 - PKCS12文件密码默认为空,可通过`--pass`参数设置 - 多节点集群需使用相同CA签发证书
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值