linux安装es可以分为两种方式安装,容器安装 和 宿主机安装
容器安装
安装docker
yum install -y docker
启动docker
systemctl start docker
修改镜像(下载速度快一些)
vi /etc/docker/daemon.json
修改内容如下
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}
重启docker
systemctl daemon-reload && systemctl restart docker
容器下载elasticsearch镜像
# 这里的 elasticsearch:6.6.0 可以更换其他版本
docker pull elasticsearch:6.6.0
【注】:如果这个时候下载报错了或者不能下载等等错误信息 ,重新运行 docker pull elasticsearch:6.6.0 即可
安装docker
# 如果上面更换版本了的, 这里的 --name elasticsearch 的 elasticsearch 是别名 这里的 elasticsearch:6.6.0 换成你对应的版本
docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -p 9200:9200 -p 9300:9300 elasticsearch:6.6.0
修改配置大小
sysctl -w vm.max_map_count=262144
sysctl -w vm.max_map_count=262144
进入es容器
# 这里的 elasticsearch 是上面安装的时候的别名
docker exec -it elasticsearch /bin/bash
修改配置文件
vi config/elasticsearch.yml
修改内容如下
cluster.name: "elasticsearch"
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
exit 退出容器
exit
关闭防火墙
systemctl stop firewalld
重启es
docker restart elasticsearch
浏览器访问 服务器ip + 9200 端口查看启动是否成功 这里可能有点慢,要稍微等一会儿 (不超过一分钟)
宿主机安装
下载es
到官网下载自己想要的 elasticsearch 版本 后缀名 tar.gz 结尾的
下载地址 下载中心 - Elastic 中文社区 迅雷下载会更快哦
通过rz命令上传到服务器上
这里上传之前我们创建一个文件夹 ,进入文件夹 ,然后通过rz命令上传,【如果没有安装rz命令的话 通过 这个命令安装一下 yum install lrzsz -y 】
解压
tar -zxvf elasticsearch-7.8.1-linux-x86_64.tar.gz
修改配置文件
vi elasticsearch-7.8.1/config/elasticsearch.yml
修改3个地方 ,添加
# http.cors.enabled 开启跨域访问支持,默认为false
# http.cors.allow-origin 跨域访问允许的域名地址,支持用正则,我这里就偷偷懒,直接全部
http.cors.enabled: true
http.cors.allow-origin: "*"
bootstrap.system_call_filter: false
启动es
然后进入 bin目录启动es 【这里我用的是root账户进行启动es ,因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户,如果是root用户启动的话,报错信息如下图】
添加新用户
useradd elasticsearchuser
设置密码
passwd elasticsearchuser
新用户添加权限
chown -R elasticsearchuser:elasticsearchuser /elasticsearch
更换用户
su elasticsearchuser
修改配置文件
【这里修改配置文件要切换成root用户去修改,不然你是修改不成功的哦~~~~】
vi /etc/security/limits.conf
添加如下内容
* soft nofile 65536
* hard nofile 131072
# * 代表Linux所有用户名称
顺便再修改一个文件,不然启动还是会报错滴~~~~
vi /etc/sysctl.conf
# 添加如下内容
vm.max_map_count=655360
然后运行
sysctl -p
修改成功了,
重启服务器
reboot
然后切换成 elasticsearchuser用户
进入bin目录
cd elasticsearch-7.8.1/bin/
启动
./elasticsearch
这里启动的时候我报错了,还得去改一个东西 config/elasticsearch.yml
报错信息如下
所以说还得改,
vi /elasticsearch/elasticsearch-7.8.1/config/elasticsearch.yml
内容如下
cluster.initial_master_nodes: ["node-1"]
重新启动,就ok了
关闭防火墙
systemctl sop firewalld
浏览器访问 服务器ip + 9200 端口查看启动是否成功 这里可能有点慢,要稍微等一会儿 (不超过一分钟)
如果亲们有什么疑问,欢迎下面评论。欢迎指正。如还有什么不懂的加我 QQ:517861659
如果没有及时回复,可以点我先问问AI机器人https://chatgpt.byabstudio.com/login?code=202307011314