There are several ways to run a program on Linux startup.
The /etc/rc.d/init.d way in centsos 6, add commands to rc.local file, or systemctl in centos 7.
I prefer use systemctl to manage your services if you are using centos 7+ version:
Add a service config file
cd /usr/lib/systemd/system/
vi zookeeper.serviceThe file content like this:
[Unit]
Description=zookeeper - apache zookeeper
Requires=network.target
After=syslog.target network.target
  
[Service]
Type=forking
ExecStart=/opt/apache-zookeeper-3.6.2-bin/bin/zkServer.sh start
ExecReload=/opt/apache-zookeeper-3.6.2-bin/bin/zkServer.sh restart
ExecStop=/opt/apache-zookeeper-3.6.2-bin/bin/zkServer.sh stop
Restart=always
RestartSec=5min
TimeoutSec=360
  
[Install]
WantedBy=multi-user.targetEnable run on boot
systemctl enable zookeeper.service
systemctl start zookeeper.serviceMore parameters can be found here:
systemd.service