一、kafka单机部署
1. 上传kafka_1.20-0.10.1.0.tgz到linux
2. 解压
tar -xzvf kafka_1.20-0.10.1.0.gz -C /home/hadoop/work/
3. 在bin下查看脚本
cd /home/hadoop/work/ kafka_1.20-0.10.1.0/bin
在config下查看zookeeper配置文件
cd /home/hadoop/work/ kafka_1.20-0.10.1.0/config
cat zookeeper.properties
4.启动一个单节点zookeeper
在kafka_1.20-0.10.1.0下:bin/zookeeper-server-start.sh config/zookeeper.properties
5.新开一个Xshell客户端连接redhat02
jps 查看zookeeper进程
6.启动一个kafka的server
在kafka_1.20-0.10.1.0下:bin/kafka-server-start.sh config/server.properties
7.新开一个Xshell客户端连接redhat02
jps 查看Kafka进程
8.创建一个kafka的topic
在kafka_1.20-0.10.1.0下:bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test_topic
可通过命令:bin/kafka-topics.sh --list --zookeeper localhost:2181查看topic是否创建成功
9.创建一个console的producer
在kafka_1.20-0.10.1.0下:bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test_topic
这时启动了一个console终端,输入iphone、xiaomi、meizu等测试数据
10.新开一个Xshell客户端连接redhat02
jps 查看ConsoleProducer进程
11.创建一个console的consumer
在kafka_1.20-0.10.1.0下:bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test_topic --from-beginning
查看是否消费到producer创建的消息
12.关掉consumer,再打开consumer
在kafka_1.20-0.10.1.0下:bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test_topic --from-beginning
查看是否消费到producer创建的所有消息
13.关掉consumer,再打开consumer
在kafka_1.20-0.10.1.0下:bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test_topic
查看是否消费到producer创建的所有消息
在producer中创建新消息,比如:huawei、chuizi等,看consumer是否消费到
二、kafka集群部署
1. 确保kafka_1.20-0.10.1.0在redhat01、redhat02、redhat03中都存在
在/home/hadoop/work/ kafka_1.20-0.10.1.0/目录下:
vim config/server.properties
修改broker.id
redhat01的broker.id=0,redhat02的broker.id=1,redhat03的broker.id=2
修改zookeeper.connect=redhat01:2181,redhat02:2181,redhat03:2181
2. 确保redhat01、redhat02、redhat03中的zookeeper都已启动
如果没启动,在/home/hadoop/work/zookeeper-3.4.9/bin/目录下:./zkServer.sh start
3. 启动redhat01、redhat02、redhat03中的kafka
在/home/hadoop/work/kafka_1.20-0.10.1.0/目录下:bin/kafka-server-start.sh config/server.properties
如果出现以下错误:
则删除/tmp/kafka-logs/下的所有文件,在/tmp目录下:rm –r kafka-logs
4.创建一个kafka的topic
在kafka_1.20-0.10.1.0下:bin/kafka-topics.sh --create --zookeeper redhat01:2181 --replication-factor 3 --partitions 2 --topic clusterTopic
可通过命令:bin/kafka-topics.sh --list --zookeeper redhat01:2181查看topic是否创建成功
5.查看topic的描述信息
在kafka_1.20-0.10.1.0下:bin/kafka-topics.sh –describe –zookeeper redhat01:2181 -–topic cluster_topic
6.创建一个console的producer
在kafka_1.20-0.10.1.0下:bin/kafka-console-producer.sh --broker-list redhat01:9092 --topic cluster_topic
7.创建一个console的consumer
新开一个Xshell客户端,在kafka_1.20-0.10.1.0下:bin/kafka-console-consumer.sh --zookeeper redhat01:2181 --topic cluster_topic --from-beginning
8.在producer端输入数据,在consumer端看效果