Add custom systemd unit for Zookeeper
We're 100% systemd here, and the lack of control/information that the old-school ZK initscript provides is frustrating. Replace it with our own simple unit file.
This commit is contained in:
parent
9b2e12e69b
commit
ef9673de02
|
@ -2,7 +2,7 @@
|
|||
- name: install zookeeper packages
|
||||
apt:
|
||||
name:
|
||||
- zookeeperd
|
||||
- zookeeper
|
||||
- zookeeper-bin
|
||||
state: latest
|
||||
|
||||
|
@ -18,7 +18,17 @@
|
|||
- zoo.cfg
|
||||
notify: restart zookeeper
|
||||
|
||||
- name: start but disable services
|
||||
- name: install systemd unit file
|
||||
template:
|
||||
src: zookeeper/zookeeper.service.j2
|
||||
dest: /etc/systemd/system/zookeeper.service
|
||||
register: systemd
|
||||
|
||||
- name: reload systemd to apply changes
|
||||
command: systemctl daemon-reload
|
||||
when: systemd.changed
|
||||
|
||||
- name: start but disable services (managed by PVC)
|
||||
service:
|
||||
name: "{{ item }}"
|
||||
state: started
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
# Zookeeper unit - replaces zookeeperd package/initscript
|
||||
# {{ ansible_managed }}
|
||||
|
||||
[Unit]
|
||||
Description = Zookeeper centralized coordination service
|
||||
After = remote-fs.target network.target
|
||||
AssertPathExists = /var/lib/zookeeper
|
||||
|
||||
[Service]
|
||||
Type = simple
|
||||
User = zookeeper
|
||||
Group = zookeeper
|
||||
EnvironmentFile = -/etc/zookeeper/conf/environment
|
||||
EnvironmentFile = -/etc/default/zookeeper
|
||||
ExecStart = /usr/bin/java \
|
||||
-cp $CLASSPATH \
|
||||
$JAVA_OPTS \
|
||||
-Dzookeeper.log.dir=${ZOO_LOG_DIR} \
|
||||
-Dzookeeper.root.logger=${ZOO_LOG4J_PROP} \
|
||||
$ZOOMAIN $ZOOCFG
|
||||
|
||||
[Install]
|
||||
WantedBy = multi-user.target
|
Loading…
Reference in New Issue