Hello zookeeper community,

After the last system update I had a problem with the zookeeper-server.
The problem was about the same as this:
https://issues.apache.org/jira/browse/BIGTOP-3302
So, I went to the file :
/etc/init.d/zookeeper-server

and I replaced "su" with "runuser". If you want to see it :

# cat /etc/init.d/zookeeper-server : https://termbin.com/gupi
# cat /usr/lib/zookeeper/bin/zkServer.sh : https://termbin.com/3xpb

After this change the server runs flawlessly, but when i try to stop it
via "systemctl" the system (systemd) complains.

```
# systemctl status zookeeper-server
● zookeeper-server.service - LSB: ZooKeeper is a centralized service for
maintaining configuration information, naming, providing distributed
synchronization, and providing group services.
   Loaded: loaded (/etc/rc.d/init.d/zookeeper-server; bad; vendor
preset: disabled)
   Active: active (running) since Wed 2020-03-04 16:16:51 EET; 2s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 30509 ExecStart=/etc/rc.d/init.d/zookeeper-server start
(code=exited, status=0/SUCCESS)
 Main PID: 30557 (java)
   CGroup: /system.slice/zookeeper-server.service
           └─30557 /usr/lib/jvm/jre-openjdk/bin/java
-Dzookeeper.datadir.autocreate=false
-Dzookeeper.log.dir=/var/log/zookeeper -Dzookee...

Mar 04 16:16:50 myserver systemd[1]: Starting LSB: ZooKeeper is a
centralized service for maintaining configuration information,...ices....
Mar 04 16:16:50 myserver runuser[30541]: pam_unix(runuser:session):
session opened for user zookeeper by (uid=0)
Mar 04 16:16:50 myserver zookeeper-server[30509]: JMX enabled by default
Mar 04 16:16:50 myserver zookeeper-server[30509]: Using config:
/etc/zookeeper/conf/zoo.cfg
Mar 04 16:16:51 myserver zookeeper-server[30509]: Starting zookeeper ...
STARTED
Mar 04 16:16:51 myserver runuser[30541]: pam_unix(runuser:session):
session closed for user zookeeper
Mar 04 16:16:51 myserver systemd[1]: Started LSB: ZooKeeper is a
centralized service for maintaining configuration information, ...rvices..
Hint: Some lines were ellipsized, use -l to show in full.


# systemctl stop zookeeper-server


# systemctl status zookeeper-server -l
● zookeeper-server.service - LSB: ZooKeeper is a centralized service for
maintaining configuration information, naming, providing distributed
synchronization, and providing group services.
   Loaded: loaded (/etc/rc.d/init.d/zookeeper-server; bad; vendor
preset: disabled)
   Active: failed (Result: signal) since Wed 2020-03-04 16:17:00 EET; 4s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 30605 ExecStop=/etc/rc.d/init.d/zookeeper-server stop
(code=exited, status=0/SUCCESS)
  Process: 30509 ExecStart=/etc/rc.d/init.d/zookeeper-server start
(code=exited, status=0/SUCCESS)
 Main PID: 30557 (code=killed, signal=KILL)

Mar 04 16:16:51 myserver systemd[1]: Started LSB: ZooKeeper is a
centralized service for maintaining configuration information, naming,
providing distributed synchronization, and providing group services..
Mar 04 16:17:00 myserver systemd[1]: Stopping LSB: ZooKeeper is a
centralized service for maintaining configuration information, naming,
providing distributed synchronization, and providing group services....
Mar 04 16:17:00 myserver runuser[30642]: pam_unix(runuser:session):
session opened for user zookeeper by (uid=0)
Mar 04 16:17:00 myserver zookeeper-server[30605]: JMX enabled by default
Mar 04 16:17:00 myserver zookeeper-server[30605]: Using config:
/etc/zookeeper/conf/zoo.cfg
Mar 04 16:17:00 myserver zookeeper-server[30605]: Stopping zookeeper ...
STOPPED
Mar 04 16:17:00 myserver systemd[1]: zookeeper-server.service: main
process exited, code=killed, status=9/KILL
Mar 04 16:17:00 myserver systemd[1]: Stopped LSB: ZooKeeper is a
centralized service for maintaining configuration information, naming,
providing distributed synchronization, and providing group services..
Mar 04 16:17:00 myserver systemd[1]: Unit zookeeper-server.service
entered failed state.
Mar 04 16:17:00 myserver systemd[1]: zookeeper-server.service failed.


# systemctl is-active zookeeper-server
failed


# systemctl is-failed zookeeper-server
failed


# ps -aux | grep zookeeper
root     31181  0.0  0.0 112712   968 pts/0    S+   16:21   0:00 grep
--color=auto zookeeper


# systemctl restart zookeeper-server -l


# systemctl status zookeeper-server -l
● zookeeper-server.service - LSB: ZooKeeper is a centralized service for
maintaining configuration information, naming, providing distributed
synchronization, and providing group services.
   Loaded: loaded (/etc/rc.d/init.d/zookeeper-server; bad; vendor
preset: disabled)
   Active: active (running) since Wed 2020-03-04 16:18:37 EET; 2s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 30605 ExecStop=/etc/rc.d/init.d/zookeeper-server stop
(code=exited, status=0/SUCCESS)
  Process: 30746 ExecStart=/etc/rc.d/init.d/zookeeper-server start
(code=exited, status=0/SUCCESS)
 Main PID: 30794 (java)
   CGroup: /system.slice/zookeeper-server.service
           └─30794 /usr/lib/jvm/jre-openjdk/bin/java
-Dzookeeper.datadir.autocreate=false
-Dzookeeper.log.dir=/var/log/zookeeper
-Dzookeeper.root.logger=INFO,ROLLINGFILE -cp
/usr/lib/zookeeper/bin/../build/classes:/usr/lib/zookeeper/bin/../build/lib/*.jar:/usr/lib/zookeeper/bin/../lib/slf4j-log4j12.jar:/usr/lib/zookeeper/bin/../lib/slf4j-log4j12-1.7.5.jar:/usr/lib/zookeeper/bin/../lib/slf4j-api-1.7.5.jar:/usr/lib/zookeeper/bin/../lib/netty-3.10.5.Final.jar:/usr/lib/zookeeper/bin/../lib/log4j-1.2.16.jar:/usr/lib/zookeeper/bin/../lib/jline-2.11.jar:/usr/lib/zookeeper/bin/../zookeeper-3.4.5-cdh5.16.2.jar:/usr/lib/zookeeper/bin/../src/java/lib/*.jar:/etc/zookeeper/conf::/etc/zookeeper/conf:/usr/lib/zookeeper/*:/usr/lib/zookeeper/lib/*
-Dzookeeper.log.threshold=INFO -Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.local.only=false
org.apache.zookeeper.server.quorum.QuorumPeerMain
/etc/zookeeper/conf/zoo.cfg

Mar 04 16:18:35 myserver systemd[1]: Starting LSB: ZooKeeper is a
centralized service for maintaining configuration information, naming,
providing distributed synchronization, and providing group services....
Mar 04 16:18:36 myserver runuser[30778]: pam_unix(runuser:session):
session opened for user zookeeper by (uid=0)
Mar 04 16:18:36 myserver zookeeper-server[30746]: JMX enabled by default
Mar 04 16:18:36 myserver zookeeper-server[30746]: Using config:
/etc/zookeeper/conf/zoo.cfg
Mar 04 16:18:37 myserver zookeeper-server[30746]: Starting zookeeper ...
STARTED
Mar 04 16:18:37 myserver systemd[1]: Started LSB: ZooKeeper is a
centralized service for maintaining configuration information, naming,
providing distributed synchronization, and providing group services..


# ps -aux | grep zookeeper
zookeep+ 30794  1.0  1.8 3499256 72648 ?       Sl   16:18   0:02
/usr/lib/jvm/jre-openjdk/bin/java -Dzookeeper.datadir.autocreate=false
-Dzookeeper.log.dir=/var/log/zookeeper
-Dzookeeper.root.logger=INFO,ROLLINGFILE -cp
/usr/lib/zookeeper/bin/../build/classes:/usr/lib/zookeeper/bin/../build/lib/*.jar:/usr/lib/zookeeper/bin/../lib/slf4j-log4j12.jar:/usr/lib/zookeeper/bin/../lib/slf4j-log4j12-1.7.5.jar:/usr/lib/zookeeper/bin/../lib/slf4j-api-1.7.5.jar:/usr/lib/zookeeper/bin/../lib/netty-3.10.5.Final.jar:/usr/lib/zookeeper/bin/../lib/log4j-1.2.16.jar:/usr/lib/zookeeper/bin/../lib/jline-2.11.jar:/usr/lib/zookeeper/bin/../zookeeper-3.4.5-cdh5.16.2.jar:/usr/lib/zookeeper/bin/../src/java/lib/*.jar:/etc/zookeeper/conf::/etc/zookeeper/conf:/usr/lib/zookeeper/*:/usr/lib/zookeeper/lib/*
-Dzookeeper.log.threshold=INFO -Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.local.only=false
org.apache.zookeeper.server.quorum.QuorumPeerMain
/etc/zookeeper/conf/zoo.cfg
root     31105  0.0  0.0 112712   968 pts/0    R+   16:21   0:00 grep
--color=auto zookeeper
```

