Kafka单机模式

1.解压
tar -xvf kafka_2.11-0.8.0.0.tgz -C /home/hadoop/apps/

2.配置环境变量
vi ~/.bashrc

1
2
export KAFKA_HOME=/opt/software/kafka
export PATH=$PATH:$KAFKA_HOME/bin

source ~/.bashrc

3.启动zookeeper
zkServer.sh start
zkServer.sh status

4.启动kafaka
kafka-server-start.sh /home/hadoop/apps/kafka/config/server.properties

5.创建topic
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
解释:
–zookeeper:zookeeper地址:端口
–replication-factor :副本数量
–partitions:分区数量
–topic:主题名称

6.删除topic
前提要求:
server.properties中设置
delete.topic.enable=true
kafka-topics.sh --delete --zookeeper localhost:2181 --topic test
删除kafka存储目录(server.properties文件log.dirs配置,默认为”/tmp/kafka-logs”)相关topic目录。删除zookeeper “/brokers/topics/“目录下相关topic节点

7.查看topic
kafka-topics.sh --list --zookeeper localhost:2181

8.查看指定topic的详细信息
kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
说明:{
partiton:分区:ID
leader:当前负责读写的lead broker idk
relicas:当前partition的所有replication broker
listisr:relicas的子集,只包含出于活动状态的broker}

9.开启生产者
开启新窗口
kafka-console-producer.sh --broker-list localhost:9092 --topic test

10.开启消费者
开启新窗口
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

11.发送消息测试
在生产者一端输入数据,在消费者一端可以接收到数据

Kafka集群搭建

1.解压
tar -xvf kafka_2.11-0.8.0.0.tgz -C /home/hadoop/apps/

2.配置环境变量
vi ~/.bashrc

1
2
export KAFKA_HOME=/opt/software/kafka
export PATH=$PATH:$KAFKA_HOME/bin

source ~/.bashrc

3.修改server.properties配置文件
vi /home/hadoop/apps/kafka/config/server.properties
a. broker.id=0 (不同的机器值不同)
b. log.dirs=/home/hadoop/apps/kafka/kafka-logs (指定存储目录)
c. delete.topic.enable=true (设置可以删除topic,该条配置放在log.dirs下面即可)
d. zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181 (zookeep集群ip:port)
e. auto.create.topic.enable=true(自动创建topic)

4.将整个kafaka发送到其他子集群
scp -r kafka_2.11-1.1.0/ hadoop2:/home/hadoop/apps/
scp -r kafka_2.11-1.1.0/ hadoop3:/home/hadoop/apps/

5.修改子集群
a. 环境变量
b. server.properties文件的broker.id

6.启动zookeeper集群
在所有机器上
zkServer.sh start
zkServer.sh status

7.启动kafaka集群
在所有机器上
kafka-server-start.sh /home/hadoop/apps/kafka/config/server.properties

8.创建topic
kafka-topics.sh --create --topic shop --partitions 2 --replication-factor 3 --zookeeper hadoop1:2181,hadoop2:2181,hadoop3:2181
解释:
–zookeeper:zookeeper地址:端口
–replication-factor :副本数量
–partitions:分区数量
–topic:主题名称

9.删除topic
前提要求:
server.properties中设置
delete.topic.enable=true
kafka-topics.sh --delete --zookeeper hadoop1:2181,hadoop2:2181,hadoop3:2181 --topic shop
删除kafka存储目录(server.properties文件log.dirs配置,默认为”/tmp/kafka-logs”)相关topic目录。删除zookeeper “/brokers/topics/“目录下相关topic节点

10.查看topic
kafka-topics.sh --list --zookeeper hadoop1:2181,hadoop2:2181,hadoop3:2181

11.查看指定topic的详细信息
kafka-topics.sh --describe --zookeeper hadoop1:2181,hadoop2:2181,hadoop3:2181 --topic test
说明:{
partiton:分区:ID
leader:当前负责读写的lead broker idk
relicas:当前partition的所有replication broker
listisr:relicas的子集,只包含出于活动状态的broker}

12.开启生产者
开启新窗口
kafka-console-producer.sh --broker-list hadoop1:9092,hadoop2:9092,hadoop3:9092 --topic shop

13.开启消费者
开启新窗口
kafka-console-consumer.sh --bootstrap-server hadoop1:9092,hadoop2:9092,hadoop3:9092 --topic shop --from-beginning

14.发送消息测试
在生产者一端输入数据,在消费者一端可以接收到数据

最后更新: 2019年01月31日 21:56

原始链接: https://www.lousenjay.top/2019/01/31/kafka集群搭建/