DevOps之使用systemd管理服务

linxu系统下,如果是自己安装的服务,启动的话最好使用systemd进行系统管理,方便重启、开机自启动、重新加载等等。
centos7和debian9使用systemd进行管理

在/usr/lib/systemd/system里面建立service文件,然后软连接到/etc/systemd/system/目录下面

这里记录下几个常用的服务:

1、zookeeper:

[Unit]
Description=zookeeper
After=network.target

[Service]
WorkingDirectory=/app/zk/zookeeper-3.4.12/bin/
Environment="JAVA_HOME=/usr/local/jdk1.8.0_171" "JAVA_BIN=/usr/local/jdk1.8.0_171/bin" "PATH=/app/zk/zookeeper-3.4.12/bin:/usr/local/jdk1.8.0_171/bin:/usr/local/jdk1.8.0_171/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
ExecStart=/bin/bash -ce "exec /app/zk/zookeeper-3.4.12/bin/zkServer.sh start-foreground >> /var/log/zookeeper/zookeeper.log   2>&1 < /dev/null"

[Install]
WantedBy=multi-user.target

注意点:

  • Unit中的启动顺序,在network之后
  • zookeeper是java应用,要配置环境变量
  • 启动要用start-foreground方式,因为system已经是后台守护进程了,不然会启动失败。把日志重定向出来

2、kafka:

[Unit]
Description=kafka
After=zookeeper.service
Wants=zookeeper.service

[Service]
Environment="JAVA_HOME=/usr/local/jdk1.8.0_171" "JAVA_BIN=/usr/local/jdk1.8.0_171/bin" "PATH=/app/kafka/kafka_2.11-1.1.0/bin:/usr/local/jdk1.8.0_171/bin:/usr/local/jdk1.8.0_171/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
ExecStart=/app/kafka/kafka_2.11-1.1.0/bin/kafka-server-start.sh /app/kafka/kafka_2.11-1.1.0/config/server.properties

[Install]
WantedBy=multi-user.target

注意点:

  • Unit启动顺序在zk之后,因为kafka要连接到zk
  • kafka也是java写的,要配置java环境变量
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,941评论 19 139
  • Kafka入门经典教程-Kafka-about云开发 http://www.aboutyun.com/threa...
    葡萄喃喃呓语阅读 13,699评论 4 54
  • kafka的定义:是一个分布式消息系统,由LinkedIn使用Scala编写,用作LinkedIn的活动流(Act...
    时待吾阅读 10,765评论 1 15
  • 浮生若梦续未了,多少往事已惘然。 晨钟暮鼓听落雪,古寺松色心自安。
    党向阳阅读 1,562评论 0 0
  • 秦可卿历来被专家们赋予了各种神秘的说法。 我们还是跟随原文自行领略一二吧。 先是王熙凤做了一个梦。 在梦中,这个秦...
    那座野山阅读 3,490评论 8 0

友情链接更多精彩内容