只考虑单机的情况,因为没有那么大的需求
首先创建个文件夹用于存放elasticsearch
cd /opt/mkdir modulecd module
根据官网提示下载 官网文档链接
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.15.0-x86_64.rpm
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.15.0-x86_64.rpm.sha512
shasum -a 512 -c elasticsearch-8.15.0-x86_64.rpm.sha512
如果在执行 shasum -a 512 -c elasticsearch-8.15.0-x86_64.rpm.sha512 时提示未找到命令 shasum,可能是系统中没有安装 shasum 工具。
在 CentOS 或 Red Hat 系统上,可以尝试以下命令安装:我这里安装完还是不行
sudo yum install coreutils
不知道什么问题,懒得理了,换其他的命令校验
sha512sum -c elasticsearch-8.15.0-x86_64.rpm.sha512
安装
sudo rpm --install elasticsearch-8.15.0-x86_64.rpm
输出的信息中会有初始的elastic账号的密码
Elasticsearch 安装在 /usr/share/elasticsearch/
# 新增 es 用户
useradd es
# 为 es 用户设置密码
passwd es
# 创建数据文件目录
mkdir /usr/share/elasticsearch/data
# 创建证书目录
mkdir /usr/share/elasticsearch/config/certs
#切换目录
cd /usr/share/elasticsearch
# 修改文件拥有者
chown -R es:es /usr/share/elasticsearch
# 切换用户
su es
# 签发 ca 证书,过程中需按两次回车键
bin/elasticsearch-certutil ca
#提示:bin/elasticsearch-env:行78:/etc/sysconfig/elasticsearch: 权限不够
切换root目录给权限
# 用 ca 证书签发节点证书,过程中需按三次回车键
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
# 将生成的证书文件移动到 config/certs 目录中
mv elastic-stack-ca.p12 elastic-certificates.p12 config/certs
签发https证书
bin/elasticsearch-certutil http
以下是每次要求输入时输入的内容
证书路径:
无需输入密码,直接回车
设置证书失效时间
无需每个节点配置证书
输出连接到第一个节点的所有主机名称
输出连接到第一个节点的所有主机 IP 地址
这里我直接回车了
不改变证书选项配置
不给证书加密,按键输入两次回车
解压刚刚生成的 zip 包。 将解压后的证书文件移动到 config/certs 目录中
# 解压文件
unzip elasticsearch-ssl-http.zip
# 移动文件
mv elasticsearch/http.p12 kibana/elasticsearch-ca.pem config/certs
elasticsearch.yml配置文件在/etc/elasticsearch/文件夹下,备份
cd /etc/elasticsearch/cp elasticsearch.yml elasticsearch.yml.copy
要将 Elasticsearch 配置为在系统启动时自动启动,请运行以下命令:
root用户运行
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
Elasticsearch 可以按如下方式启动和停止:
sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service
在环境变量里面设置密码:
export ELASTIC_PASSWORD="your_password"
检查 Elasticsearch 是否正在运行
9200您可以通过向端口发送 HTTPS 请求来测试 Elasticsearch 节点是否正在运行 localhost:
curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200