es集群安装及优化

es主节点

192.168.23.100

es节点

192.168.23.101

192.168.23.102

1.安装主节点

1.去官网下载es的yum包

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

根据自己的需要下载对应的包

2.下载好之后把所有的包都传到从节点上,安装

bash 复制代码
[root@localhost ~]# ansible all -m copy -a 'src=/root/elasticsearch-8.11.3-x86_64.rpm dest=/root/elasticsearch-8.11.3-x86_64.rpm'
192.168.23.102 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": true, 
    "checksum": "64c9029f99fa4beeabae1a36d1a88b8bf44982cf", 
    "dest": "/root/elasticsearch-8.11.3-x86_64.rpm", 
    "gid": 0, 
    "group": "root", 
    "md5sum": "d4b85a836646cd0b8c1d87848bf2e77c", 
    "mode": "0644", 
    "owner": "root", 
    "size": 630669510, 
    "src": "/root/.ansible/tmp/ansible-tmp-1704551077.26-16135-196050427416681/source", 
    "state": "file", 
    "uid": 0
}
192.168.23.101 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": true, 
    "checksum": "64c9029f99fa4beeabae1a36d1a88b8bf44982cf", 
    "dest": "/root/elasticsearch-8.11.3-x86_64.rpm", 
    "gid": 0, 
    "group": "root", 
    "md5sum": "d4b85a836646cd0b8c1d87848bf2e77c", 
    "mode": "0644", 
    "owner": "root", 
    "size": 630669510, 
    "src": "/root/.ansible/tmp/ansible-tmp-1704551077.26-16133-148347610662829/source", 
    "state": "file", 
    "uid": 0
}
[root@localhost ~]# ansible all -m shell -a 'ls /root/'
192.168.23.102 | CHANGED | rc=0 >>
anaconda-ks.cfg
elasticsearch-8.11.3-x86_64.rpm
192.168.23.101 | CHANGED | rc=0 >>
anaconda-ks.cfg
elasticsearch-8.11.3-x86_64.rpm


[root@localhost ~]# ansible all -m shell -a 'yum localinstall /root/elasticsearch-8.11.3-x86_64.rpm -y'
[WARNING]: Consider using the yum module rather than running 'yum'.  If you need to use command because yum is insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in
ansible.cfg to get rid of this message.
192.168.23.101 | CHANGED | rc=0 >>
Loaded plugins: fastestmirror
Examining /root/elasticsearch-8.11.3-x86_64.rpm: elasticsearch-8.11.3-1.x86_64
Marking /root/elasticsearch-8.11.3-x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package elasticsearch.x86_64 0:8.11.3-1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package          Arch      Version       Repository                       Size
================================================================================
Installing:
 elasticsearch    x86_64    8.11.3-1      /elasticsearch-8.11.3-x86_64    1.2 G

Transaction Summary
================================================================================
Install  1 Package

Total size: 1.2 G

3.更改主配置文件

bash 复制代码
[root@localhost ~]# grep -Ev "^#|^$" /etc/elasticsearch/elasticsearch.yml 
cluster.name: ELK cluster            #集群名字,每个节点一样    
node.name: {{ ansible_hostname }}    #每个机器的主机名
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0              # 通讯地址,设置为本机ip或者0.0.0.0,让所有机器都可以访问
discovery.seed_hosts: ["192.168.23.100", "192.168.23.101","192.168.23.102"] #每个节点相同
cluster.initial_master_nodes: ["192.168.23.100"]  #此为选举主节点,如果写一个就默认那一个是主节点,如果写多个,让他们自己去竞争那个是节点
xpack.security.enabled: false   #关闭安全认证
xpack.security.enrollment.enabled: true
xpack.security.http.ssl:
  enabled: true
  keystore.path: certs/http.p12
xpack.security.transport.ssl:
  enabled: true
  verification_mode: certificate
  keystore.path: certs/transport.p12
  truststore.path: certs/transport.p12
http.host: 0.0.0.0

4.写yml吧配置文件传送到 其他节点

yml 复制代码
[root@es ~]# cat 1.yml 
---
[root@es ~]# cat 1.yml 
[root@es ~]# cat 1.yml 
---
- name: copy es
  hosts: xp
  tasks:
    - name: copy es
      template:
        src: /etc/elasticsearch/elasticsearch.yml
        dest: /etc/elasticsearch/elasticsearch.yml
      notify: restart es
    - name: restart es
      service:
        name: elasticsearch
        enabled: yes
  handlers:
    - name: restart es
      service:
        name: elasticsearch
        state: restarted    

5.运行playbook

复制代码
[root@es ~]# ansible-playbook 1.yml 

PLAY [copy es] ***************************************************************************************************************************************************************************************************

TASK [Gathering Facts] *******************************************************************************************************************************************************************************************
ok: [192.168.23.101]
ok: [192.168.23.102]

TASK [copy es] ***************************************************************************************************************************************************************************************************
ok: [192.168.23.102]
ok: [192.168.23.101]

TASK [restart es] ************************************************************************************************************************************************************************************************
changed: [192.168.23.102]
changed: [192.168.23.101]

PLAY RECAP *******************************************************************************************************************************************************************************************************
192.168.23.101             : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
192.168.23.102             : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

此时在访问主节点上的9200端口

内存优化

bash 复制代码
[root@es ~]# egrep '## -Xm' /etc/elasticsearch/jvm.options
## -Xms4g
## -Xmx4g

#推荐使用物理机的一半,es的heap最大内存不超过30g,26g是最安全的

范例
[root@es ~]# egrep '-Xm' /etc/elasticsearch/jvm.options
-Xms30g
-Xmx30g
相关推荐
2503_931712488 分钟前
10m/s超高速电梯:西奥XO-NEWIII如何树立行业速度标杆
java·大数据·数据库
bkspiderx12 分钟前
rpath:Linux 中固定共享库搜索路径的“永久解决方案”
linux·rpath·固定共享库搜索路径
wbs_scy15 分钟前
仿 muduo 高并发服务器项目:从 timerfd 到时间轮实现定时任务机制
linux·服务器·c++
AI的探索之旅15 分钟前
从 Ubuntu 14.04 到 24.04:TI AM335x 开发环境完整迁移与 Agent 接管方案
linux·数据库·嵌入式硬件·ubuntu·postgresql
@insist12327 分钟前
系统规划与管理师-体系结构/接口/数据/软件定义全解析
大数据·软考·系统规划与管理师·软件水平考试·系统规划与管理工程师
阿pin28 分钟前
Android随笔-pipe是什么?
android·linux·pipe
新e选店长33 分钟前
新e选烤火罩使用相关问题、购买相关问题、售后相关问题。
大数据·科技·物联网·材质·烤火罩
小趴菜え33 分钟前
升级Ubuntu20.04版本至Ubuntu22.04
linux·运维
辰三38 分钟前
统信 UOS + GBase 8s 国产化环境部署实战:从虚拟机到数据库连接完整指南
linux·c#
渣渣盟39 分钟前
Docker 运维常用命令手册(含扩容与实战)
运维·docker·容器