kafka测试

1】确认 ZooKeeper 服务状态

为了进一步确认 ZooKeeper 服务的状态,你可以执行以下操作:

  1. 检查 ZooKeeper 服务状态

    bash 复制代码
    docker ps

    确保 ZooKeeper 容器正在运行。

  2. 检查 ZooKeeper 日志

    bash 复制代码
    docker logs zookeeper

    查看最新的日志条目,确保没有新的错误或警告信息。

  3. 测试 ZooKeeper 连接

    使用 nc(Netcat)来测试 ZooKeeper 服务是否可以连接:

    bash 复制代码
    docker exec -it kafka /bin/sh
    nc -zv 110.40.130.231 2181

    如果连接成功,你会看到类似以下的输出:

    bash 复制代码
    Connection to 110.40.130.231 2181 port [tcp/*] succeeded!

2】确认 Kafka 服务状态

若ZooKeeper 服务已经正常运行,再认 Kafka 服务的状态:

  1. 检查 Kafka 服务状态

    bash 复制代码
    docker ps

    确保 Kafka 容器正在运行。

  2. 检查 Kafka 日志

    复制代码
    docker logs kafka

    查看最新的日志条目,确保没有新的错误或警告信息。

  3. 测试 Kafka 生产和消费消息

    使用 Kafka 的命令行工具来测试生产者和消费者的连接。首先,进入 Kafka 容器:

    复制代码
    docker exec -it kafka /bin/sh

    然后,创建一个测试主题:

    bash 复制代码
    /opt/kafka/bin/kafka-topics.sh --create --topic test-topic --partitions 1 --replication-factor 1 --zookeeper 110.40.130.231:2181

    发送一些测试消息:

    复制代码
    /opt/kafka/bin/kafka-console-producer.sh --broker-list 110.40.130.231:9092 --topic test-topic

    在另一个终端窗口中,启动一个消费者来接收消息:

    bash 复制代码
    docker exec -it kafka /bin/sh
    /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server 110.40.130.231:9092 --topic test-topic --from-beginning

    如果一切正常,在消费者端看到生产者发送的消息。


复制代码
/opt/kafka/bin/kafka-topics.sh --create --topic test-topic --partitions 1 --replication-factor 1 --zookeeper 110.40.130.231:2181

详细解释

  1. /opt/kafka/bin/kafka-topics.sh:

    • 这是 Kafka 提供的命令行工具之一,用于管理和操作 Kafka 主题。
    • 路径 /opt/kafka/bin 是 Kafka 安装目录下的 bin 目录,其中包含了各种 Kafka 命令行工具。
  2. --create:

    • 这个选项表示要创建一个新的主题。
    • 其他常用选项包括 --list(列出所有主题)、--describe(描述特定主题的详细信息)、--delete(删除主题)等。
  3. --topic test-topic:

    • 这个选项指定了要创建的主题的名称。
    • test-topic 是选择的主题名称,你可以根据需要将其替换为任何其他名称。
  4. --partitions 1:

    • 这个选项指定了主题的分区数。
    • 分区是 Kafka 中的一个重要概念,用于实现水平扩展和并行处理。每个分区可以独立地存储和处理消息。
    • 在这个例子中,1 表示该主题将只有一个分区。
  5. --replication-factor 1:

    • 这个选项指定了主题的副本因子。
    • 副本因子决定了每个分区的数据在多少个不同的 Kafka 代理(broker)上进行复制,以提高可用性和容错性。
    • 在这个例子中,1 表示每个分区只有一个副本,这意味着没有冗余备份。如果你希望增加冗余,可以将此值设置为大于 1 的数字,例如 23
  6. --zookeeper 110.40.130.231:2181:

    • 这个选项指定了 ZooKeeper 的地址和端口。
    • ZooKeeper 是一个分布式协调服务,Kafka 使用它来管理集群的元数据,包括主题、分区和副本的信息。
    • 110.40.130.231 是 ZooKeeper 服务器的 IP 地址,2181 是默认的 ZooKeeper 端口。
相关推荐
数据智能老司机4 小时前
CockroachDB权威指南——CockroachDB SQL
数据库·分布式·架构
数据智能老司机5 小时前
CockroachDB权威指南——开始使用
数据库·分布式·架构
数据智能老司机5 小时前
CockroachDB权威指南——CockroachDB 架构
数据库·分布式·架构
IT成长日记5 小时前
【Kafka基础】Kafka工作原理解析
分布式·kafka
州周7 小时前
kafka副本同步时HW和LEO
分布式·kafka
爱的叹息9 小时前
主流数据库的存储引擎/存储机制的详细对比分析,涵盖关系型数据库、NoSQL数据库和分布式数据库
数据库·分布式·nosql
程序媛学姐9 小时前
SpringKafka错误处理:重试机制与死信队列
java·开发语言·spring·kafka
千层冷面10 小时前
RabbitMQ 发送者确认机制详解
分布式·rabbitmq·ruby
ChinaRainbowSea10 小时前
3. RabbitMQ 的(Hello World) 和 RabbitMQ 的(Work Queues)工作队列
java·分布式·后端·rabbitmq·ruby·java-rabbitmq
敖正炀10 小时前
基于RocketMQ的可靠消息最终一致性分布式事务解决方案
分布式