centos7安装elasticsearch

本文详细记录了Elasticsearch 7.15.1在Linux上的安装过程,包括下载、解压、启动、解决权限问题、配置外网访问及优化设置。在安装过程中遇到的不能以root用户运行、权限错误、配置文件调整以及系统参数调整等问题逐一解决,最终实现远程访问并确保服务稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

重要提示,这篇文章是我安装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
# 出现如下面的字样,则成功
[root@bogon 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]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值