前言
ES版本为7.6.2
Elasticsearch 7.6.2 自带 JDK,不需要单独安装 Java。
服务器无须联网
下载
ES官方下载地址
https://www.elastic.co/downloads/past-releases/elasticsearch-7-6-2
安装
移动到服务器中
略
解压
# 解压
tar -xzf elasticsearch-7.6.2-linux-x86_64.tar.gz
# 移动到标准安装目录(推荐)
sudo mv elasticsearch-7.6.2 /usr/local/elasticsearch
创建用户
# 创建 elasticsearch 用户
sudo useradd -r -s /bin/bash -m -d /home/elasticsearch elasticsearch
# 设置密码(可选)
sudo passwd elasticsearch
创建必要目录
# 创建数据和日志目录
sudo mkdir -p /var/lib/elasticsearch
sudo mkdir -p /var/log/elasticsearch
sudo mkdir -p /etc/elasticsearch
# 设置所有权
sudo chown -R elasticsearch:elasticsearch /usr/local/elasticsearch
sudo chown -R elasticsearch:elasticsearch /var/lib/elasticsearch
sudo chown -R elasticsearch:elasticsearch /var/log/elasticsearch
sudo chown -R elasticsearch:elasticsearch /etc/elasticsearch
配置 Elasticsearch
# 复制默认配置到配置目录
sudo cp /usr/local/elasticsearch/config/* /etc/elasticsearch/
sudo chown -R elasticsearch:elasticsearch /etc/elasticsearch/*
修改主配置文件
sudo nano /etc/elasticsearch/elasticsearch.yml
修改或添加以下内容(适合单节点开发环境):
# 集群名称
cluster.name: my-es-application
# 节点名称
node.name: node-1
# 数据和日志路径
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
# 网络设置(允许所有IP访问)
network.host: 0.0.0.0
http.port: 9200
# 单节点发现配置
discovery.seed_hosts: ["127.0.0.1", "[::1]"]
discovery.type: single-node
#如果你是集群,才能设置,否则冲突
#cluster.initial_master_nodes: ["node-1"]
# 关闭安全认证(开发环境)
xpack.security.enabled: false
修改 JVM 内存配置
根据服务器内存调整(建议不超过物理内存50%):
sudo nano /etc/elasticsearch/jvm.options
#设置
-Xms512m
-Xmx512m
有多少内存可以使用free -h查看
设置内存映射限制(ES必需)防止报错锤
# 永久生效
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
修改系统资源限制
sudo nano /etc/security/limits.conf
在文件末尾添加:
elasticsearch soft nofile 65536
elasticsearch hard nofile 65536
elasticsearch soft nproc 4096
elasticsearch hard nproc 4096
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
5.3 设置环境变量
# 编辑用户环境变量
sudo -u elasticsearch nano ~elasticsearch/.bashrc
# 相同的另外的方法
su - elasticsearch -c "nano ~/.bashrc"
export ES_HOME=/usr/local/elasticsearch
export PATH=$PATH:$ES_HOME/bin
创建 Systemd 服务文件
sudo nano /etc/systemd/system/elasticsearch.service
[Unit]
Description=Elasticsearch 7.6.2
Documentation=https://www.elastic.co
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=elasticsearch
Group=elasticsearch
Environment=ES_HOME=/usr/local/elasticsearch
Environment=ES_PATH_CONF=/etc/elasticsearch
WorkingDirectory=/usr/local/elasticsearch
ExecStart=/usr/local/elasticsearch/bin/elasticsearch
Restart=always
RestartSec=10
LimitNOFILE=65536
LimitNPROC=4096
LimitMEMLOCK=infinity
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
启动服务
# 重新加载 systemd
sudo systemctl daemon-reload
# 启动 ES
sudo systemctl start elasticsearch
# 设置开机自启
sudo systemctl enable elasticsearch
# 查看状态
sudo systemctl status elasticsearch
查看日志
# 实时查看日志
sudo journalctl -u elasticsearch -f
# 查看错误日志
sudo tail -f /var/log/elasticsearch/my-es-application.log