400-848-8001

2020军队文职计算机知识:大数据之Kafka集群安装与测试

2020-07-16 10:55:30
来源:红师教育
TAGS:

【导语】2020军队文职计算机知识:大数据之Kafka集群安装与测试已发布,为助力各位考生做好2020年军队文职招聘考试准备,红师军队文职考试网提供了军队文职专业科目综合辅导等内容,祝大家考试顺利。


一、 安装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依次增长。

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

(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


责任编辑:郑智杰

查看全部

热门资讯

推荐资讯