solr无法启动 unrecognized VM option PrintHeapAtGC 或solr指定jdk版本

2 篇文章 0 订阅
1 篇文章 0 订阅

       因为测试环境和其他项目组公用,所以solr所在的集群上有多套jdk,我们用的solr版本是5.5.2的,对应的jdk是1.7(也可以用1.8),其他项目组有用jdk1.9的。

       我们启动solr的linux用户是Hadoop,Hadoop的JAVA_HOME指向的是jdk1.7,不知道什么原因,在用Hadoop启动solr时 solr报错: unrecognized VM option 'PrintHeapAtGC',solr启动不了。。

      百度了一番说是jdk版本有问题,java9里已经去掉了PrintHeapAtGC,这也就说明solr启动时是运行在jdk1.9上的。先保证solr能启动,至于为什么solr默认使用jdk1.9以后有时间再查。

     临时解决方案:指定solr使用的jdk版本

    linux:  修改solr/bin下solr.in.sh  新增参数  JAVA_HOME="#"         , # 是你要指定的jdk所在路径

    windows:修改solr/bin下solr.in.cmd 新增参数  set JAVA_HOME="#"       ,# 是你要指定的jdk所在路径

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于在Linux上实现Solr的自启动,您可以按照以下步骤进行操作: 1. 首先,确保您已经成功安装了Solr,并且可以通过命令行启动和停止它。 2. 打开终端,并使用root或具有管理员权限的用户登录。 3. 创建一个名为`solr`的新用户,用于运行Solr服务。您可以使用以下命令创建用户并设置密码: ``` sudo adduser solr ``` 4. 接下来,将Solr的安装目录更改为`solr`用户的所有权,以便该用户拥有对该目录的完全访问权限。假设Solr安装在`/opt/solr`目录下,您可以使用以下命令进行更改: ``` sudo chown -R solr:solr /opt/solr ``` 5. 切换到`solr`用户: ``` sudo su - solr ``` 6. 进入Solr的安装目录: ``` cd /opt/solr ``` 7. 创建一个新的脚本文件,用于启动和停止Solr服务。您可以使用任何文本编辑器(如vi或nano)创建一个名为`solr.sh`的文件,并将以下内容粘贴到其中: ``` #!/bin/bash # Solr启动脚本 # 设置JAVA_HOME为您的Java安装路径 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 # 启动Solr服务 ./bin/solr start -p 8983 # 在需要时停止Solr服务 #./bin/solr stop -p 8983 ``` 8. 保存并关闭文件。然后,通过以下命令使脚本文件可执行: ``` chmod +x solr.sh ``` 9. 测试一下脚本是否可以正常启动Solr服务: ``` ./solr.sh ``` 如果一切正常,您应该能够看到Solr成功启动的消息。 10. 如果测试成功,您可以退出`solr`用户: ``` exit ``` 11. 现在,我们将创建一个启动脚本,以便在系统启动时自动启动Solr服务。使用文本编辑器创建一个名为`solr.service`的文件,并将以下内容粘贴到其中: ``` [Unit] Description=Solr Server After=network.target [Service] User=solr ExecStart=/opt/solr/solr.sh [Install] WantedBy=multi-user.target ``` 12. 保存并关闭文件。然后,将启动脚本文件移动到`/etc/systemd/system`目录下,并设置权限: ``` sudo mv solr.service /etc/systemd/system/solr.service sudo chmod 644 /etc/systemd/system/solr.service ``` 13. 最后,重载systemd并启用Solr服务: ``` sudo systemctl daemon-reload sudo systemctl enable solr ``` 现在,Solr服务将在系统启动时自动启动。您可以使用以下命令来启动、停止和检查Solr服务的状态: - 启动Solr服务: ``` sudo systemctl start solr ``` - 停止Solr服务: ``` sudo systemctl stop solr ``` - 检查Solr服务的状态: ``` sudo systemctl status solr ``` 希望这可以帮助到您!如有其他问题,请随时提出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值