当前位置: 首页 > article >正文

elasticsearch单节点模式部署

原文地址:elasticsearch单节点模式部署 – 无敌牛

欢迎参观我的个人博客:无敌牛 – 技术/著作/典籍/分享等

第一步:下载

官方下载地址:Download Elasticsearch | Elastic,可以 wget 直接下载。

命令:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.15.1-linux-x86_64.tar.gz

第二步:创建用户

此示例运行用户使用的是 elstc 用户,同时创建同名用户组。

命令:useradd -u 320 -s /usr/sbin/nologin -r -M -U elstc

第三步:安装

3.1 解压

把下载的 tar.gz 包放在安装目录下,此示例安装在 /usr/share 目录下

命令:tar pzxvf elasticsearch-8.15.1-linux-x86_64.tar.gz

3.2 把目录及其下的文件属主给 elstc 用户

命令:chown -R elstc: elasticsearch-8.15.1

3.3 创建数据及日志目录

创建 /data/es_db_data 目录,并在此目录下创建 data、logs、esbackup 目录,把属主全部给 elstc 用户。

命令:chown -R elstc: es_db_data

第四步:配置及启动

4.1 自建根证书、颁发证书以及证书安装

创建根证书及颁发证书,参考往期文章:openssl颁发包含主题替代名的证书–SAN – 无敌牛

在上边的文章中,csr.conf 的配置内容如下:

default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = req_distinguished_name
req_extensions = v3_req

[req_distinguished_name]
countryName = CN
stateOrProvinceName = Shandong
localityName = Qingdao
organizationName = madbull
organizationalUnitName = IT
commonName = xxxxnode1
emailAddress = xxx@xxx.com

[v3_req]
subjectAltName = @alt_names

[alt_names]
DNS.1 = xxxxnode1
DNS.2 = madbull.site
DNS.3 = localhost
IP.1 = 127.0.0.1
IP.2 = 192.168.1.57

证书安装,参看往期文章:elasticsearch集群部署及加密通讯 – 无敌牛 第三步。

4.2 增加主机名

在 /etc/hosts 配置文件,增加主机名 xxxxnode1 。

4.3 修改 elasticsearch 配置文件

修改配置文件:/usr/share/elasticsearch-8.15.1/config/elasticsearch.yml,内容如下:

cluster.name: CLUSTERNAMEXXX
node.name: xxxxnode1

path.data: /data/es_db_data/data 
path.logs: /data/es_db_data/logs
path.repo: /data/es_db_data/esbackup

bootstrap.memory_lock: true
network.host: xxxxnode1, 127.0.0.1

discovery.type: single-node

action.destructive_requires_name: false
xpack.security.enabled: true
xpack.security.enrollment.enabled: true

xpack.security.http.ssl:
  enabled: true
  key: certs/private.key
  certificate: certs/public.crt
  certificate_authorities: certs/CAs/myCA.crt
  verification_mode: certificate

xpack.security.transport.ssl:
  enabled: true
  verification_mode: certificate
  key: certs/private.key
  certificate: certs/public.crt
  certificate_authorities: certs/CAs/myCA.crt

此配置文件中,字段说明参看 elasticsearch集群部署及加密通讯 – 无敌牛 文章的第二步说明。

另外 discovery.type 配置项为 single-node 代表单节点模式运行。

4.4 配置 systemd 管理

在 /usr/lib/systemd/system 目录创建 elasticsearch.service 文件,内容如下:

[Unit]
Description=Elasticsearch
Documentation=https://www.elastic.co
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
RuntimeDirectory=elasticsearch

Environment=ES_HOME=/usr/share/elasticsearch-8.15.1
Environment=ES_JAVA_HOME=/usr/share/elasticsearch-8.15.1/jdk
Environment=ES_PATH_CONF=/usr/share/elasticsearch-8.15.1/config
Environment=PID_DIR=/usr/share/elasticsearch-8.15.1
Environment=ES_SD_NOTIFY=true

