这里再啰嗦一遍,首先,Kafka集群依赖于Zookeeper集群,所以我们需要提前安装好Zookeeper集群
安装Zookeeper集群链接:
https://blog.csdn.net/lwf006164/article/details/94407664
准备工作:
机器A
机器B
机器C
第一步:下载Kafka 2.2.0
//通过wget命令下载
wget http://mirror.bit.edu.cn/apache/kafka/2.2.0/kafka_2.12-2.2.0.tgz
第二步:解压
//解压,-C是指定解压目录,~/training是当前用户根目录下面的training文件夹
tar zxvf kafka_2.12-2.2.0.tgz -C ~/training
//cd到解压目录
cd kafka_2.12-2.2.0
第三步:配置环境变量(可选),这一步的作用是让我们在任何地方都可以调用Kafka中的命令
//进入编辑模式
vi ~/.bash_profile
//Kafka的安装目录
export KAFKA_HOME=/root/training/kafka_2.12-2.2.0
//Kafka的bin目录
export PATH=$KAFKA_HOME/bin:$PATH
//让配置生效
source ~/.bash_profile
第四步:修改配置文件server.properties,每台机器的broker.id要唯一
//用于区分broker,必须唯一,每台机器只需要一个broker.id
//机器A
broker.id=0
//机器B
broker.id=1
//机器C
broker.id=2
//PLAINTEXT表示协议,配置本机IP地址
listeners=PLAINTEXT://your.host.name:9092
//PLAINTEXT表示协议,配置本机IP地址,对外公布
advertised.listeners=PLAINTEXT://your.host.name:9092
//配置zookeeper的地址,zookeeper集群地址以逗号隔开
zookeeper.connect=机器A的ip:2181,机器B的ip:2181,机器C的ip:2181
//配置数据存放目录
log.dirs=/root/training/kafka_2.12-2.2.0/tmp
//数据保留的时间,默认为7天
log.retention.hours=168
第五步:逐一启动Kafka
//配置了环境变量,1代表标准输出,2代表错误输出,把2重定向到标准输出1需要使用&,最后的&表示后台运行
nohup kafka-server-start.sh $KAFKA_HOME/config/server.properties > kafka_start.log 2>&1 &
//没有配置环境变量,1代表标准输出,2代表错误输出,把2重定向到标准输出1需要使用&,最后的&表示后台运行
nohup bin/kafka-server-start.sh config/server.properties > kafka_start.log 2>&1 &
Kafka的相关命令
//启动kafka
bin/kafka-server-start.sh config/server.properties
//停止kafka
bin/kafka-server-stop.sh
//创建topic,--replication-factor指定副本个数,--partitions指定分区个数
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
//查看所有的topic信息
bin/kafka-topics.sh --list --zookeeper localhost:2181
//启动生产者
bin/kafka-console-producer.sh --broker-list your.host.name:9092 --topic test
//启动消费者
bin/kafka-console-consumer.sh --bootstrap-server your.host.name:9092 --topic test --from-beginning
//删除topic
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test
生产消息:
消费消息: