统信uos部署solr需手动构建jdk 17环境并校验安装:一、确认架构后下载adoptium arm64/x86_64版jdk 17,解压至/opt/java/jdk-17;二、用update-alternatives配置系统默认java;三、从apache官网下载solr 9.7.0及pgp/sha512文件,gpg校验签名无误后解压;四、创建solr用户,授权并启动服务;五、配置systemd开机自启并验证active状态。

在统信UOS上部署Solr搜索引擎服务,需绕过图形化安装限制,直接通过命令行构建Java运行环境并手动解压配置。系统不预装Java,也无现成的Solr包管理源,必须从Apache官网获取二进制分发包并严格校验签名。
确认系统架构与Java环境准备
打开终端,执行uname -m确认CPU架构:若输出x86_64,则使用标准JDK;若为aarch64(如鲲鹏、飞腾平台),必须下载ARM64版OpenJDK,否则Solr启动时会报Illegal instruction错误。
执行java -version检查Java是否已安装。若提示“未找到命令”,说明尚未配置JDK——【Solr 9.x要求JDK 17或更高版本,统信UOS默认仓库仅提供JDK 11,不可直接apt install openjdk-11-jdk】。
前往Adoptium官网(https://adoptium.net)下载对应架构的Eclipse Temurin JDK 17 LTS压缩包(tar.gz格式),解压至/opt/java/jdk-17,再执行:
sudo update-alternatives --install /usr/bin/java java /opt/java/jdk-17/bin/java 1
sudo update-alternatives --config java(选择刚添加的路径)
下载并验证Solr二进制包
访问Apache Solr官网(https://lucene.apache.org/solr/downloads.html),复制最新稳定版(如solr-9.7.0.tgz)的PGP签名文件(solr-9.7.0.tgz.asc)和SHA512校验文件(solr-9.7.0.tgz.sha512)链接。
在终端中依次执行:
wget https://downloads.apache.org/lucene/solr/9.7.0/solr-9.7.0.tgz
wget https://downloads.apache.org/lucene/solr/9.7.0/solr-9.7.0.tgz.asc
wget https://downloads.apache.org/lucene/solr/9.7.0/solr-9.7.0.tgz.sha512
导入Apache Lucene/Solr发布密钥:
gpg --dearmor /dev/null
验证签名:
gpg --verify --keyring /usr/share/keyrings/apache-lucene-solr-keyring.gpg solr-9.7.0.tgz.asc solr-9.7.0.tgz
【若提示“BAD signature”或“No public key”,说明校验失败,必须删除文件重新下载,不可跳过】
解压并初始化Solr服务
创建专用用户隔离运行权限:
sudo useradd -r -s /bin/false solr
解压到系统级目录:
sudo tar -xzf solr-9.7.0.tgz -C /opt/
sudo chown -R solr:solr /opt/solr-9.7.0
切换用户并首次启动验证:
sudo -u solr /opt/solr-9.7.0/bin/solr start -p 8983
等待输出“Started Solr server on port 8983”后,在浏览器访问http://localhost:8983,应看到Solr Admin UI界面。
若页面空白或返回503,检查/opt/solr-9.7.0/server/logs/solr.log,常见错误是java.lang.UnsupportedClassVersionError——这表示JDK版本低于17,需回退至上一步重配Java。
配置开机自启(systemd方式)
创建服务单元文件:
sudo nano /etc/systemd/system/solr.service
填入以下内容(注意替换路径中的版本号):
[Unit]
Description=Apache Solr Search Platform
After=network.target
[Service]
Type=forking
User=solr
Group=solr
Environment=JAVA_HOME=/opt/java/jdk-17
Environment=SOLR_HOME=/opt/solr-9.7.0
ExecStart=/opt/solr-9.7.0/bin/solr start -p 8983 -d /var/solr
ExecStop=/opt/solr-9.7.0/bin/solr stop -p 8983
Restart=on-failure
[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload
sudo systemctl enable solr.service
sudo systemctl start solr.service
验证状态:
sudo systemctl status solr.service
输出中必须包含“active (running)”且无红色failed字样。











