- 进入官网
- 下载对应版本的安装包,8.x版本对应的java版本是17,7.x对应的版本是8,如果服务器上配置的有jdk,ES会优先访问服务器的jdk,但是如果版本不对,会报错,如果服务器上没有jdk,则会访问自身的jdk。
- 将下载好的压缩包上传到服务器目录,进行解压
tar -zxvf elasticsearch-7.17.6-linux-x86_64.tar.gz
- 将压缩包移动到/usr/local目录,并进入目录
mv elasticsearch-7.17.6 /usr/local/
es-目录介绍
- bin:可执行文件在里面,运行es的命令就在这个里面,包含了一些脚本文件等
- config:配置文件目录
- JDK:java环境
- lib:依赖的jar,类库
- logs:日志文件
- modules:es相关的模块
- plugins:可以自己开发的插件
- data:这个目录没有,自己新建一下,后面要用 -> mkdir data,这个作为索引目录
修改核心配置文件-elasticearch.yml
-
修改集群名称,默认是elasticsearch,虽然目前是单机,但是也会有默认的
-
为当前的es节点取个名称,名称随意,如果在集群环境中,都要有相应的名字
-
修改data数据保存地址
-
修改日志数据保存地址
-
绑定es网络ip,原理同redis
-
默认端口号,可以自定义修改
-
集群节点,名字可以先改成之前的那个节点名称
修改jvm.options参数
默认xms和xmx都是4g,如果内存没这么大,修改一下即可,如果内存足够,可以不做修改
添加用户
ES不允许使用root操作es,需要添加用户,否则会抛出异常
- 需要添加新的用户,并赋予对应权限
useradd esuser
chown -R esuser:esuser /usr/local/elasticsearch-7.4.2
启动es
./elasticsearch
如果出现如下错误:
那么需要切换到root用户下去修改配置如下:
vim /etc/security/limits.conf
在最后添加
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
vim /etc/sysctl.conf
在最后添加
vm.max_map_count=262145
sysctl -p 刷新一下
再次启动,访问9200端口
停止服务
前台启动,直接ctrl+c 即可
后台启动
./elasticsearch -d
通过lsof -i:9200查询pid,然后使用kill -9 pid 杀掉进程即可
开启跨域
http.cors.enable: true
http.cors.allow-origin: *
端口号意义
9200:Http协议,用于外部通讯
9300:Tcp协议,ES集群之间是通过9300通讯