【大数据基础知识】Kafka集群安装与和测试如何操作

发布 : 大数据培训      来源:大数据干货资料

2020-04-06 22:38:28

一、 安装JDK &配置JAVA_HOME

JDK安装和JAVA_HOME配置,大家都应该很熟悉了,我们在此不再赘述。

二、 安装Zookeeper

参照Zookeeper官网搭建一个ZK集群, 并启动ZK集群。

三、 解压Kafka安装包

1. 修改配置文件config/server.properties

vi server.properties

broker.id=0 //集群中唯一id,依次增长:0、1、2、3、4

log.dirs=/root/kafkaData/ // 设置Kafka的消息数据存储路径

zookeeper.connect=node1:2181,node2:2181,node3:2181 //zookeeperServers列表,节点间以逗号分开

delete.topic.enable=true

listeners=PLAINTEXT:/node1:9092

log.dirs=/root/kafkaData/

num.partitions=3

# 往其他节点分发安装包

for i in 2 3 ; do scp -r kafka_2.11-0.10.2.1/node$i:$PWD ;done

在其它几台节点上,分别修改此配置文件:broker.id依次增长。

【大数据基础知识】大数据之Kafka集群安装与测试

2. 启动Kafka

启动kafka之前,必须要保证在每个节点上zookeeper都是启动的。

在每个节点上启动Kafka:

bin/kafka-server-start.sh [-daemon] config/server.properties

3. 集群测试

(1)进入kafka根目录,创建test主题(topic)

bin/kafka-topics.sh --create --zookeeper node1:2181,node2:2181,node3:2181 --replication-factor 3 --partitions 1 --topic test

(2)显示已创建的topic列表

bin/kafka-topics.sh --list --zookeeper node1:2181

(3)显示topic的详细信息

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test

Topic:test PartitionCount:1 ReplicationFactor:3 Configs:

Topic: test Partition: 0 Leader: 1 Replicas: 1,2,0 Isr: 1,2,0

第一行是所有分区的一个整体描述,然后下面列出每个分期的信息,每个分区对应一行。因为本例中只有一个分区,所以下面只有一行。

leader:负责读写消息,zookeeper从所有节点中随机选择leader。

replicas:,列出所有的副本节点,即便节点现在不在服务中。

isr:列出正在服务中的节点。

在本例中,节点1是作为leader运行。

(4)使用客户端命令去发送消息

bin/kafka-console-producer.sh --broker-list node1:9092,node2:9092,node3:9092 --topic test

(5)使用客户端命令去消费消息

bin/kafka-console-consumer.sh --bootstrap-server node1:9092,node2:9092,node3:9092 --from-beginning --topic test

可以通过参数 consumer-property来指定消费者的group id:

kafka-console-consumer.sh --topic test --bootstrap-server node1:9092,node2:9092,node3:9092 --consumer-property group.id=xx

【大数据基础知识】大数据之Kafka集群安装与测试

(6)测试集群容错能力

Kill -9 pid[leader节点]

此时,另外一个节点被选做了leader, in-sync 副本列表中不再有节点1:

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test

Topic:test PartitionCount:1 ReplicationFactor:3 Configs:

Topic: test Partition: 0 Leader: 2 Replicas: 1,2,0 Isr: 2,0

虽然最初负责读写消息的leader 不在线了,但之前的消息仍然可以消费:

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic test

(7)删除主题

bin/kafka-topics.sh --delete --zookeeper node1:2181,node2:2181,node3:2181 --topic test

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部