Linux开机自动启动kafka

一、首先尝试过zookeeper.service、kafka.service。方式,不过一些环境变量问题,导致无法启动。
二、采用/etc/init.d/ 方式
1、编辑/etc/init.d/zookeeper,注意以下几点:
(1)要设置java环境变量
(2)#chkconfig:2345(level) 20(启动顺序:越小越快) 80(停止顺序)
(3)start、stop、status、restart。都要有对应的命令

#!/bin/bash

export JAVA_HOME=/usr/local/jdk1.8.0_301
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
case $1 in
          start) 
              /usr/local/apache-zookeeper-3.6.3-bin/bin/zkServer.sh start
              ;;
          stop)
              /usr/local/apache-zookeeper-3.6.3-bin/bin/zkServer.sh stop
              ;;
          status)
              /usr/local/apache-zookeeper-3.6.3-bin/bin/zkServer.sh status
              ;;
          restart)
              /usr/local/apache-zookeeper-3.6.3-bin/bin/zkServer.sh restart
              ;;
          *)
              echo "require start|stop|status|restart"
              ;;
esac

2、授权chmod 777 /etc/init.d/zookeeper
3、测试service zookeeper start
4、添加到服务chkconfig --add zookeeper
5、服务开机自动启动chkconfig zookeeper on
6、查看服务chkconfig --list

7、编辑/etc/init.d/kafka,注意优先级要低于zookeeper,其他同上

#!/bin/bash

export JAVA_HOME=/usr/local/jdk1.8.0_301
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin


#chkconfig:2345 21 80
#description:kafka
#processname:kafka
case $1 in
          start)
              /usr/local/kafka_2.13-2.8.0/bin/kafka-server-start.sh -daemon /usr/local/kafka_2.13-2.8.0/config/server.properties
              ;;
          stop)
               /usr/local/kafka_2.13-2.8.0/bin/kafka-server-stop.sh
              ;;
          status)
              jps
              ;;
          restart)
              /usr/local/kafka_2.13-2.8.0/bin/kafka-server-stop.sh
              /usr/local/kafka_2.13-2.8.0/bin/kafka-server-start.sh -daemon /usr/local/kafka_2.13-2.8.0/config/server.properties
              ;;
          *)
              echo "require start|stop|status|restart"
              ;;
esac

还有直接一个脚本启动zookeeper和kafka
vi /etc/init.d/zkkafka

#!/bin/bash

export JAVA_HOME=/usr/local/jdk1.8.0_301
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin


#chkconfig:2345 20 90
#description:kafka
#processname:kafka


echo "zookeeper start.............."
cd /usr/local/kafka_2.13-2.8.0
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
sleep 3s
echo "kafka start .............."
bin/kafka-server-start.sh -daemon config/server.properties
echo "kafka end ................"

Kafka是一个分布式流处理平台,它通常用于构建实时数据管道和应用。在Linux系统上让Kafka开机自启动,你可以通过编辑配置文件并将其添加到系统的初始化脚本中来实现。以下是基本步骤: 1. **安装Kafka**:首先确保已经安装了Kafka,如果没有,可以使用包管理器如`apt-get`(Ubuntu)或`yum`(CentOS)安装。 2. **检查配置文件**:Kafka的配置文件通常是`kafka.properties`或`config/server.properties`,确认所有设置都已正确配置,并且包含你需要在启动自动加载的选项。 3. **创建开机启动项**: - 对于Systemd(新版本的Linux系统常用): - 打开`/etc/systemd/system/kafka.service`文件(如果不存在,创建它) - 添加内容,例如: ```shell [Unit] Description=Apache Kafka Server After=network.target [Service] User=kafka Group=kafka ExecStart=/usr/bin/kafka-server-start /path/to/config/server.properties Restart=always KillMode=process Environment="JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" [Install] WantedBy=multi-user.target ``` - 然后运行 `sudo systemctl daemon-reload` 更新服务列表,接着 `sudo systemctl enable kafka.service` 让其开机启动,最后 `sudo systemctl start kafka.service` 启动服务。 - 对于Upstart(旧版Ubuntu的默认脚本管理器): - 将配置放入 `/etc/init/kafka.conf` 文件,类似Systemd: ``` description "Apache Kafka" start on runlevel [2345] respawn exec /usr/bin/kafka-server-start /path/to/config/server.properties ``` 4. **验证启动**:重启服务器后,使用`systemctl status kafka.service` 或 `service kafka status` 来确认Kafka是否在启动自动运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值