当前位置: 首页 > news >正文

Ubuntu 上安装 Elasticsearch 7.6.0

要在 Ubuntu 24.04 上安装 Elasticsearch 7.6.0,可以按照以下步骤进行:


步骤 1: 更新系统依赖

确保系统是最新的,并安装必要的依赖包:

sudo apt update
sudo apt upgrade -y
sudo apt install -y apt-transport-https openjdk-11-jdk wget

步骤 2: 导入 Elasticsearch 的 GPG 密钥

Elasticsearch 的 APT 存储库需要 GPG 签名验证。运行以下命令导入密钥:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

步骤 3: 添加 Elasticsearch 的 APT 存储库

创建一个文件 /etc/apt/sources.list.d/elastic-7.x.list,并添加以下内容:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list

更新 APT 缓存:

sudo apt update

步骤 4: 下载并安装 Elasticsearch 7.6.0

直接安装 Elasticsearch:

sudo apt install elasticsearch=7.6.0

验证安装是否成功:

dpkg -l | grep elasticsearch

步骤 5: 配置 Elasticsearch

  1. 编辑主配置文件:
    sudo nano /etc/elasticsearch/elasticsearch.yml
    
  2. 配置示例:
    • 设置网络绑定地址:
      network.host: 0.0.0.0
      
    • 配置集群名称(可选):
      cluster.name: my-cluster
      
    • 配置节点名称(可选):
      node.name: node-1
      

步骤 6: 启动和启用 Elasticsearch 服务

  1. 启动服务:
    sudo systemctl start elasticsearch
    
  2. 设置开机自启:
    sudo systemctl enable elasticsearch
    

验证服务状态:

sudo systemctl status elasticsearch

步骤 7: 验证 Elasticsearch 是否正常运行

使用 curl 命令验证:

curl -X GET "localhost:9200/"

输出示例:

{"name" : "node-1","cluster_name" : "my-cluster","cluster_uuid" : "xxxxxxxxxx","version" : {"number" : "7.6.0",...}
}

注意事项

  • 内存配置: 如果需要调整 Elasticsearch 使用的内存,可以编辑 JVM 配置文件 /etc/elasticsearch/jvm.options

    sudo nano /etc/elasticsearch/jvm.options
    

    修改以下选项,将 2g 替换为合适的内存值(例如 1g):

    -Xms2g
    -Xmx2g
    
  • 防火墙配置: 如果希望远程访问 Elasticsearch,需要确保防火墙允许端口 9200

    sudo ufw allow 9200
    
  • 生产环境建议: 默认情况下,Elasticsearch 仅允许本地访问。生产环境中应通过安全配置(如 HTTPS 和身份认证)保护服务。


完成这些步骤后,您应该能够成功在 Ubuntu 24.04 上安装和配置 Elasticsearch 7.6.0。如有问题,请提供错误信息以便进一步帮助!

这个错误表明你正在尝试运行 Elasticsearch,而不是 ZooKeeper,且遇到了与生产模式相关的配置问题。Elasticsearch 在生产模式下需要设置集群发现和主节点的相关配置。

以下是解决方法:


1. 错误原因

在生产模式下,Elasticsearch 强制要求以下配置项之一:

  • discovery.seed_hosts:指定集群内其他节点的地址。
  • discovery.seed_providers:用于动态发现其他节点。
  • cluster.initial_master_nodes:指定集群初始化时的主节点列表。

如果未配置这些参数,Elasticsearch 将无法启动。


2. 解决方法

(1) 修改 Elasticsearch 配置文件

编辑 Elasticsearch 的配置文件 elasticsearch.yml

sudo nano /etc/elasticsearch/elasticsearch.yml

在文件中添加或修改以下内容:

  • 如果是单节点开发环境:

    cluster.name: my-cluster
    node.name: node-1
    network.host: 0.0.0.0
    discovery.type: single-node
    

    解释

    • discovery.type: single-node 告诉 Elasticsearch 以单节点模式运行,适用于开发环境或非分布式部署。
  • 如果是多节点集群环境:

    cluster.name: my-cluster
    node.name: node-1
    network.host: 0.0.0.0
    discovery.seed_hosts: ["node-1-ip", "node-2-ip"]
    cluster.initial_master_nodes: ["node-1", "node-2"]
    

    解释

    • discovery.seed_hosts 列出集群中其他节点的 IP 地址或主机名。
    • cluster.initial_master_nodes 列出初始化集群时的主节点。
(2) 保存并重启 Elasticsearch

保存文件后,重启 Elasticsearch:

sudo systemctl restart elasticsearch

3. 验证

检查 Elasticsearch 是否启动成功:

sudo systemctl status elasticsearch

或者使用 curl 测试:

curl -X GET "localhost:9200/"

正常情况下会返回类似以下信息:

{"name" : "node-1","cluster_name" : "my-cluster","cluster_uuid" : "_na_","version" : {"number" : "8.x.x",...},"tagline" : "You Know, for Search"
}

4. 生产模式下的额外配置

如果这是生产环境,请确保:

  • JVM 内存配置:调整 /etc/elasticsearch/jvm.options 中的 -Xms-Xmx 参数,例如:
    -Xms2g
    -Xmx2g
    
  • 防火墙规则:确保允许外部访问的端口(默认是 92009300)。
  • 安全性配置:在生产环境中启用 TLS 和认证。

通过这些配置,你应该能够成功启动 Elasticsearch。

http://www.lryc.cn/news/537503.html

相关文章:

  • Android ListPreference使用
  • Java 大视界 -- 绿色大数据:Java 技术在节能减排中的应用与实践(90)
  • 计算四个锚点TOA定位中GDOP的详细步骤和MATLAB例程
  • 英码科技基于昇腾算力实现DeepSeek离线部署
  • CTex安装和使用(1)
  • Oracle序列(基础操作)
  • Unity Shader Graph 2D - Procedural程序化图形循环的箭头
  • 4、C#基于.net framework的应用开发实战编程 - 测试(四、二) - 编程手把手系列文章...
  • Windows搭建CUDA大模型Docker环境
  • 【前端进阶】「全面优化前端开发流程」:利用规范化与自动化工具实现高效构建、部署与团队协作
  • Linux入侵检查流程
  • Ubuntu24.04无脑安装docker(含图例)
  • 简述下什么是伪元素什么是伪类
  • 【C++】基础入门(详解)
  • Base64 PDF解析器
  • ZOJ 1011 NTA
  • 使用 GPT-SoVITS 克隆声音,很详细
  • Flask和Django相比哪个更适合新手?
  • 2. 图片性能优化
  • 多模态本地部署和ollama部署Llama-Vision实现视觉问答
  • cuML机器学习GPU库
  • 机器学习数学基础:24.随机事件与概率
  • CAS单点登录(第7版)27.开发人员
  • DeepSeek+即梦 做AI视频
  • OpenMetadata 获取 MySQL 数据库表血缘关系详解
  • 计算机组成原理—— 总线系统(十二)
  • 详解如何使用Pytest内置Fixture tmp_path 管理临时文件
  • Banana Pi OpenWRT One 官方路由器的第一印象
  • Golang GORM系列:GORM事务及错误处理
  • NLLB 与 ChatGPT 双向优化:探索翻译模型与语言模型在小语种应用的融合策略