(1)单节点建立多Broker的集群
多个server.properties文件表示多个Broker,一个server.properties文件对应一个Broker
cp server.properties server-1.properties (复制一个文件1)
vim server-1.properties
将 broker.id=1 (每个server-1.properties文件中的broker.id都不一样 )
listeners=PlAINTEXT://:9093(端口号也不一致)
log.dir=/kbb/install/kafka/log_data/kafka-logs-1
cp server.properties server-2.properties (复制一个文件2)
vim server-2.properties
将 broker.id=2 (每个server-1.properties文件中的broker.id都不一样 )
listeners=PlAINTEXT://:9094(端口号也不一致)
log.dir=/kbb/install/kafka/log_data/kafka-logs-2
(2).启动
cd /kbb/install/kafka
bin/kafka-server-start.sh -daemon config/server-1.properties &
bin/kafka-server-start.sh -daemon config/server-2.properties &
bin/kafka-server-start.sh -daemon config/server-3.properties &
(3).创建topic(因为创建了两个broker,所以创建两个副本replication-factor 2)
kafka-topics.sh --create --zookeeper node01:2181/kafka --replication-factor 2 --partitions 1 --topic Twotopic
(4).查看所有topic
(因为server.properties文件中的zookeeper.connect=node01:2181,node02:2181,node03:2181/kafka,所以查看时要在后面加/kafka)
kafka-topics.sh --list --zookeeper node01:2181/kafka
(5).查看指定topic具体信息(test_topic是要查看topic的名字)
kafka-topics.sh --describe -zookeeper node01:2181/kafka --topic test_topic
(6).创建生产者发送消息:broker
(在服务器上打开一个生产者,然后把输入的每行数据发送到kafka中的命令)
cd /kbb/install/kafka
bin/kafka-console-producer.sh --broker-list node01:9093,node01:9094 --topic Twotopic
(因为server.properties文件中的zookeeper.connect=node01:2181,node02:2181,node03:2181/kafka,所以查看时要在后面加/kafka)
(7).打开一个消费者来消费消息:zookeeper
克隆两个窗口,打开两个消费者
cd /kbb/install/kafka
bin/kafka-console-consumer.sh --zookeeper node01:2181/kafka --topic Twotopic --from-beginning
(8).查看记录的日志
/kbb/install/kafka/log_data/kafka-logs-1
(9).关闭Kafka
cd /kbb/install/kafka
bin/kafka-server-stop.sh