1 环境
uname -a
查看后结果
root@test01-prd:~# uname -a
Linux test01-prd 4.15.0-166-generic #174-Ubuntu SMP Wed Dec 8 19:07:44 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
2 zk自启动
路径:/etc/systemd/system
2.1 脚本
[Unit]
Description=zookeeper.service
After=network.target
[Service]
Type=forking
User=root
Group=root
Environment=ZOO_LOG_DIR=/usr/local/zookeeper-3.5.9/bin
Environment=JAVA_HOME=/usr/local/jdk-1.8.0
ExecStart=/usr/local/zookeeper-3.5.9/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper-3.5.9/bin/zkServer.sh stop
ExecReload=/usr/local/zookeeper-3.5.9/bin/zkServer.sh restart
[Install]
WantedBy=multi-user.target
2.2 添加到自启动
- 刷新配置
systemctl daemon-reload
- zookeeper服务加入开机自启
systemctl enable zookeeper.service
- systemctl启动zookeeper
systemctl start zookeeper.service
- systemctl关闭 zookeeper
systemctl stop zookeeper.service
- systemctl重启 zookeeper
systemctl restart zookeeper.service
3 kafka自启动
3.1 第一种方式
3.1.1 脚本
[Unit]
Description=kafka.service
After=network.target zookeeper.service
[Service]
Type=forking
User=root
Group=root
Environment=JAVA_HOME=/usr/local/jdk-1.8.0
ExecStart=/usr/local/kafka_2.12-2.4.1/bin/kafka-server-start.sh -daemon /usr/local/kafka_2.12-2.4.1/config/server.properties
ExecStop=/usr/local/kafka_2.12-2.4.1/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
注意:是先启动zk后,才可以启动kafka,所以服务kafka添加到zk之后。
3.1.2 添加到自启动
- 刷新配置
systemctl daemon-reload
- kafka服务加入开机自启
systemctl enable kafka.service
- systemctl启动kafka
systemctl start kafka.service
- systemctl关闭kafka
systemctl stop kafka.service
- systemctl重启 kafka
systemctl restart kafka.service
3.2 第二种方式
路径:/etc/init.d/
vim kafka
3.2.1 脚本
DAEMON_PATH=/opt/kafka/
PATH=$PATH:$DAEMON_PATH/bin
# See how we were called.
case "$1" in
start)
# Start daemon.
echo "Starting Zookeeper";
nohup $DAEMON_PATH/bin/zookeeper-server-start.sh -daemon /$DAEMON_PATH/config/zookeeper.properties 2> /dev/null && \
echo "Starting Kafka";
nohup $DAEMON_PATH/bin/kafka-server-start.sh -daemon /$DAEMON_PATH/config/server.properties 2> /dev/null
;;
stop)
# Stop daemons.
echo "Shutting down Zookeeper";
pid=`ps ax | grep -i 'org.apache.zookeeper.server' | grep -v grep | awk '{print $1}'`
if [ -n "$pid" ]
then
kill -9 $pid
else
echo "Zookeeper was not Running"
fi
echo "Shutting down Kafka";
pid=`ps ax | grep -i 'kafka.Kafka' | grep -v grep | awk '{print $1}'`
if [ -n "$pid" ]
then
kill -9 $pid
else
echo "Kafka was not Running"
fi
;;
restart)
$0 stop
sleep 2
$0 start
;;
status)
pid=`ps ax | grep -i 'org.apache.zookeeper.server' | grep -v grep | awk '{print $1}'`
if [ -n "$pid" ]
then
echo "Zookeeper is Running as PID: $pid"
else
echo "Zookeeper is not Running"
fi
pid=`ps ax | grep -i 'kafka.Kafka' | grep -v grep | awk '{print $1}'`
if [ -n "$pid" ]
then
echo "Kafka is Running as PID: $pid"
else
echo "Kafka is not Running"
fi
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0
3.2.2 设置自启动
- 创建kafka服务
chmod 755 /etc/init.d/kafka
update-rc.d kafka defaults
- 启动和停止kafka服务:
sudo service kafka start
sudo service kafka status
sudo service kafka stop
- 删除Kafka服务,请运行
update-rc.d -f kafka remove
4 cmak自启动
4.1 安装cmake
sudo apt install cmak
cmak -version
后台启动
nohup bin/cmak &
4.2 自启动
4.2.1 创建start.sh
#!/bin/bash
if [ -f RUNNING_PID ];then echo -e "Delete RUNNING_PID !\n";rm RUNNING_PID;fi
/usr/local/cmak-3.0.0.5/bin/cmak 2>&1 >/dev/null &
4.2.2 创建stop.sh
#!/bin/bash
jps|grep -w 'ProdServerStart'|awk '{print $1}'|xargs kill -9
if [ -f RUNNING_PID ];then echo -e "Delete RUNNING_PID!停止cmak 服务\n";rm RUNNING_PID;fi
4.2.3 自启动脚本
[Unit]
Description=cmak.service
Requires=network.target
[Service]
Type=forking
User=root
Group=root
Environment=JAVA_HOME=/usr/local/jdk-1.8.0
WorkingDirectory=/usr/local/cmak-3.0.0.5/
ExecStart=/usr/local/cmak-3.0.0.5/start.sh
ExecStop=/usr/local/cmak-3.0.0.5/stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
4.2.4 启动指令
systemctl daemon-reload
systemctl enable cmak.service
systemctl start cmak.service
systemctl stop cmak.service
systemctl status cmak.service
4.2.5 排查错误信息
journalctl -xeu cmak.service
5 常见问题
问题1:/etc/systemd/system/cmak.service:3: Unknown lvalue ‘serviceAfter’ in section ‘Unit’
解决方法:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/79895.html