最近工作中有用到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.namenode.namepath.datapath.logsbootstrap.memory_locknetwork.hosthttp.porttransport.port:discovery.seed_hostscluster.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+端口如下:
