最近工作中有用到ES ,当然少不了自己装一个服务器捣鼓。本文的ElasticSearch 的版本:
7.17.3
点此下载
下载完成后上传至 Linux 服务器,本文演示放在: /root/ 下,进行解压:
tar -zxvf elasticsearch-7.17.3-linux-x86_64.tar.gz
ES比较耗内存,建议虚拟机4G或以上内存,jvm1g以上的内存分配。运行Elasticsearch,需安装并配置JDK。 各个版本对Java的依赖
Elasticsearch 7.0开始,内置了Java环境
。ES的JDK环境变量生效的优先级配置顺序ES_JAVA_HOME>JAVA_HOME>ES_HOME
:
ES_JAVA_HOME
:这个环境变量用于指定Elasticsearch使用的Java运行时环境的路径。在启动Elasticsearch时,它会检查ES_JAVA_HOME环境变量并使用其中的Java路径。ES_HOME
:这个环境变量指定Elasticsearch的安装路径。它用于定位Elasticsearch的配置文件、插件和其他相关资源。vim /etc/profile
#设置ES_JAVA_HOME和ES_HOME的路径
export ES_JAVA_HOME=/root/elasticsearch-7.17.3/jdk/
export ES_HOME=/root/elasticsearch-7.17.3
# 保存并退出
#执行以下命令使配置生效
source /etc/profile
修改elasticsearch.yml配置:
cd /root/elasticsearch-7.17.3
vim config/elasticsearch.yml
#开启远程访问
network.host: 0.0.0.0
#单节点模式 初学者建议设置为此模式
discovery.type: single-node
注意
:此文件为yml 格式的配置文件,键和值中间的冒号需要用英文,且中间需要用英文空格隔开,配置项的开头也要用空格隔开,否则在启动es 的时候会报错(如下)
其它一些配置参考:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/important-settings.html
cluster.name
node.name
path.data
path.logs
bootstrap.memory_lock
network.host
http.port
transport.port:
discovery.seed_hosts
cluster.initial_master_nodes
修改es 目录下的 config/jvm.options 配置文件,调整 jvm 对内存大小
cd /root/elasticsearch-7.17.3
vim config/jvm.options
-Xms2g
-Xmx2g
配置建议:
Xms 和 Xmx 设置成一样
Xmx 不要超过机器内存的 50%
不要超过 30GB
关于配置的说明
ES不允许使用root账号启动服务,如果你当前账号是root,则需要创建一个专有账户
创建 es
用户来启动es:
adduser es
passwd es
chown es:es -R /root/elasticsearch-7.17.3
# 切换用户
su es
#输入对应的密码
#启动 ElasticSearch, -d 为后台启动
bin/elasticsearch -d
#切换到root用户
vim /etc/security/limits.conf
末尾添加如下配置:
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
如下图所示:
vim /etc/security/limits.d/20-nproc.conf
# 改为如下配置:
* soft nproc 4096
vim /etc/sysctl.conf
#追加以下内容:
vm.max_map_count=262144
#保存退出之后执行如下命令:
sysctl -p
vim config/elasticsearch.yml
#添加配置
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]
#或者指定配置单节点(集群单节点)
discovery.type: single-node
使用 jps -mlvV
查看Java运行中的进程,看到ES 相关的进程,则标识启动成功!
jps -mlvV
浏览器访问:ip+端口如下: