Linux安装ElasticSearch

本文详细介绍如何从官网下载并上传Elasticsearch至Linux服务器,通过解压及配置启动ES,解决常见问题如JVM内存不足、max_map_count及maxfiledescriptors过小、公网IP访问限制等,确保ES运行正常。

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

1、官网下载需要版本的ES,地址:https://www.elastic.co/downloads/elasticsearch

2、上传到Linux服务器,解压 tar -zxvf xxxxx

3、进入ES目录,bin/elasticsearch启动ES

4、遇到的问题:

1. JVM虚拟机内存不足
  • 错误:“JavaHotSpot™ 64-Bit Server VM warning: INFO: error=‘Cannotallocate memory’ (errno=12)”表示内存不足,其配置文件为config目录下的jvm.options,默认为2g,可以修改为1g。
2. max_map_count过小
  • max virtual memory areas vm.max_map_count [65530]is too low, increase to at least [262144]
  • 解决方法是修改/etc/sysctl.conf配置文件,添加vm.max_map_count=262144,记得需要重启机器才起作用
    在这里插入图片描述
3. max file descriptors过小
  • max file descriptors [65535] for elasticsearchprocess is too low, increase to at least [65536]
  • 解决方法是修改/etc/security/limits.conf文件,添加“* - nofile65536 * - memlock unlimited”,“*”表示给所有用户起作用,修改后的配置如下图所示:
    在这里插入图片描述
4. 公网IP:9200访问不了
  • 修改elasticsearch.yml修改network.host为0.0.0.0

5、启动成功后访问IP:9200返回结果

在这里插入图片描述

6、注意事项:

  • 管理员Root用户不能启动ES, 新创建用户
    • useradd xxx
    • passwd xxx
    • su xxx
    • chown xxx 777 /es目录
### 如何在 Linux 系统中安装 Elasticsearch #### 下载并解压 Elasticsearch 可以通过下载 Elasticsearch 的压缩包来完成安装。访问官方文档中的说明,可以从存档文件手动安装 Elasticsearch[^1]。 ```bash wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.0-linux-x86_64.tar.gz tar -xzf elasticsearch-7.17.0-linux-x86_64.tar.gz cd elasticsearch-7.17.0/ ``` #### 验证软件包的安全性 为了确保安装过程更加安全,在安装之前导入 GPG 密钥以验证 Elasticsearch 软件包的来源和完整性[^2]: ```bash rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch ``` 此命令会将 Elastic 提供的公钥导入到系统中,从而允许 RPM 或其他工具验证签名。 #### 使用 Docker 容器运行 Elasticsearch 如果希望利用容器化技术简化部署流程,可以借助 Docker 来启动 Elasticsearch 实例。通过挂载配置文件的方式实现自定义设置[^3]: ```dockerfile docker run -d \ --name elasticsearch \ -p 9200:9200 \ -p 9300:9300 \ -e "discovery.type=single-node" \ -v /usr/local/docker/es/data:/usr/share/elasticsearch/data \ -v /usr/local/docker/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ elasticsearch:7.17.0 ``` 上述脚本展示了如何创建一个单节点模式下的 Elasticsearch 容器实例,并绑定必要的端口和服务路径。 #### 停止与重启服务 当需要停止正在运行的服务时,可通过查询进程 ID 并发送终止信号的方法操作。例如,先找到对应的进程编号再执行强制关闭指令[^4]: ```bash ps -ef | grep elasticsearch kill -9 <PID> ``` 这里 `<PID>` 是指代实际获取到的那个数值型进程标识符。 --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值