Elasticsearch7.8.1搭建部署

Elasticsearch环境

  • 环境配置【以下均要在三台服务器执行

    • 集群创建ES用户【root用户】

      useradd elastic
      passwd elastic
      #输入es用户的密码
      userdel -r elastic #如果错了,可以删除再加
      
    • 三台机器配置ES的sudo权限

      
      #100行左右添加:
      elastic ALL=(ALL) NOPASSWD: ALL
      
    • 关闭防火墙

      systemctl stop firewalld
      systemctl disable firewalld
      #查看防火墙状态
      systemctl status firewalld
      
    • 关闭selinux

      vim /etc/selinux/config
      SELINUX=disabled #【把enforcing改为 disabled】
      #查看SELinux状态
      getenforce 
      
    • 修改内核参数

      vim /etc/sysctl.conf
      #添加以下内容
      vm.swappiness=1
      vm.max_map_count=262144
      
      #执行命令使内核参数生效
      sysctl -p
      
    • 修改文件大小限制

      vi /etc/security/limits.d/20-nproc.conf
      
      *          soft    nproc     4096
      
    • 修改三台机器的文件与进程的最大句柄数、虚拟内存大小

      sudo vi /etc/security/limits.conf
      #在文件的末尾添加以下内容,*号不能去掉
      
      * soft nofile 65536 
      * hard nofile 131072 
      * soft nproc 2048 
      * hard nproc 4096
      
      
      #如果你的系统是Centos6,下面两个命令不用执行
      sudo sed -i '/^#DefaultLimitNOFILE=/aDefaultLimitNOFILE=4096' /etc/systemd/system.conf
      sudo sed -i '/^#DefaultLimitNPROC=/aDefaultLimitNPROC=4096' /etc/systemd/system.conf
      
      #永久设置
      sudo vim /etc/sysctl.d/99-sysctl.conf
      vm.max_map_count=262144
      
      #检查是否成功
      sudo sysctl -a | grep "vm.max_map_count"
      

Elasticsearch部署

前置:需要安装jdk

  • 解压
tar -xvf elasticsearch-7.8.1-linux-x86_64.tar.gz -C /opt/app/
cd /opt/app
  • 修改文件用户
chown -R elastic:elastic elasticsearch-7.8.1
  • 配置映射【按照自己习惯,配置方便升级】
ln -s elasticsearch-7.8.1 elasticsearch
chown -R elastic:elastic elasticsearch
  • 切换到elastic用户【后面所有操作没有特别提示,均默认在elastic用户下操作】
#加 - 才能切换到elastic环境 
su - elastic
  • 分发【不成功可以用root用户分发,注意elasticsearch用户喔】
cd /opt/app 
scp -r elasticsearch-7.8.1  node02:$PWD
scp -r elasticsearch-7.8.1  node03:$PWD
  • 修改【root用户】
vim /etc/profile

# ELASTICSEARCH_HOME
export ELASTICSEARCH_HOME=/opt/app/elasticsearch
export PATH=$PATH:$ELASTICSEARCH_HOME/bin

source /etc/profile
  • 创建[三台]
mkdir /opt/app/elasticsearch/data
mkdir /opt/app/elasticsearch/log
  • elasticsearch.yml
cd conf/
vim elasticsearch.yml
#集群名字
cluster.name: elastic-7.8.1

##集群中当前的节点[根据每台服务器修改]
node.name: node-1

#数据目录,配置到指定的分区挂载目录
path.data: /opt/app/elasticsearch/data

#日志目录
path.logs: /opt/app/elasticsearch/log

#当前主机的ip地址及ES服务端口[根据每台服务器修改]
network.host: node01

#WebUI 默认9200
http.port: 7920

#是不是有资格主节点
node.master: true
node.data: true

# head 插件需要这打开这两个配置
#*表示支持所有域名
http.cors.allow-origin: "*"

#是否支持跨域
http.cors.enabled: true
http.max_content_length: 200mb

#linux安装es的一个bug解决的配置
bootstrap.system_call_filter: false
bootstrap.memory_lock: false

#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes:
    - node01
    - node02
    - node03
#es7.x 之后新增的配置,节点发现 【Linux为机器IP地址,根据自己的服务器修改】
discovery.seed_hosts:
    - node01:9300
    - node02:9300
    - node03:9300

  • 分发

    scp -r elasticsearch.yml elastic@192.168.88.152:$PWD
    scp -r elasticsearch.yml elastic@192.168.88.153:$PWD
    
  • 修改上面配置这个 [根据每台服务器修改]

  • 启动

./bin/elasticsearch -d

#web
node01:7920
node02:7920
node03:7920
上一篇:HashMap的实现原理(看这篇就够了)


下一篇:ping 命令详解