欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

centos7安装elasticsearch

程序员文章站 2022-07-05 07:50:37
...

重要提示,这篇文章是我安装es时候的过程,遇到一个问题,解决一个问题,如果你不想重复操作多次,你可以先选择看完整个文章,将多次修改配置文件合并成第一步

es下载地址

https://www.elastic.co/cn/downloads/elasticsearch

当前选择的是7.15.1

  1. 文件准备
# 下载文件
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.1-linux-x86_64.tar.gz
# 解压
tar -zxvf elasticsearch-7.15.1-linux-x86_64.tar.gz
  1. 启动
# 进入目录
cd elasticsearch-7.15.1
# 启动
bin/elasticsearch
  1. 报错can not run elasticsearch as root
# 新建账户es
useradd es
# 切换到es账户
su es
# 尝试启动
bin/elasticsearch
  1. 报错

java.nio.file.AccessDeniedException: /usr/elasticsearch/elasticsearch-7.15.1/config/jvm.options.d

# 切换到root账户
su root
# 给es账户赋予相关的目录权限
chown -R es /usr/elasticsearch/elasticsearch-7.15.1
# 切换到es账户
su es
# 尝试启动(前台)
bin/elasticsearch
  1. 测试,重新开一个shell
curl localhost:9200
# 出现如下面的字样,则成功
[[email protected] elasticsearch-7.15.1]# curl localhost:9200
{
  "name" : "bogon",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "ZpRwfqIyRBiqLw8Cpzounw",
  "version" : {
    "number" : "7.15.1",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "83c34f456ae29d60e94d886e455e6a3409bba9ed",
    "build_date" : "2021-10-07T21:56:19.031608185Z",
    "build_snapshot" : false,
    "lucene_version" : "8.9.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
  1. 使用其他服务器访问,失败,尝试修改外网访问
# 修改配置文件
# 修改  #network.host: 192.168.0.1  为 network.host: 0.0.0.0
vim config/elasticsearch.yml
# 保存,切换到es账户,尝试启动
  1. 报错

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

# 切换到root账户,修改配置文件
# 去掉下面配置前面的#
# #cluster.initial_master_nodes: ["node-1", "node-2"]
vim config/elasticsearch.yml
# 保存,切换到es账户,尝试启动
  1. 报错

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

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

# 切换到root账户,修改下面文件
vim /etc/security/limits.conf

在文件末尾,添加下面内容

下面内容当中的es是前面创建的es账户

# for elasticsearch
es soft nofile 65536
es hard nofile 65536

修改文件/etc/sysctl.conf

vim /etc/sysctl.conf

在文件末尾添加下面内容

# for elasticsearch
vm.max_map_count=655360

保存,执行

sysctl -p

切换到es账户,尝试启动

如果你是像我一样,直接开启两个shell,一个es账户,一个root账户,这里你是启动不成功的,你需要将es账户退出,重新登陆,上面的配置才会生效,否则,就会像我一样,在这个地方百度10分钟

  1. 测试

在其他电脑上面,访问服务器9200端口,成功出现es信息,成功

  1. 修改后台启动

添加启动参数 -d

bin/elasticsearch -d
  1. 停止es
# 切换到root账户,杀掉es进程
ps -aux | grep elasticsearch
kill -9 [pid]