elasticsearh集群搭建

本文档详细介绍了如何以非root用户启动Elasticsearch,并提供了数据目录权限设置、内存调整、证书配置、服务脚本创建等步骤。同时,针对启动过程中的异常如内存不足问题进行了处理指导,强调了集群安全性和密码管理。此外,还涉及了Elasticsearch的配置文件变更,特别是针对Elasticsearch 8的新特性。
摘要由CSDN通过智能技术生成
ES只能用非root账号启动
useradd -s /sbin/nologin esuser

第一步先清空data
目录权限授权
chown -R esuser:esuser /data/es
chmod -R 777 /data/es

设置ES的内存权限大小
vim /etc/sysctl.conf
    vm.max_map_count=262144
sysctl -p

启动先启动主节点.当主节点可以正常启动在启动从节点
systemctl start elasticsearch
systemctl stop elasticsearch
systemctl status elasticsearch
# 通过底下的curl判断主节点的的情况 没有设置账号密码的吧-uxxx给删除掉
curl -uelastic:aaa@bbb 192.168.110.68:9200/_cat/nodes?pretty 这个密码是不好的密码.有@符号将无法进行elasdump
curl -uelastic:aaa 192.168.110.68:9200/_cat/nodes?pretty
失败查看异常信息
journalctl -e
日志追踪
tail -f /var/log/messages

密码
如果已经是有证书的有密码的只是因为清空/es/data 目录导致的密码无效执行一下操作
1. 集群不能停止 2证书配置要开启 通过这个设置密码
.bin/elasticsearch-setup-passwords interactive         
    黏贴密码 回车
    黏贴密码 回车
    黏贴密码 回车 ...
    
    底下的看情况可以不执行. 如果是3台es且其主节点不作为数据节点.那么这个密码只要在主节点进行设置就可以了 访问es的时候 访问主节点.密码也是一样.
    好像不用执行发现密码好像同步过去了
停止这台服务
负责es/config/elasticsearch.keystore到其他节点上  节点务必要停止服务
然后就可以了
没有证书的情况下 百度证书的生成吧
配置 elasticsearch.yml

这是主节点的配置 elastcisearch8和过去的配置是不一样的

#其他节点要修改node.name node.data=true
cluster.name: application
node.name: node1
network.host: 0.0.0.0
node.master: true
node.data: false
http.port: 9200
discovery.seed_hosts: ["192.168.110.211","192.168.110.98","192.168.110.229"]
cluster.initial_master_nodes: ["node1","node2","node3"]
#action.destructive_requires_name: true
# 底下的配置是开启权限认证.如果认为es不使用账号密码可以不用配置

xpack.security.enabled: true
xpack.security.authc.accept_default_password: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /data/es/config/cert/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /data/es/config/cert/elastic-certificates.p12
elasticsearch8的配置

采用自定义的JAVA

# 可以不配置这个不过需要在 /etc/profile添加变量 ES_HOME=java路径
vim /data/es/bin/elasticsearch-env

大概73行左右
JAVA_HOME=/usr/local/java
# now set the path to java
if [ ! -z "$JAVA_HOME" ]; then
  JAVA="$JAVA_HOME/bin/java"
  JAVA_TYPE="JAVA_HOME"
else
  if [ "$(uname -s)" = "Darwin" ]; then
    # macOS has a different structure
    JAVA="$ES_HOME/jdk.app/Contents/Home/bin/java"
  else
    check_glibc_version
    JAVA="$ES_HOME/jdk/bin/java"
  fi
  JAVA_TYPE="bundled jdk"
fi

service脚本

放在 /usr/lib/systemd/system/
重新加载 systemctl daemon-reload

[Unit]
Description=elasticsearch
[Service]
User=esuser
LimitNOFILE=100000
LimitNPROC=100000
ExecStart=/data/es/bin/elasticsearch
[Install]
WantedBy=multi-user.target

异常

There is insufficient memory for the Java Runtime Environment to continue
    看一下系统的内存是多少然后修改 vim /data/es/conf/jvm.options
    # -Xms1g
    # -Xmx1g
    -Xms256m
    -Xmx256m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值