Elasticsearch 在 Linux 系统下的安装(开机自启)
1. 准备工作
1.1 检查 es 用户是否存在
id es
如果用户不存在,会提示错误。
1.2 创建 es 用户
adduser es
1.3 设置 es 用户密码
passwd es
2. 下载 Elasticsearch
访问 Elasticsearch 旧版本下载页面,选择 elasticsearch-7.14.0 版本,并下载对应的 .tar.gz 文件。
3. 安装 Elasticsearch
3.1 上传安装包到 /opt/es
将下载的 .tar.gz 文件上传到 /opt/es 目录。
cd /opt/es/
ls
3.2 解压安装包
tar -xzvf elasticsearch-7.14.0-linux-x86_64.tar.gz
3.3 编辑配置文件
进入配置文件目录:
cd elasticsearch-7.14.0/config
编辑 elasticsearch.yml:
vi elasticsearch.yml
修改以下配置:
• 节点名称:
node.name: node-1
• 数据存储路径:
path.data: /opt/es/elasticsearch-7.14.0/data
• 日志存储路径:
path.logs: /opt/es/elasticsearch-7.14.0/logs
• 绑定地址:
network.host: 0.0.0.0
• HTTP端口:
http.port: 9200
• 集群主节点:
cluster.initial_master_nodes: ["node-1"]
允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
安全设置 (关闭身份认证)
xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false
3.4 创建数据目录
mkdir -p /opt/es/elasticsearch-7.14.0/data
3.5 设置目录权限
cd /opt/es/
chown -R es:es elasticsearch-7.14.0
3.6 启动 Elasticsearch
切换到 es 用户:
su es
cd /opt/es/elasticsearch-7.14.0/bin/
后台启动
./elasticsearch -d
检查进程
ps -ef | grep elasticsearch
打开浏览器,访问 http://<服务器IP>:9200,确认 Elasticsearch 启动成功。
- 常见问题解决
4.1 目录权限不足
数据和日志目录需要设置为 es 用户权限,如果权限不足,可以执行以下命令:
chown -R es:es /opt/es/elasticsearch-7.14.0
4.2 虚拟内存不足
如果出现错误 max virtual memory areas vm.max_map_count [65530] is too low,执行以下步骤:
编辑 /etc/sysctl.conf 文件:
vi /etc/sysctl.conf
添加或修改以下配置:
vm.max_map_count=262144
应用生效:
sysctl -p
5 开机自启
可以使用脚本的方式来实现 Elasticsearch 的开机自启。以下是一些常见的方式来实现 Elasticsearch 的开机启动:
- 使用 rc.local 脚本
你可以将 Elasticsearch 的启动命令加入 /etc/rc.local 文件中,使其在系统启动时自动执行。
步骤:
- 编辑 /etc/rc.local 文件(如果文件不存在,则创建它):
sudo nano /etc/rc.local
- 在文件的末尾添加 Elasticsearch 的启动命令:
su - es -c '/opt/es/elasticsearch-7.14.0/bin/elasticsearch -d'
其中 -d 是后台运行参数,以es用户执行。
- 确保 rc.local 脚本是可执行的:
sudo chmod +x /etc/rc.local
- 验证 /etc/rc.local 的执行情况:
重启系统后,你可以通过查看进程来确认 Elasticsearch 是否启动:
ps -ef | grep elasticsearch