必须先确认系统架构为aarch64且Java版本为11.0.22-aarch64,再安装UOS签名版ES 7.17.20、配置memlock无限制并以elk用户启动;x86_64版可直接应用商店一键安装。

在统信UOS系统上安装并使用Elasticsearch,需绕过x86_64包在国产CPU上的非法指令错误,避开默认root启动限制,解决内存锁定失败和Java版本不匹配问题,否则服务会闪退或报“unable to lock JVM memory”。
确认系统架构与JDK环境
执行 uname -m 查看输出是否为 【aarch64】;若为x86_64,则跳过ARM适配步骤,直接用应用商店安装或Docker部署。这一步必须做,否则后续所有操作都会失败——x86_64包在ARM机器上运行会触发Illegal Instruction崩溃。
运行 java -version,输出中必须同时含“11.0.22”和“aarch64”。若显示x86_64或版本低于11.0.20,说明当前JDK不兼容ES 7.17.20,必须重装ARM64专用OpenJDK。
ARM64平台:手动安装UOS签名版ES
方法一:离线包标准部署(推荐用于生产)
- 下载适配包:
wget https://mirrors.uniontech.com/official/enterprise/7.17.20/elasticsearch-7.17.20-uos-arm64.tar.gz - 解压并设权:
sudo tar -xzf elasticsearch-7.17.20-uos-arm64.tar.gz -C /usr/share/ && sudo chown -R elk:elk /usr/share/elasticsearch - 创建数据与日志目录:
sudo mkdir -p /var/lib/elasticsearch /var/log/elasticsearch && sudo chown -R elk:elk /var/lib/elasticsearch /var/log/elasticsearch - 配置memlock无限制:
echo 'elk soft memlock unlimited' | sudo tee -a /etc/security/limits.conf && echo 'elk hard memlock unlimited' | sudo tee -a /etc/security/limits.conf - 切换用户启动:
sudo -u elk /usr/share/elasticsearch/bin/elasticsearch -d -p /var/run/elasticsearch/elasticsearch.pid——【必须用elk用户,不能用root或普通账户】
x86_64桌面版:应用商店一键安装
打开统信UOS“应用商店”,搜索“Elasticsearch”,点击安装按钮即可完成部署。该方式自动处理JDK依赖、用户隔离与服务注册,适合开发测试场景。
安装完成后,服务默认以systemd托管,无需手动启停。执行 sudo systemctl status elasticsearch 可查看运行状态。
验证服务是否可用
等待30秒后,在终端执行:curl -X GET "http://localhost:9200/?pretty"。
若返回包含 "name"、"cluster_name" 和 "version.number" 的JSON响应,且 status 字段存在,则Elasticsearch已成功运行。
若提示“Connection refused”,检查进程是否存在:ps -u elk | grep elasticsearch;若无输出,说明启动失败,需查看 /var/log/elasticsearch/ 下最新日志文件。

















