1、下载ElasticSearch8.2.3的linux版本的压缩包文件
Download Elasticsearch | Elastic
选择Linux版本后点击下载按钮。下载后是一个elasticsearch-8.12.2-linux-x86_64.tar.gz文件夹。
上传后解压
tar -zxvf elasticsearch-8.12.2-linux-x86_64.tar.gz
2. ES 目录介绍
- bin:可执行文件在里面,运行es的命令就在这个里面,包含了一些脚本文件等
- config:配置文件目录
- JDK:java环境
- lib:依赖的jar,类库
- logs:日志文件
- modules:es相关的模块
- plugins:可以自己开发的插件
- data:这个目录没有,自己新建一下,后面要用 -> mkdir data,这个作为索引目录
3. 修改核心配置文件 elasticearch.yml
- 修改集群名称为my-elasticsearch,默认是my-application,虽然目前是单机,但是也会有默认的
- 为当前的es节点取个名称,名称随意,如果在集群环境中,都要有相应的名字
- 修改data数据保存地址
- 修改日志数据保存地址
- 绑定es网络ip,原理同redis
- 默认端口号,可以自定义修改
- 集群节点,名字可以先改成之前的那个节点名称
- 在启动Elasticsearch之前,在任何单个节点上使用
elasticsearch-certutil
工具 为你的集群生成CA。
./bin/elasticsearch-certutil ca
当出现提示时,接受默认文件名,即 elastic-stack-ca.p12
。这个文件包含您CA的公共证书和用于为每个节点签名证书的私钥。
为您的CA输入密码。您可以选择不输入密码 如果你没有部署到生产环境。
- 在任意一个节点上,为其中的节点生成证书和私钥 您的集群。您包括
elastic-stack-ca.p12
输出文件 在上一步生成。
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
修改配置文件 elasticearch.yml,添加下面的配置:
xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.client_authentication: required xpack.security.transport.ssl.keystore.path: elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
- ES开启跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
- 修改Elasticsearch使用自带的JDK配置:
修改ES目录下bin目录下面的elasticsearch文件
cd /home/0-software/2-elasticsearch/elasticsearch-8.12.2/bin/
vim elasticsearch
在文件第二行位置开始添加如下内容:
export JAVA_HOME=/home/0-software/2-elasticsearch/elasticsearch-8.12.2/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar
此内容告诉当前的应用使用此临时环境变量,而不使用/ect/profile内的环境变量,这样就可以重新定义使用ES自带的JDK了。
- 修改/etc/sysctl.conf,增加虚拟内存区域的最大数量 vm.max_map_count=262144
vm.max_map_count=262144
4. 修改JVM参数
默认xms和xmx都是4g,虚拟机内存没这么大,修改一下即可
- 防火墙开放以下端口:
firewall-cmd --permanent --add-port=9200/tcp
firewall-cmd --permanent --add-port=9300/tcp
firewall-cmd --reload
5. 添加用户
ES不允许使用root操作es,需要添加用户,操作如下:
useradd esuser
chown -R esuser:esuser /home/0-software/2-elasticsearch/elasticsearch-8.12.2/
su esuser
whoami
6. 启动ES
./elasticsearch
后台运行ES
./elasticsearch -d
如果出现如下错误:
那么需要切换到root用户下去修改配置如下:
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
别忘记 sysctl -p 刷新一下
修改配置文件后,再次启动。
最后再次启动OK
- 设置密码:
./elasticsearch-setup-passwords interactive
7. 测试
访问你的虚拟机ip+端口号9200,如下则表示OK
停止es
如果是前台启动,直接ctrl+c就可以停止
后台启动:
./elasticsearch -d
停止杀进程:
端口号意义
- 9200:Http协议,用于外部通讯
- 9300:Tcp协议,ES集群之间是通过9300通讯
ElasticSearch插件安装
1、Multi Elasticsearch Head
安装完成之后打开插件是这样的