Elasticsearch(二)安装部署_elasticsearch安装
一、环境准备
Java 环境
Elasticsearch 依赖 Java,建议安装 JDK 17 或更高版本(Elasticsearch 7.x+ 要求 JDK 11+)。
检查 Java 版本
java -version
📌 Elasticsearch 自 7.0 版本起内置了 OpenJDK,无需单独安装。但如需自定义 JDK,可设置 JAVA_HOME。
二、安装 Elasticsearch
- 下载并解压
# 下载最新版(以 8.13.4 为例)wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.13.4-linux-x86_64.tar.gz# 解压tar -zxvf elasticsearch-8.13.4-linux-x86_64.tar.gzmv elasticsearch-8.13.4 /usr/local/elasticsearch
- 系统配置
修改文件描述符限制:
编辑 /etc/security/limits.conf,添加:
* soft nofile 65535* hard nofile 65535elasticsearch soft memlock unlimitedelasticsearch hard memlock unlimited
修改虚拟内存区域限制:
编辑 /etc/sysctl.conf,添加:
vm.max_map_count=262144
执行 sysctl -p 生效。
3. 创建专用用户(Elasticsearch 不允许以 root 运行)
useradd elasticsearchchown -R elasticsearch:elasticsearch /usr/local/elasticsearch
三、配置 Elasticsearch
- 修改配置文件 config/elasticsearch.yml
# 集群名称(同一集群需一致)cluster.name: my-cluster# 节点名称node.name: node-1# 数据存储路径path.data: /var/data/elasticsearch# 日志存储路径path.logs: /var/log/elasticsearch# 绑定 IP(允许外部访问)network.host: 0.0.0.0# HTTP 端口http.port: 9200# 集群初始主节点(单节点时配置)discovery.seed_hosts: [\"127.0.0.1\"]cluster.initial_master_nodes: [\"node-1\"]# 启用安全功能(8.x 默认开启)xpack.security.enabled: true
- 配置 JVM 参数(可选)
编辑 config/jvm.options,调整堆内存(建议不超过物理内存的 50%):
-Xms2g-Xmx2g
四、启动 Elasticsearch
# 切换用户su - elasticsearch# 前台启动(测试用)cd /usr/local/elasticsearchbin/elasticsearch# 后台启动bin/elasticsearch -d
使用 Systemd 管理服务(推荐)
创建文件 /etc/systemd/system/elasticsearch.service:
[Unit]Description=ElasticsearchAfter=network.target[Service]User=elasticsearchGroup=elasticsearchExecStart=/usr/local/elasticsearch/bin/elasticsearchRestart=alwaysLimitNOFILE=65535LimitMEMLOCK=infinity[Install]WantedBy=multi-user.target
启动并设置开机自启:
systemctl daemon-reloadsystemctl start elasticsearchsystemctl enable elasticsearch
五、验证安装
访问 http://服务器IP:9200,返回如下 JSON 即成功:
{ \"name\" : \"node-1\", \"cluster_name\" : \"my-cluster\", \"version\" : { \"number\" : \"8.13.4\", \"build_flavor\" : \"default\", \"build_type\" : \"tar\", \"build_hash\" : \"xxxxxxxx\", \"build_date\" : \"2023-XX-XX\", \"build_snapshot\" : false, \"lucene_version\" : \"9.10.0\", \"minimum_wire_compatibility_version\" : \"7.17.0\", \"minimum_index_compatibility_version\" : \"7.0.0\" }, \"tagline\" : \"You Know, for Search\"}
六、安全配置(8.x 必选)
生成密码(首次启动后):
# 自动生成所有内置用户密码(记录输出的密码)bin/elasticsearch-setup-passwords auto# 或手动设置密码bin/elasticsearch-reset-password -u elastic
访问时添加认证:
curl -u elastic:密码 http://localhost:9200
七、常见问题
1.无法连接 9200 端口
检查防火墙:开放 9200 端口。
firewall-cmd --add-port=9200/tcp --permanentfirewall-cmd --reload
确保 network.host 配置正确
2.启动时报内存不足
调整 config/jvm.options 中的 -Xms 和 -Xmx 值。
3.节点无法加入集群
检查 discovery.seed_hosts 和 cluster.initial_master_nodes 配置。
八、扩展插件
Kibana:可视化工具,需单独安装。
IK 分词器:中文分词插件。
bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.13.4/elasticsearch-analysis-ik-8.13.4.zip
按照以上步骤,即可完成 Elasticsearch 的安装与基础配置。生产环境建议参考官方文档调整优化参数。