在麒麟 ARM (aarch64)安装OpenJDK11和elasticsearchkibana

前期准备

  1. 系统更新

    bash

    复制代码
    sudo apt update && sudo apt upgrade -y
    sudo apt install -y wget curl tar vim
  2. 创建安装目录

    bash

    复制代码
    sudo mkdir -p /usr/local/src/elasticstack
    sudo chown -R $USER:$USER /usr/local/src/elasticstack
    cd /usr/local/src/elasticstack

第一部分:安装并配置 OpenJDK 11

步骤 1: 下载并解压 JDK

bash

复制代码
# 下载 OpenJDK 11 for ARM64
wget https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.20%2B8/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.20_8.tar.gz

# 创建目标目录并解压
sudo mkdir -p /usr/lib/jvm
sudo tar -zxvf OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.20_8.tar.gz -C /usr/lib/jvm/

# 确认解压后的目录
JDK_DIR=$(ls /usr/lib/jvm/ | grep jdk-11)
echo "JDK安装目录: /usr/lib/jvm/$JDK_DIR"
步骤 2: 设置系统级环境变量

bash

复制代码
# 创建全局Java环境配置文件
sudo vim /etc/profile.d/java.sh

添加以下内容(重要:请根据实际目录修改):

bash

复制代码
# 设置JAVA_HOME环境变量
export JAVA_HOME=/usr/lib/jvm/jdk-11.0.20+8
export PATH=$JAVA_HOME/bin:$PATH

使配置生效:

bash

复制代码
source /etc/profile
步骤 3: 验证JDK安装

bash

复制代码
java -version
javac -version
echo $JAVA_HOME
# 应该显示:/usr/lib/jvm/jdk-11.0.20+8

第二部分:安装 Elasticsearch 7.17.21(重点:指定Java路径)

步骤 1: 下载并解压

bash

复制代码
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.21-linux-aarch64.tar.gz
sudo tar -zxvf elasticsearch-7.17.21-linux-aarch64.tar.gz -C /usr/share/
sudo mv /usr/share/elasticsearch-7.17.21 /usr/share/elasticsearch
步骤 2: 创建专用用户

bash

复制代码
sudo groupadd elasticsearch
sudo useradd -g elasticsearch -M -s /bin/bash elasticsearch
sudo chown -R elasticsearch:elasticsearch /usr/share/elasticsearch
步骤 3: 配置 Elasticsearch(关键步骤)

配置一:创建Java路径设置文件

这是确保Elasticsearch使用正确JDK的核心步骤:

bash

复制代码
sudo vim /usr/share/elasticsearch/bin/elasticsearch-env

找到以下代码段(大约在文件开头):

bash

复制代码
# now set the path to java
if [ ! -z "$JAVA_HOME" ]; then
  JAVA="$JAVA_HOME/bin/java"
else
  if [ "$(uname -s)" = "Darwin" ]; then
    # OSX has a different structure
    JAVA="/usr/bin/java"
  else
    JAVA="/bin/java"
  fi
fi

在这段代码之前添加(强制指定JAVA路径):

bash

复制代码
# Force specific JAVA_HOME for Kylin ARM64
export JAVA_HOME=/usr/lib/jvm/jdk-11.0.20+8
export PATH=$JAVA_HOME/bin:$PATH

配置二:主配置文件

bash

复制代码
sudo -u elasticsearch vim /usr/share/elasticsearch/config/elasticsearch.yml

修改为:

yaml

复制代码
cluster.name: kylin-arm-cluster
node.name: kylin-node-1
network.host: 0.0.0.0
http.port: 9200
discovery.type: single-node
xpack.security.enabled: false

# 可选:自定义数据存储路径
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch

创建数据目录:

bash

复制代码
sudo mkdir -p /var/lib/elasticsearch /var/log/elasticsearch
sudo chown -R elasticsearch:elasticsearch /var/lib/elasticsearch /var/log/elasticsearch
步骤 4: 配置系统服务(再次指定Java路径)

bash

复制代码
sudo vim /etc/systemd/system/elasticsearch.service

添加以下内容(注意Environment行):

ini

复制代码
[Unit]
Description=Elasticsearch
Documentation=https://www.elastic.co
After=network.target

[Service]
Type=simple
User=elasticsearch
Group=elasticsearch

# 关键:显式指定JAVA_HOME
Environment=JAVA_HOME=/usr/lib/jvm/jdk-11.0.20+8
Environment=ES_HOME=/usr/share/elasticsearch
Environment=ES_PATH_CONF=/usr/share/elasticsearch/config

ExecStart=/usr/share/elasticsearch/bin/elasticsearch