As you can see, starting, and restarting works properly.
When I stop the zookeeper-server, then the systemctl in the status
indicates a problem, but the zookeeper-server actually stops.

Can you please help me to fix this problem ?
Because this problem (about systemd ) is relatively recent, the
development team is aware of it ?

OS : CentOS Linux release 7.7.1908 (Core)

# yum info zookeeper-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.ntua.gr
 * epel: mirrors.daticum.com
 * extras: ftp.ntua.gr
 * updates: ftp.ntua.gr
Installed Packages
Name        : zookeeper-server
Arch        : x86_64
Version     : 3.4.5+cdh5.16.2+159
Release     : 1.cdh5.16.2.p0.23.el7
Size        : 5.0 k
Repo        : installed
From repo   : cloudera-cdh5
Summary     : The Hadoop Zookeeper server
URL         : http://zookeeper.apache.org/
License     : ASL 2.0
Description : This package starts the zookeeper server on startup


# yum info kafka
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.ntua.gr
 * epel: mirror.hosting90.cz
 * extras: ftp.ntua.gr
 * updates: ftp.ntua.gr
Installed Packages
Name        : kafka
Arch        : noarch
Version     : 2.2.1+kafka4.1.0
Release     : 2.4.1.0.p0.6.el7
Size        : 91 M
Repo        : installed
From repo   : cloudera-kafka
Summary     : Apache Kafka is publish-subscribe messaging rethought as a
distributed commit log.
URL         : http://kafka.apache.org/
License     : ASL 2.0
Description : Apache Kafka is publish-subscribe messaging rethought as a
distributed commit log.
            : A single Kafka broker can handle hundreds of megabytes of
reads and writes per second
            : from thousands of clients. It can be elastically and
transparently expanded without downtime.
            : Data streams are partitioned and spread over a cluster of
machines to allow data streams
            : larger than the capability of any single machine and to
allow clusters of co-ordinated consumers


# systemctl --version
systemd 219
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP
+LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS
+KMOD +IDN


# systemctl cat zookeeper-server.service
# /run/systemd/generator.late/zookeeper-server.service
# Automatically generated by systemd-sysv-generator[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/rc.d/init.d/zookeeper-server
Description=LSB: ZooKeeper is a centralized service for maintaining
configuration information, naming, providing distributed synchronization
Before=runlevel2.target
Before=runlevel3.target
Before=runlevel4.target
Before=runlevel5.target
Before=shutdown.target
After=network-online.target
After=nss-lookup.target
After=network-online.target
Wants=network-online.target
Conflicts=shutdown.target[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=no
PIDFile=/var/run/zookeeper/zookeeper-server.pid
ExecStart=/etc/rc.d/init.d/zookeeper-server start
ExecStop=/etc/rc.d/init.d/zookeeper-server stop


Thanks in advance for your time!

-- 
Kind regards,
Tasos

Reply via email to