es部署
1. 环境要求
- 操作系统:Linux (CentOS/RHEL/Ubuntu)
- JDK版本:内置OpenJDK
- 最小内存:4GB (推荐8GB以上)
- 硬盘空间:至少10GB可用空间
2. 基础安装
2.1 获取安装包
# 下载地址
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.1-linux-x86_64.tar.gz
# 或从官网下载
浏览器访问:https://www.elastic.co/cn/downloads/elasticsearch
2.2 安装步骤
# 上传至指定目录
cd /usr/local
# 解压安装包
tar -zxvf elasticsearch-7.5.1-linux-x86_64.tar.gz
# 创建数据目录
mkdir -p /usr/local/elasticsearch-7.5.1/data
2.3 目录结构说明
| 目录 | 说明 |
|---|---|
| bin | 可执行文件目录,包含启动脚本 |
| config | 配置文件目录 |
| JDK | 内置Java运行环境 |
| lib | 依赖库文件 |
| logs | 日志文件目录 |
| modules | ES核心模块 |
| plugins | 插件目录 |
| data | 数据存储目录(需手动创建) |
3. 系统配置
3.1 创建用户和权限
# 创建ES专用用户
useradd es
# 设置目录权限
chown -R es:es /usr/local/elasticsearch-7.5.1
# 切换用户
su - es
3.2 系统参数优化
编辑 /etc/security/limits.conf:
# 添加以下配置
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
编辑 /etc/sysctl.conf:
# 添加以下配置
vm.max_map_count=262145
# 使配置生效
sysctl -p
4. 基础配置
4.1 配置 elasticsearch.yml
# 集群配置
cluster.name: test-elasticsearch # 集群名称
node.name: es-node0 # 节点名称
# 路径配置
path.data: /usr/local/elasticsearch-7.5.1/data
path.logs: /usr/local/elasticsearch-7.5.1/logs
# 网络配置
network.host: 0.0.0.0 # 监听地址
http.port: 9200 # HTTP端口
# 安全配置 (6.8.x版本)
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.license.self_generated.type: basic
# 集群配置
discovery.seed_hosts: ["192.168.1.100"]
cluster.initial_master_nodes: ["es-node0"]
4.2 配置 jvm.options
# JVM堆内存配置(建议为系统内存的一半,不超过32GB)
-Xms1g
-Xmx1g
5. 安全配置
5.1 设置初始密码
# 重启服务
systemctl restart elasticsearch
# 进入bin目录
cd /usr/local/elasticsearch-7.5.1/bin
# 交互式设置密码
./elasticsearch-setup-passwords interactive
5.2 修改密码
# 修改elastic用户密码
curl -XPUT -u elastic:OLD_PASSWORD 'http://localhost:9200/_security/user/elastic/_password' \
-H "Content-Type: application/json" \
-d '{
"password": "NEW_PASSWORD"
}'
6. IK分词器安装
6.1 下载安装
# 创建插件目录
mkdir -p /usr/share/elasticsearch/plugins/ik
# 下载IK分词器
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.23/elasticsearch-analysis-ik-6.8.23.zip
# 解压到插件目录
unzip elasticsearch-analysis-ik-6.8.23.zip -d /usr/share/elasticsearch/plugins/ik/
# 设置权限
chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/plugins/ik/
6.2 配置词典
# 编辑IK配置文件
vim /usr/share/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml
添加自定义词典:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<entry key="ext_dict">custom/mydict.dic</entry>
</properties>
7. 启动和验证
7.1 启动服务
# 启动ES
./bin/elasticsearch -d
# 检查服务状态
curl -u elastic:YOUR_PASSWORD http://localhost:9200
7.2 验证分词器
# 测试IK分词器
curl -X POST -u elastic:YOUR_PASSWORD "localhost:9200/_analyze" -H 'Content-Type: application/json' -d'
{
"analyzer": "ik_max_word",
"text": "中华人民共和国"
}
'
8. 维护建议
-
定期维护
- 检查日志文件
- 监控系统资源
- 定期备份数据
-
安全加固
- 修改默认密码
- 限制访问IP
- 定期更新版本
-
性能优化
- 适当调整JVM参数
- 优化系统配置
- 监控性能指标
提醒:本文档中的所有密码、IP地址都是示例,实际部署时请使用安全的密码和实际的服务器地址。
注:本文整合了ES的安装、安全配置和IK分词器安装的完整流程,适合作为部署参考手册。建议在测试环境验证后再应用到生产环境。