Kafka

解压,进入kafka目录下的bin目录

启动zk

nohup ./zookeeper-server-start.sh ../config/zookeeper.properties &

nohup ./bin/zookeeper-server-start.sh ./config/zookeeper.properties &

启动kafka

nohup ./kafka-server-start.sh ../config/server.properties &

nohup ./bin/kafka-server-start.sh ./config/server.properties &

创建topic

./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

./kafka-topics.sh --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test2 --create

列出topic

./kafka-topics.sh --list --zookeeper localhost:2181

./kafka-topic --zookeeper localhost:2181 --list

启动生产者并发送消息

./kafka-console-producer.sh --broker-list localhost:9092 --topic zyl

输入消息

nihao

china

另外开个终端,启动消费者接受消息

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

可以接受到

nihao

china

另外开个终端,可以看到有4个进程(分别为zk、kafka、控制台消费者、控制台生产者)

[root@aa bin]# jps | grep -v Jps

9802 QuorumPeerMain

10392 Kafka

10956 ConsoleConsumer

10887 ConsoleProducer

使用集群3个节点(多个节点也同理,加上之前的,我一共弄了4个节点)

拷贝并修改配置文件

cp server.properties server1.properties

cp server.properties server2.properties

cp server.properties server3.properties

nohup ./kafka-server-start.sh ../config/server1.properties &

nohup ./kafka-server-start.sh ../config/server2.properties &

nohup ./kafka-server-start.sh ../config/server3.properties &

[root@aa bin]# ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic(注意,指定的是3)

Created topic "my-replicated-topic".

[root@aa bin]# ./kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic

Topic:my-replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:

Topic: my-replicated-topic Partition: 0 Leader: 2 Replicas: 2,3,0 Isr: 2,3,0

[root@aa bin]# ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 4 --partitions 1 --topic my-replicated-topic

Error while executing topic command Topic "my-replicated-topic" already exists.

kafka.common.TopicExistsException: Topic "my-replicated-topic" already exists.

at kafka.admin.AdminUtils$.createOrUpdateTopicPartitionAssignmentPathInZK(AdminUtils.scala:171)

at kafka.admin.AdminUtils$.createTopic(AdminUtils.scala:156)

at kafka.admin.TopicCommand$.createTopic(TopicCommand.scala:86)

at kafka.admin.TopicCommand$.main(TopicCommand.scala:50)

at kafka.admin.TopicCommand.main(TopicCommand.scala)

[root@aa bin]# ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 4 --partitions 1 --topic my-replicated-topic2

Created topic "my-replicated-topic2".

[root@aa bin]# ./kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic2

Topic:my-replicated-topic2 PartitionCount:1 ReplicationFactor:4 Configs:

Topic: my-replicated-topic2 Partition: 0 Leader: 1 Replicas: 1,2,3,0 Isr: 1,2,3,0

[root@aa bin]# ./kafka-topics.sh --describe --zookeeper localhost:2181 --topic zyl

Topic:zyl PartitionCount:1 ReplicationFactor:1 Configs:

Topic: zyl Partition: 0 Leader: 0 Replicas: 0 Isr: 0

启动生产者并发送消息

./kafka-console-producer.sh --broker-list localhost:9092 --topic my-replicated-topic

另外开个终端,启动消费者接受消息

./kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic my-replicated-topic

另外开个终端,可以看到有9个进程(分别为1个zk、4个kafka、2个控制台消费者、2个控制台生产者)

[root@aa ~]# jps | grep -v Jps

9802 QuorumPeerMain

10392 Kafka

11547 Kafka

12007 ConsoleProducer

10956 ConsoleConsumer

10887 ConsoleProducer

11469 Kafka

12054 ConsoleConsumer

11710 Kafka

查看单独的进程:

ps -ef | grep server.properties | grep -v grep

ps -ef | grep "server1.properties" | grep -v grep

测试leader

杀掉进程,然后--describe查看

[root@aaa bin]# ./kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic

Topic:my-replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:

Topic: my-replicated-topic Partition: 0 Leader: 2 Replicas: 2,3,0 Isr: 2,3,0

可以看到leader是2.

[root@aa bin]# ./kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic2

Topic:my-replicated-topic2 PartitionCount:1 ReplicationFactor:4 Configs:

Topic: my-replicated-topic2 Partition: 0 Leader: 1 Replicas: 1,2,3,0 Isr: 1,2,3,0

可以看到leader是2.

[root@aa bin]# ps -ef | grep server1.properties | grep -v grep

杀掉某个kafka进程

kill -9 11469

./kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic2

Topic:my-replicated-topic2 PartitionCount:1 ReplicationFactor:4 Configs:

Topic: my-replicated-topic2 Partition: 0 Leader: 2 Replicas: 1,2,3,0 Isr: 2,3,0

[root@aa bin]# ./kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic

Topic:my-replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:

Topic: my-replicated-topic Partition: 0 Leader: 2 Replicas: 2,3,0 Isr: 2,3,0

可以看到my-replicated-topic2的leader变成了2。

问题:

1.zookeeper-shell.sh如何使用

2.能不能通过kafka-server-stop.sh停止某个kafka呢

Command must include exactly one action: --list, --describe, --create or --alter

Option                                  Description

------                                  -----------

--alter                                 Alter the configuration for the topic.

--config <name=value>                   A topic configuration override for the

topic being created or altered.

--create                                Create a new topic.

--deleteConfig <name>                   A topic configuration override to be

removed for an existing topic

--describe                              List details for the given topics.

