《Elasticsearch 安装与配置》
Elasticsearch 是基于 Lucene 的分布式搜索和分析引擎。本文基于 5.x 记录在 Debian 上的 tar.gz 方式安装、普通用户启动、端口与监听地址修改,以及常见的 vm.max_map_count 启动报错处理。
1 安装前准备
Elasticsearch 依赖 Java 8 环境,先确认 java -version 是否正确。ES 5.x 建议使用 JDK 1.8。
从镜像站下载安装包(示例为华为云镜像):
wget https://mirrors.huaweicloud.com/elasticsearch/5.5.3/elasticsearch-5.5.3.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.5.3-linux-x86_64.tar.gz
重要:下载前先创建 ES 普通用户,并切换到该用户之后再下载解压,避免目录权限问题(ES 不能以 root 运行)。
2 解压并创建普通用户
tar zxf elasticsearch-5.5.3.tar.gz
# es 不能以 root 权限启动,因此需要添加用户(一路回车即可)
adduser es
# 将 Java 环境配置写入 es 用户的 bashrc
# 注意:不要直接执行脚本,否则 PATH 会被覆盖,因此手动追加
cat >> /home/es/.bashrc <<EOF
# java env
export JAVA_HOME=/usr/local/java/jdk1.8.0_221
export JRE_HOME=\$JAVA_HOME/jre
export CLASSPATH=\$CLASSPATH:\$JAVA_HOME/lib:\$JRE_HOME/lib
export PATH=\$PATH:\$JAVA_HOME/bin:\$JRE_HOME/bin
EOF
3 启动与健康检查
cd /home/es/elasticsearch-5.5.3
su es
# 前台启动(便于观察日志)
./bin/elasticsearch
# 后台启动
./bin/elasticsearch -d
宿主机上检查集群健康状态:
curl http://127.0.0.1:9200/_cluster/health?pretty
# {
# "cluster_name" : "elasticsearch",
# "status" : "green",
# ...
# }
4 修改监听地址与端口
默认监听 9200 端口。某些环境有限制(如只允许开放 8000~9000 端口),可修改配置文件:
vi config/elasticsearch.yml
network.host: <SERVER_IP>
http.port: 9200
修改后重新启动,用新地址验证:
curl http://127.0.0.1:9200/_cluster/health?pretty
curl http://<SERVER_IP>:9200/_cluster/health?pretty
启动常用参数参考:
-E <KeyValuePair> Configure a setting
-V, --version Prints elasticsearch version information and exits
-d, --daemonize Starts Elasticsearch in the background
-h, --help show help
-p, --pidfile <Path> Creates a pid file in the specified path on start
-q, --quiet Turns off standard output/error streams logging in console
-s, --silent show minimal output
-v, --verbose show verbose output
5 启动 Kibana(可选)
tar zxf kibana-5.5.3-linux-x86_64.tar.gz
cd kibana-5.5.3-linux-x86_64-linux-x86_64
# 修改配置文件 config/kibana.yml
# elasticsearch.url: "http://127.0.0.1:9200"
# server.port: 5601
# 默认只监听 localhost,需要改成本机 IP 才能远程访问
# server.host: "<SERVER_IP>"
# 前台启动
./bin/kibana
# 后台启动
nohup ./bin/kibana > info.log 2> error.log &
6 常见问题
6.1 max virtual memory areas vm.max_map_count is too low
启动报错:
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
原因:Linux 最大虚拟内存映射数过小。
查看与解决:
sysctl -a | grep vm.max_map_count
# vm.max_map_count = 65530
sysctl -w vm.max_map_count=655360
容器环境内可能无法调整,需要到宿主机执行该命令。
参考文档
阅读 —
·
全站 —