1.下载

https://www.elastic.co/cn/downloads/past-releases#elasticsearch

下载需要的版本

2.创建目录 并解压文件

mkdir -p /opt/es
cd /opt/es
# 上传文件  
tar -zxvf elasticsearch-7.6.1-xxx  #解压文件

3.创建用户 编辑配置

useradd es
chown -R es /opt/es #赋予权限   将/opt/es下的所有文件设置为es拥有


cd /opt/es/elasticsearch-7.6.1/
vim /config/elasticsearch.yml


找到 Network ,修改下面的项目,重新启动即可。

network.host: 0.0.0.0


0.0.0.0表示任何地址都可以访问,也可以根据实际修改为自定的ip地址

4.启动服务

在elasticsearch主目录,运行命令:bin/elasticsearch

后台启动命令,命令行退出后仍可运行: bin/elasticsearch -d

访问地址:ip为es安装的虚拟机ip,端口默认9200

5.报错处理

1. max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

这个错误,是linux下常见的错误,主要是因为linux会限制进程的最大打开文件数,

可通过下面2个命令查看当前数量

ulimit -Hn

ulimit -Sn

只需要按照下面的配置修改一下即可解决:

首先切换到 root 用户

su root

输入密码,然后编辑下面文件

vi /etc/security/limits.conf

修改/etc/security/limits.conf文件,在文件末尾添加以下内容,用户退出后重新登录生效

  • soft nofile 65536

  • hard nofile 65536

2. [2]:max number of threads [3818] for user [es] is too low, increase to at least [4096]

可通过命令查看

ulimit -Hu

ulimit -Su

问题同上,最大线程个数太低。修改配置文件/etc/security/limits.conf, 增加配置

  • soft nproc 4096

  • hard nproc 4096

3.[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

这个是ES使用的最大虚拟机内存太小,直接调大即可,在 root 用户下执行下面命令:

sysctl -w vm.max_map_count=262144

也可以如下修改配置

vi /etc/sysctl.conf

sysctl -p #执行命令sysctl -p生效

增加配置vm.max_map_count=262144

4.[3]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

设置在集群中的所有节点名称,这个节点名称就是之前所修改的,当然你也可以采用默认的也行,目前是单机,放入一个节点即可

注意这里,如果目前是单节点的话,一定要修改该值为节点的名称,否则虽然启动成功了,但是通过curl命令向elasticsearch服务中新增数据时,会出现 “master_not_discovered_exception"错误

还是找到 config/elasticsearch.yml 文件,编辑,找到Discovery 配置附近,修改:

取消注释,并修改属性

节点ip: discovery.seed_hosts: [“192.168.56.101”]

节点名称: cluster.initial_master_nodes: [“node-101-master”]

注, 修改后需要从新登陆当前用户才能生效

6.添加密码

在elasticsearch.yml 配置文件中去除

discovery.seed_hosts 和cluster.initial_master_nodes. 
然后添加discovery.type: single-node


es的bin目录下,执行设置用户名和密码的命令

./elasticsearch-setup-passwords interactive


elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.


用户是elastic 密码是设置的密码