kafka集群搭建+服务自启

mac2025-02-27  5

说明:至少准备三台linux主机,此外kafka有内置zookeeper,也可以自己安装zookeeper,本文使用的是自己安装的

一、下载并解压kafka

cd到要安装的目录:

wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.3.1/kafka_2.12-2.3.1.tgz

解压:tar -zxvf kafka_2.12-2.3.1.tgz

二、修改环境变量

vim /etc/profile

例如小编的配置:

export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.9/ export PATH=$ZOOKEEPER_HOME/bin:$PATH export KAFKA_HOME=/usr/local/kafka export PATH=$KAFKA_HOME/bin:$PATH export PATH

使配置生效:

source /etc/profile

三、修改kafka 配置文件

[root@ms kafka]# cd config/ [root@ms config]# vim server.properties

  修改的复方如下:

    注:其他主机配置安装也一样

四、启动、关闭及先后循序

先启动zookeeper集群,再启动kafka集群,否则kafka启动失败。

  1、启动(后台运行方式):

[root@ms kafka]# cd bin/ [root@ms bin]# ./kafka-server-start.sh -daemon config/server.properties 1>/dev/null 2>&1 &

2、关闭

[root@ms kafka]# cd bin/ [root@ms bin]# ./kafka-server-stop.sh

五、测试

在其中一台虚拟机创建topic

[root@ms kafka]#bin/kafka-topics.sh --create --zookeeper 192.168.1.139:2181 --replication-factor 3 -partitions 1 --topic mytopic

查看创建的topic信息

[root@ms kafka]# bin/kafka-topics.sh --list --zookeeper 192.168.1.139:2181,192.168.1.136:2181,192.168.1.137:2181 mytopic [root@ms kafka]# bin/kafka-topics.sh --describe --zookeeper 192.168.1.139:2181 --topic mytopic [2019-11-01 11:14:32,440] ERROR Unable to open socket to 0.0.0.1/0.0.0.1:2181 (org.apache.zookeeper.ClientCnxnSocketNIO) Topic:mytopic PartitionCount:1 ReplicationFactor:3 Configs: Topic: mytopic Partition: 0 Leader: 137 Replicas: 137,136,139 Isr: 137,136,139

删除topic:

[root@ms kafka]# bin/kafka-topics.sh --delete --zookeeper 192.168.1.139:2181,192.168.1.136:2181,192.168.1.137:2181 --topic mytopic Topic mytopic is marked for deletion. Note: This will have no impact if delete.topic.enable is not set to true. [root@ms kafka]# bin/kafka-topics.sh --list --zookeeper 192.168.1.139:2181,192.168.1.136:2181,192.168.1.137:2181 [root@ms kafka]#

注:如果嫌弃命令太长,可以自己写shell脚本操作,生产、消费服务测试这里就不详细写了。

六、设置kafka服务自启

[root@ms ~]# cd /etc/init.d/ [root@ms init.d]# vim kafka 内容如下: #!/bin/bash #description: kafka start stop restart #processname:kafka #chkconfig: 2345 21 90 KAFKA_HOME=/usr/local/kafka case $1 in start) ${KAFKA_HOME}/bin/kafka-server-start.sh -daemon ${KAFKA_HOME}/config/server.properties 1>/dev/null 2 >&1 &;; stop) ${KAFKA_HOME}/bin/kafka-server-stop.sh;; restart) ${KAFKA_HOME}/bin/kafka-server-stop.sh ${KAFKA_HOME}/bin/kafka-server-start.sh -daemon ${KAFKA_HOME}/config/server.properties 1>/dev/null 2>&1 &;; *) echo 'plase use:kafka {start|stop|restart}';; esac exit 0 修改权限: [root@ms init.d]# chmod +x kafka 添加到服务: [root@ms init.d]# chkconfig --add kafka 查看: [root@ms init.d]# chkconfig --list kafka 设置kafka服务自启: [root@ms init.d]# chkconfig kafka on 设置成功后,手动操作: [root@ms init.d]# service kafka start [root@ms init.d]# service kafka stop [root@ms init.d]# service kafka restart

注:# chkconfig: 234 21 902345表示系统运行级别是2,3,4或者5时都启动此服务,21是启动的优先级数字越低,优先级越高,90是关闭的优先级数字越低,优先级越高,如果启动优先级配置的数太小时如0时,则有可能启动不成功,因为此时可能其依赖的网络服务还没有启动,从而导致自启动失败。优先级范围是0-100,数字越大,优先级越低。

# 缺省的运行级,RHS用到的级别如下:

0:关机

1:单用户模式

2:无网络支持的多用户模式

3:有网络支持的多用户模式

4:保留,未使用

5:有网络支持有X-Window支持的多用户模式

6:重新引导系统,即重启

最新回复(0)