LimitMEMLOCK=infinity
LimitNOFILE=65535
LimitNPROC=4096

Restart=always
RestartSec=30s

[Install]
WantedBy=multi-user.target
步骤 5: 系统优化和启动

bash

复制代码
# 调整系统限制
sudo vim /etc/security/limits.conf

添加:

text

复制代码
elasticsearch - nofile 65535
elasticsearch - memlock unlimited

调整虚拟内存:

bash

复制代码
sudo sysctl -w vm.max_map_count=262144
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

启动服务:

bash

复制代码
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

# 验证
sudo systemctl status elasticsearch
curl -X GET "http://localhost:9200/"

第三部分:安装 Kibana 7.17.21(同样指定Java路径)

步骤 1: 下载并解压

bash

复制代码
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.17.21-linux-aarch64.tar.gz
sudo tar -zxvf kibana-7.17.21-linux-aarch64.tar.gz -C /usr/share/
sudo mv /usr/share/kibana-7.17.21-linux-aarch64 /usr/share/kibana
sudo chown -R elasticsearch:elasticsearch /usr/share/kibana
步骤 2: 配置 Kibana(强制Java路径)

方法一:修改启动脚本(推荐)

bash

复制代码
sudo vim /usr/share/kibana/bin/kibana

在文件开头(#!/bin/bash之后)添加:

bash

复制代码
# Force JAVA_HOME for Kylin ARM64
export JAVA_HOME=/usr/lib/jvm/jdk-11.0.20+8
export PATH=$JAVA_HOME/bin:$PATH

方法二:使用环境变量文件

bash

复制代码
sudo vim /etc/default/kibana

添加:

bash

复制代码
JAVA_HOME=/usr/lib/jvm/jdk-11.0.20+8
步骤 3: 主配置文件

bash

复制代码
sudo -u elasticsearch vim /usr/share/kibana/config/kibana.yml

配置:

yaml

复制代码
server.port: 5601
server.host: "0.0.0.0"
server.name: "kylin-kibana"
elasticsearch.hosts: ["http://localhost:9200"]
i18n.locale: "zh-CN"

# 可选:自定义路径
path.data: /var/lib/kibana
logging.dest: /var/log/kibana/kibana.log

创建目录:

bash

复制代码
sudo mkdir -p /var/lib/kibana /var/log/kibana
sudo chown -R elasticsearch:elasticsearch /var/lib/kibana /var/log/kibana
步骤 4: 配置系统服务

bash

复制代码
sudo vim /etc/systemd/system/kibana.service

添加:

ini

复制代码
[Unit]
Description=Kibana
Documentation=https://www.elastic.co
After=network.target elasticsearch.service

[Service]
Type=simple
User=elasticsearch
Group=elasticsearch

# 关键:显式指定JAVA_HOME
Environment=JAVA_HOME=/usr/lib/jvm/jdk-11.0.20+8
Environment=KIBANA_HOME=/usr/share/kibana

ExecStart=/usr/share/kibana/bin/kibana

Restart=always
RestartSec=30s

[Install]
WantedBy=multi-user.target
步骤 5: 启动并验证

bash

复制代码
sudo systemctl daemon-reload
sudo systemctl enable kibana
sudo systemctl start kibana

# 查看状态和日志
sudo systemctl status kibana
tail -f /var/log/kibana/kibana.log

# 等待1-2分钟后访问
curl -I http://localhost:5601

最终验证

  1. 检查所有服务状态

    bash

    复制代码
    sudo systemctl status elasticsearch
    sudo systemctl status kibana
  2. 测试连通性

    bash

    复制代码
    # Elasticsearch
    curl -X GET "http://localhost:9200/"
    
    # Kibana 
    curl -I http://localhost:5601
  3. 确认Java路径

    bash

    复制代码
    # 检查Elasticsearch使用的Java
    ps aux | grep elasticsearch | grep java
    
    # 检查Kibana使用的Java  
    ps aux | grep kibana | grep node
  4. 访问服务

    • Elasticsearch: http://服务器IP:9200

    • Kibana: http://服务器IP:5601

相关推荐
Leinwin8 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
2401_865382508 小时前
信息化项目运维与运营的区别
运维·运营·信息化项目·政务信息化
漠北的哈士奇8 小时前
VMware Workstation导入ova文件时出现闪退但是没有报错信息
运维·vmware·虚拟机·闪退·ova
如意.7598 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
运维小欣9 小时前
智能体选型实战指南
运维·人工智能
yy55279 小时前
Nginx 性能优化与监控
运维·nginx·性能优化
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ10 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
05大叔11 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
安当加密11 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
dashizhi201511 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