Elasticsearch

发布于:2025-09-04 ⋅ 阅读:(11) ⋅ 点赞:(0)

第一部分:安装 Elasticsearch 6.8.23

步骤 1: 准备工作
  1. 确认环境

    bash

    uname -m    # 确认是 aarch64
    java -version # 确认是 JDK 1.8.x
  2. 安装基础工具

    bash

    sudo apt update
    sudo apt install -y wget curl tar vim sudo
  3. 创建专用用户 (Elasticsearch 不允许以 root 运行):

    bash

    sudo groupadd elasticsearch
    sudo useradd -m -g elasticsearch -s /bin/bash elasticsearch
    sudo passwd elasticsearch # 为其设置一个密码
步骤 2: 下载并安装 Elasticsearch
  1. 下载 ARM64 兼容的发布包。这是一个难点,因为官方不直接提供老版本的 ARM 包。您可能需要从第三方镜像或构建中获取。这里假设您已找到 elasticsearch-6.8.23.tar.gz 的 aarch64 版本。

    bash

    # 创建一个安装目录
    sudo mkdir -p /usr/share/elasticsearch
    cd /tmp
    
    # 假设您已经将包下载到服务器,使用 wget 或 scp 上传
    # wget https://example.com/path/to/elasticsearch-6.8.23-aarch64.tar.gz
    
    # 解压到安装目录
    sudo tar -zxvf elasticsearch-6.8.23-aarch64.tar.gz -C /usr/share/elasticsearch --strip-components=1
  2. 设置权限

    bash

    sudo chown -R elasticsearch:elasticsearch /usr/share/elasticsearch
步骤 3: 配置 Elasticsearch
  1. 编辑配置文件

    bash

    sudo -u elasticsearch vim /usr/share/elasticsearch/config/elasticsearch.yml
  2. 修改以下关键配置(根据您的环境调整):

    yaml

    # 设置集群名称
    cluster.name: my-kylin-cluster
    
    # 设置节点名称
    node.name: kylin-arm-node-1
    
    # 允许绑定所有网络接口,以便其他机器访问
    network.host: 0.0.0.0
    
    # 设置HTTP端口 (默认9200)
    http.port: 9200
    
    # 单节点集群配置,避免发现阶段失败
    discovery.type: single-node
    
    # 在开发环境中可以禁用引导检查,但生产环境应逐一解决
    # 因为ARM环境+老版本JDK很可能无法通过所有检查
    discovery.zen.minimum_master_nodes: 1
    bootstrap.memory_lock: false
  3. 调整 JVM 配置 (可选,如果机器内存较小):

    bash

    sudo -u elasticsearch vim /usr/share/elasticsearch/config/jvm.options

    修改堆内存大小,例如对于 2GB 内存的机器:

    bash

    -Xms512m
    -Xmx512m
步骤 4: 启动 Elasticsearch
  1. 使用 systemd 管理服务 (推荐):

    bash

    sudo vim /etc/systemd/system/elasticsearch.service
  2. 添加以下内容

    ini

    [Unit]
    Description=Elasticsearch
    Documentation=https://www.elastic.co
    After=network.target
    
    [Service]
    Type=simple
    User=elasticsearch
    Group=elasticsearch
    Environment=ES_HOME=/usr/share/elasticsearch
    Environment=ES_PATH_CONF=/usr/share/elasticsearch/config
    Environment=JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64 # 务必修改为你的JDK8实际路径
    ExecStart=/usr/share/elasticsearch/bin/elasticsearch
    
    LimitMEMLOCK=infinity
    LimitNOFILE=65536
    LimitNPROC=65536
    
    Restart=always
    RestartSec=30s
    
    [Install]
    WantedBy=multi-user.target
  3. 启动并启用服务

    bash

    sudo systemctl daemon-reload
    sudo systemctl enable elasticsearch
    sudo systemctl start elasticsearch
  4. 检查状态和日志

    bash

    sudo systemctl status elasticsearch
    sudo journalctl -u elasticsearch -f  # 跟踪日志
    # 或者查看日志文件
    tail -f /usr/share/elasticsearch/logs/my-kylin-cluster.log
  5. 验证安装

    bash

    curl -X GET "http://localhost:9200/"

    如果成功,您将看到包含 "number" : "6.8.23" 的 JSON 输出。


第二部分:安装 Kibana 6.8.23

Kibana 版本必须与 Elasticsearch 版本严格一致。

步骤 1: 下载并安装 Kibana
  1. 同样,需要找到 Kibana 6.8.23 的 ARM64 版本

    bash

    sudo mkdir -p /usr/share/kibana
    cd /tmp
    # 假设您已下载 kibana-6.8.23-linux-aarch64.tar.gz
    sudo tar -zxvf kibana-6.8.23-linux-aarch64.tar.gz -C /usr/share/kibana --strip-components=1
  2. 创建用户并授权 (可以与 Elasticsearch 同用户):

    bash

    sudo chown -R elasticsearch:elasticsearch /usr/share/kibana
步骤 2: 配置 Kibana
  1. 编辑配置文件

    bash

    sudo -u elasticsearch vim /usr/share/kibana/config/kibana.yml
  2. 修改以下关键配置

    yaml

    # 服务端口
    server.port: 5601
    
    # 允许外部访问
    server.host: "0.0.0.0"
    
    # 部署的 Elasticsearch 实例 URL
    elasticsearch.hosts: ["http://localhost:9200"]
    
    # 6.x 版本需要设置此参数为当前节点名
    kibana.index: ".kibana"
    
    # 可选:设置界面语言
    # i18n.locale: "zh-CN"
步骤 3: 启动 Kibana
  1. 创建 systemd 服务文件

    bash

    sudo vim /etc/systemd/system/kibana.service
  2. 添加以下内容

    ini

    [Unit]
    Description=Kibana
    Documentation=https://www.elastic.co
    Requires=elasticsearch.service
    After=elasticsearch.service
    
    [Service]
    Type=simple
    User=elasticsearch
    Group=elasticsearch
    Environment=KIBANA_HOME=/usr/share/kibana
    Environment=JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64 # 同样修改为你的JDK8路径
    ExecStart=/usr/share/kibana/bin/kibana
    
    Restart=always
    RestartSec=30s
    
    [Install]
    WantedBy=multi-user.target
  3. 启动并启用服务

    bash

    sudo systemctl daemon-reload
    sudo systemctl enable kibana
    sudo systemctl start kibana
  4. 检查状态

    bash

    sudo systemctl status kibana
    tail -f /usr/share/kibana/logs/kibana.log  # 查看日志
  5. 访问 Kibana
    打开浏览器,访问 http://<您的Kylin服务器IP>:5601。等待一段时间(初始化较慢),如果一切正常,您将看到 Kibana 6.8 的界面。


可能遇到的问题及解决方案

  1. 最大文件描述符限制

    bash

    # 以root身份编辑limits.conf
    sudo vim /etc/security/limits.conf
    # 在文件末尾添加
    elasticsearch - nofile 65536
    elasticsearch - memlock unlimited
    * soft nofile 65536
    * hard nofile 65536
  2. 最大虚拟内存区域限制

    bash

    sudo sysctl -w vm.max_map_count=262144
    # 使其永久生效
    echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
  3. 启动失败:首要任务是查看日志!Elasticsearch 和 Kibana 的日志文件是排查问题的第一信息来源。

    bash

    tail -f /usr/share/elasticsearch/logs/*.log
    tail -f /usr/share/kibana/logs/*.log

网站公告

今日签到

点亮在社区的每一天
去签到