--help                                  Print usage information.

--list                                  List all available topics.

--partitions <Integer: # of partitions> The number of partitions for the topic

being created or altered (WARNING:

If partitions are increased for a

topic that has a key, the partition

logic or ordering of the messages

will be affected

--replica-assignment                    A list of manual partition-to-broker

<broker_id_for_part1_replica1 :         assignments for the topic being

broker_id_for_part1_replica2 ,          created or altered.

broker_id_for_part2_replica1 :

broker_id_for_part2_replica2 , ...>

--replication-factor <Integer:          The replication factor for each

replication factor>                     partition in the topic being created.

--topic <topic>                         The topic to be create, alter or

describe. Can also accept a regular

expression except for --create option

--topics-with-overrides                 if set when describing topics, only

show topics that have overridden

configs

--unavailable-partitions                if set when describing topics, only

show partitions whose leader is not

available

--under-replicated-partitions           if set when describing topics, only

show under replicated partitions

--zookeeper <urls>                      REQUIRED: The connection string for

the zookeeper connection in the form

host:port. Multiple URLS can be

given to allow fail-over.

kafka 常用命令的更多相关文章

  1. kafka常用命令

    以下是kafka常用命令行总结: 0.查看有哪些主题: ./kafka-topics.sh --list --zookeeper 192.168.0.201:12181 1.查看topic的详细信息 ...

  2. Kafka学习之四 Kafka常用命令

    Kafka常用命令 以下是kafka常用命令行总结: 1.查看topic的详细信息 ./kafka-topics.sh -zookeeper 127.0.0.1:2181 -describe -top ...

  3. Kafka常用命令收录

    目录 目录 1 1. 前言 2 2. Broker默认端口号 2 3. 安装Kafka 2 4. 启动Kafka 2 5. 创建Topic 2 6. 列出所有Topic 3 7. 删除Topic 3 ...

  4. Hadoop生态圈-Kafka常用命令总结

    Hadoop生态圈-Kafka常用命令总结 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.管理Kafka服务的命令 1>.开启kafka服务 [yinzhengjie@s ...

  5. Kafka常用命令合集

    在上一篇文章<Linux安装Kafka>中,已经介绍了如何在Linux安装Kafka,以及Kafka的启动/关闭和创建发话题并产生消息和消费消息.这篇文章就介绍介绍Kafka的那些常用的命 ...

  6. kafka常用命令笔记

    0.查看有哪些主题: ./kafka-topics.sh --list --zookeeper 192.168.0.201:12181 1.查看topic的详细信息 ./kafka-topics.sh ...

  7. Kafka常用命令及配置文件

    创建topic,指定备份分区数 bin/kafka-topics.sh --create --zookeeper zk:2181 --replication-factor 2 --partitions ...

  8. Kafka常用命令及详细介绍

    目录 常用操作 Sentry kafka 清理 Kafka 术语 Kafka 主题剖析 Kafka 生产者 kafka 消费者和消费组 一致性和可用性 写入处理 失败处理 Kafka 客户端一致性 文 ...

  9. kafka常用命令(cdh5.10.0+kafka)

    参考资料:http://kafka.apache.org/quickstart 进入kafka安装目录(CDH安装路径为:/opt/cloudera/parcels/KAFKA):进入bin目录: c ...

随机推荐

  1. vue.js 源代码学习笔记 ----- observe

    参考 vue 2.2.6版本 /* @flow */ //引入订阅者模式 import Dep from './dep' import { arrayMethods } from './array' ...

  2. Slice header 中的frame_num的含义?

    Frame_num表示解码的顺序.该图像是参考帧的时候,Frame_num才有意义.非参考帧的frame_num在poc type为2或3时,用于poc值的计算. H264中frame_num定义如下 ...

  3. C++实现线程同步的几种方式

    线程同步是指同一进程中的多个线程互相协调工作从而达到一致性.之所以需要线程同步,是因为多个线程同时对一个数据对象进行修改操作时,可能会对数据造成破坏,下面是多个线程同时修改同一数据造成破坏的例子: # ...

  4. ROS机器人操作系统在线练习

    废话不说,先看图吧: 1. ROS in 5 Days Entering ROS 2. ROS Navigation in 5 Days Mastering ROS 3. ROS Autonomous ...

  5. MPAndroidChart Wiki(译文)~Part 5

    19. ChartData子类 这篇wiki主要关注ChartData子类的具体介绍.至于此部分没有提及到的ChartData的子类,代表他们没有特性功能需要介绍. BarData 方法 使用 set ...

  6. HDU 1043

    http://acm.hdu.edu.cn/showproblem.php?pid=1043 http://www.cnblogs.com/goodness/archive/2010/05/04/17 ...

  7. java 多线程超详细总结——阿里大牛熬夜整理

    引 如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现.说这个 ...

  8. postfix邮件服务器搭建01-准备篇

    本系列文章主要介绍linux下主流的开源邮件系统postfix的搭建过程,构建一个通过postfix虚拟用户管理的完整的邮件系统, 该系统包括以下组件: 邮件收发端postfix,dovecot, 邮 ...

  9. 機器學習基石 机器学习基石(Machine Learning Foundations) 作业2 第10题 解答

    由于前面分享的几篇博客已经把其他题的解决方法给出了链接,而这道题并没有,于是这里分享一下: 原题: 这题说白了就是求一个二维平面上的数据用决策树来分开,这就是说平面上的点只能画横竖两个线就要把所有的点 ...

  10. learn go memoization

    package main // 参考文章: // https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/06.12.md i ...