使用 systemd 运行 Zookeeper 3.4.12 和 Solr 6.5.1 - Solr 在启动后立即关闭



我是相当新的系统管理员和动物园管理员。请耐心等待,谢谢。 任何帮助不胜感激!

设置:

  • Suse 12 企业
  • 没有 init.d,只有 systemd
  • Zookeeper 3.4.12 通过 systemd 运行并侦听默认端口 2181
  • Solr 6.5.1也必须通过systemd运行,但在启动后立即决定关闭
  • ,原因不明
  • Solr.log显示建立与ZooKeeper的连接,并在警告和关闭后不久
  • 动物园管理员日志文件没有一行关于 Solr 退出

我很困惑,无法确定这个问题是 systemd 单元文件还是 zookeeper <> solr 问题。

问题:

  • 单位文件 solr.service 是否正确?(我不确定,网上的例子非常稀缺(
  • 这是系统问题还是动物园管理员问题?
  • 我可以打开哪些日志以获取更多见解?

As @MatsLindh points out this is an sytemd issue. Solr log WARN was just a coincident.

journalctl -u solr

Sep 05 16:42:36 mucs75561 systemd[1]: Started Apache Solr Service.
Sep 05 16:42:40 mucs75561 solr[15732]: [98B blob data]
Sep 05 16:42:40 mucs75561 solr[15732]: Started Solr server on port 8983 
(pid=15857). Happy searching!
Sep 05 16:42:40 mucs75561 solr[15942]: Sending stop command to Solr running on port 8983 ... 
waiting up to 180 seconds to allow Jetty process 15857 to stop gracefully.

solr.log讲述了一个不同的故事(tail -n 1000 -f/opt/xxx/solr-6.5.1/server/logs/solr.log(

cat /opt/xxx/solr-6.5.1/server/logs/solr.log
16:42:38.594 INFO  (main) [   ] o.e.j.s.Server jetty-9.3.14.v20161028
16:42:38.992 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter  ___      _       Welcome to Apache Solr™ version 6.5.1
16:42:38.996 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter / __| ___| |_ _   Starting in cloud mode on port 8983
16:42:38.996 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter __ / _  | '_|  Install dir: /opt/xxx/solr-6.5.1
16:42:39.016 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter |___/___/_|_|    Start time: 2018-09-05T16:42:38.998Z
16:42:39.017 INFO  (main) [   ] o.a.s.s.StartupLoggingUtils Property solr.log.muteconsole given. Muting ConsoleAppender named CONSOLE
16:42:39.035 INFO  (main) [   ] o.a.s.c.SolrResourceLoader Using system property solr.solr.home: /opt/xxx/solr-6.5.1/server/solr
16:42:39.099 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter Loading solr.xml from SolrHome (not found in ZooKeeper)
16:42:39.100 INFO  (main) [   ] o.a.s.c.SolrXmlConfig Loading container configuration from /opt/xxx/solr-6.5.1/server/solr/solr.xml
16:42:39.413 INFO  (main) [   ] o.a.s.u.UpdateShardHandler Creating UpdateShardHandler HTTP client with params: socketTimeout=600000&connTimeout=60000&retry=true
16:42:39.418 INFO  (main) [   ] o.a.s.c.ZkContainer Zookeeper client=localhost:2181/solr
16:42:39.510 INFO  (main) [   ] o.a.s.c.Overseer Overseer (id=null) closing
16:42:39.514 INFO  (main) [   ] o.a.s.c.OverseerElectionContext I am going to be the leader 192.168.18.49:8983_solr
16:42:39.519 INFO  (main) [   ] o.a.s.c.Overseer Overseer (id=72167078483197975-192.168.18.49:8983_solr-n_0000000009) starting
16:42:39.616 INFO  (main) [   ] o.a.s.c.ZkController Register node as live in ZooKeeper:/live_nodes/192.168.18.49:8983_solr
16:42:39.622 INFO  (OverseerStateUpdate-72167078483197975-192.168.18.49:8983_solr-n_0000000009) [   ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (0) -> (1)
16:42:39.812 INFO  (main) [   ] o.a.s.c.CorePropertiesLocator Found 0 core definitions underneath /opt/xxx/solr-6.5.1/server/solr
16:42:39.898 INFO  (main) [   ] o.e.j.s.Server Started @1864ms
16:42:40.549 INFO  (ShutdownMonitor) [   ] o.a.s.c.CoreContainer Shutting down CoreContainer instance=966739377
16:42:40.557 INFO  (ShutdownMonitor) [   ] o.a.s.c.Overseer Overseer (id=72167078483197975-192.168.18.49:8983_solr-n_0000000009) closing
16:42:40.558 INFO  (OverseerStateUpdate-72167078483197975-192.168.18.49:8983_solr-n_0000000009) [   ] o.a.s.c.Overseer Overseer Loop exiting : 192.168.18.49:8983_solr
16:42:40.566 WARN  (zkCallback-5-thread-1-processing-n:192.168.18.49:8983_solr) [   ] o.a.s.c.c.ZkStateReader ZooKeeper watch triggered, but Solr cannot talk to ZK: [KeeperErrorCode = Session expired for /live_nodes]
16:42:40.566 INFO  (ShutdownMonitor) [   ] o.a.s.m.SolrMetricManager Closing metric reporters for: solr.node

My/etc/systemd/system/solr.service:

[Unit]
Description=Apache Solr Service
After=syslog.target network.target nss-lookup.target
Requires=zookeeper.service
[Service]
User=xxx
Group=tomcat
WorkingDirectory=/opt/xxx/solr-6.5.1/
Environment=SOLR_INCLUDE=/opt/xxx/solr-6.5.1/bin/solr.in.sh   
ExecStart=/opt/xxx/solr-6.5.1/bin/solr start -m 4g -c -z localhost:2181/solr
ExecStop=/opt/xxx/solr-6.5.1/bin/solr stop -all
[Install]
WantedBy=default.target

谢谢,阅读!

systemd 需要它开始保持运行的服务。由于 Solr 启动脚本在启动 Solr 后退出(即它守护进程并使其在后台运行(,systemd 认为它已经死了并试图阻止它。

您可以使用以下bin/solr start -f在前台启动 solr:

-f            Start Solr in foreground; default starts Solr in the background
and sends stdout / stderr to solr-PORT-console.log

最新更新