WorkingDirectory=/usr/share/elasticsearch-8.15.1

User=elstc
Group=elstc

ExecStart=/usr/share/elasticsearch-8.15.1/bin/elasticsearch -p ${PID_DIR}/es.pid --quiet

StandardOutput=journal
StandardError=inherit

LimitNOFILE=65535
LimitNPROC=4096
LimitAS=infinity
LimitFSIZE=infinity
TimeoutStopSec=0
KillSignal=SIGTERM
KillMode=process
SendSIGKILL=no
SuccessExitStatus=143

TimeoutStartSec=120
MemoryLimit=2G

[Install]
WantedBy=multi-user.target

这些配置根据自己的需求来设定,比如 MemoryLimit 根据自己系统来设置,TimeoutStartSec 可以设置更小一些。

重新加载 systemd 的配置: systemctl daemon-reload

启动服务:systemctl start elasticsearch

4.5 增加密码

这样配置的 elasticsearch 是能启动的,但是因为配置中要求使用密码,所以数据库是不能使用的。需要给 elasticsearch 服务的默认用户 elastic 设置密码,可以用以下命令随机生成一个密码。

命令:/usr/share/elasticsearch-8.15.1/bin/elasticsearch-reset-password -u elastic

密码会打印到屏幕上。由于当前终端使用的JAVA环境不一样,可能会有一些告警,不过一般不会影响设置密码功能。

第五步,测试

创建索引:tt01

命令:curl -XPUT -k -u "elastic:_EiWAUqcsMKlD11E4efQ" https://127.0.0.1:9200/tt01

发现索引的健康状态是 yellow 这是因为只有一个节点,索引要求副本数为 1,如下图索引的 settings 所示。 但是咱们部署的 elasticsearch 只有一个节点,所以索引状态是黄色,但是并不影响使用。

消除 yellow 状态,可通过设置索引的副本数量为 0

命令:curl -XPUT -H “content-type: application/json” -k -u “elastic:_EiWAUqcsMKlD11E4efQ” https://127.0.0.1:9200/tt01/_settings -d ‘{“index”:{“number_of_replicas”: 0}}’

再次查看状态:

命令:curl -k -u “elastic:_EiWAUqcsMKlD11E4efQ” https://127.0.0.1:9200/tt01/_settings | jq .

命令:curl -k -u “elastic:_EiWAUqcsMKlD11E4efQ” https://127.0.0.1:9200/_cat/indices?v


elasticsearch集群部署参看文章:elasticsearch集群部署及加密通讯 – 无敌牛

elasticsearch基本操作参看文章:Elasticsearch基本操作 – 无敌牛


http://www.kler.cn/a/414291.html

相关文章:

  • SAP开发语言ABAP开发入门
  • 试用 Llama-3.1-8B-Instruct AI 模型
  • 如何使用 Codegen 加速 React Native 开发?
  • [网络安全]XSS之Cookie外带攻击姿势详析
  • C#身份证识别接口集成、身份证文字信息提取、身份证信息录入
  • 区块链:比特币-Binance
  • 【论文阅读】点云预测-机器人操作
  • Three.js渲染较大的模型之解决方案
  • 重学 Android 自定义 View 系列(八):星星评分控件(RatingBar)
  • Hello World C#
  • uniapp强制修改radio-group内单选组件的状态方法
  • deepin V23笔记本电脑安装NVIDIA闭源驱动经验分享
  • 黑马2024AI+JavaWeb开发入门Day02-JS-VUE飞书作业
  • taro使用createAsyncThunk报错ReferenceError: AbortController is not defined
  • qml调用c++类内函数的三种方法
  • 操作系统的设计哲学:Linux与Windows的对比
  • CRMEB 多商户PHP版 v3.1更新内容
  • 探索运维新视界,CMDB的3D机房功能深度解析
  • JVM(七、性能监控、故障处理工具)
  • vue安装步骤