转自:http://blog.csdn.net/suifeng3051/article/details/38321043?utm_source=tuicool&utm_medium=referral

Kafka集群配置比较简单,为了更好的让大家理解,在这里要分别介绍下面三种配置

  • 单节点:一个broker的集群
  • 单节点:多个broker的集群
  • 多节点:多broker集群

单节点单broker实例的配置

1.启动zookeeper服务

bin/zkServer.sh start

2.启动Kafka broker

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

3.创建topic

创建一个仅有一个Partition的topic

bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 1 --partition 1 --topic kafkatopic

或者:

./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partition 1 --topic kafkatopic

版本不同语法不同,参考:http://www.cnblogs.com/huxi2b/p/4571309.html

4.生产消息

用Kafka提供的生产者客户端启动一个生产者进程来发送消息:

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

其中有两个参数需要注意:

  • broker-list:定义了生产者要推送消息的broker地址,以<IP地址:端口>形式     
  • topic:生产者发送给哪个topic

然后你就可以输入一些消息用于发送

5.消费消息

启动一个Consumer实例来消费消息

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

当你执行这个命令之后,你便可以看到控制台上打印出的生产者生产的消息

单节点运行多broker实例

1.启动zookeeper

和上面的一样

2.启动Kafka的broker

要想在一台机器上启动多个broker实例,只需要准备多个server.properties文件即可,比如我们要在一台机器上启动两个broker。

首先我们要准备两个server.properties配置文件

  1. server-1
    1. brokerid=1
    2. port=9092
    3. log.dir=/temp/kafka8-logs/broker1
  2. server-2
    1. brokerid=2
    2. port=9093
    3. log.dir=/temp/kafka8-logs/broker2

然后我们再用这两个配置文件分别启动一个broker

[root@localhost kafka]# env JMX_PORT=9999 bin/kafka-server-start.sh config/server-1.properties

[root@localhost kafka]# env JMX_PORT=10000 bin/kafka-server-start.sh config/server-2.properties

可以看到我们启动是为每个broker都指定了不同的JMX Port,JMX Port主要用来利用jconsole等工具进行监控和排错

3.创建一个topic

创建一个含有两个Partition分区和2个备份的topic:

[root@localhost kafka]# bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 2 --partition 2 --topic othertopic

4.启动Producer发送消息

如果我们要用一个Producer发送给多个broker,唯一需要改变的就是在broker-list属性中指定要连接的broker

[root@localhost kafka]# bin/kafka-console-producer.sh --broker-list localhost:9092,localhost:9093 --topic othertopic

5. 启动Consumer消费消息

和之前的命令一样

[root@localhost kafka]# bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic othertopic --from-beginning

集群模式(多节点多实例)

zookeeper配置文件(zookeeper.properties):不变

broker的配置配置文件(server.properties):按照单节点多实例配置方法在一个节点上启动两个实例,不同的地方是zookeeper的连接串需要把所有节点的zookeeper都连接起来

zookeeper.connect=node1:2181,node2:2181

Kafka详细配置的更多相关文章

  1. Kafka broker配置介绍 (四)

    这部分内容对了解系统和提高软件性能都有很大的帮助,kafka官网上也给出了比较详细的配置详单,但是我们还是直接从代码来看broker到底有哪些配置需要我们去了解的,配置都有英文注释,所以每一部分是干什 ...

  2. python confluent kafka客户端配置kerberos认证

    kafka的认证方式一般有如下3种: 1. SASL/GSSAPI  从版本0.9.0.0开始支持 2. SASL/PLAIN   从版本0.10.0.0开始支持 3. SASL/SCRAM-SHA- ...

  3. SpringCloudStream(RabbitMQ&Kafka)&Spring-Kafka配置使用

    目录 是什么 解决问题 使用方式 创建生产者项目 pom yml 生产消息方法 接口 实现 创建消费者项目 pom yml 接收消息方法 重复消费 消费者yml 持久化 消费者负载个性配置(预拉取) ...

  4. linux 做gw(nat)详细配置

                          linux 做企业网关gw(nat)详细配置   最近因为公司的路由器老化导致上网时断时续,上半小时网就断一次网,为此我头疼不已,本着为公司节约成本的宗旨, ...

  5. (转)springMVC+mybatis+ehcache详细配置

    一. Mybatis+Ehcache配置 为了提高MyBatis的性能,有时候我们需要加入缓存支持,目前用的比较多的缓存莫过于ehcache缓存了,ehcache性能强大,而且位各种应用都提供了解决方 ...

  6. 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程之更改图片和附件上传路径

    本文是接上一篇博客,如果有疑问请先阅读上一篇:百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程 默认UEditor上传图片的路径是,编辑器包目录里面的net目录下 下面就演示如 ...

  7. apache 虚拟主机详细配置:http.conf配置详解

    apache 虚拟主机详细配置:http.conf配置详解 Apache的配置文件http.conf参数含义详解 Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd. ...

  8. HighCharts学习笔记(二)HighCharts结构及详细配置

    HighCharts结构及详细配置: 一.HighCharts整体结构: 通过查看API文档我们知道HighCharts结构如下:(API文档在文章后面提供下载) var chart = new Hi ...

  9. vsftp详细配置(转)

    详细配置转载来自以下链接: http://yuanbin.blog.51cto.com/363003/108262 vsftp源码下载(vsftpd-3.0.2.tar.gz): http://dow ...

随机推荐

  1. kali linux工具--信息批量收集工具theharvester

    在渗透测试早期阶段,安全人员往往需要从互联网快速获取目标的一些信息,以确认测试目标的概况.为了满足这个需求,Kali Linux提供了theharvester工具.该工具可以搜索引擎.社交网站获取目标 ...

  2. Groovy闭包详解

    Groovy闭包是一种可执行代码块的方法,闭包也是对象,可以向方法一样传递参数,因为闭包也是对象,因此可以在需要的时候执行,像方法一样闭包可以传递一个或多个参数.闭包最常见的用途就是处理集合,可以遍历 ...

  3. C# 01 Primitive Types and Expressions

    Class Data or Attributes state of the application Methods or Functions have behavior Namespace is a ...

  4. spring基于XML的声明式事务控制

    <?xml version="1.0" encoding="utf-8" ?><beans xmlns="http://www.sp ...

  5. Python核心编程(网络编程)

    1.python socket模块内置方法 2.tcp服务器伪代码 3.tcp客户端伪代码 4.socket模块属性 5.一个简单的tcp客户端和服务端 服务端代码: # encoding:utf-8 ...

  6. vscode 前端插件推荐

    参考链接:https://segmentfault.com/a/1190000011779959?utm_source=tag-newest#articleHeader48

  7. 极客时间-左耳听风-程序员攻略-Linux系统、内存和网络

    程序员练级攻略:Linux系统.内存和网络 Linux 系统相关 Red Hat Enterprise Linux 文档 . Linux Insides ,GitHub 上的一个开源电子书,其中讲述了 ...

  8. Timeline高级扩展

    转载于http://forum.china.unity3d.com/thread-32200-1-1.html通过demo讲解了timeline更加复杂的使用方式 Timeline是创建过场动画和影片 ...

  9. 高性能伪事务之Lua in Redis

    EVAL简介 Redis2.6加入了对Lua脚本的支持.Lua脚本可以被用来扩展Redis的功能,并提供更好的性能. 在<Redis拾遗>中曾经引用了<Redis in Action ...

  10. iOS开发之获取当前展示的VC

    /** 递归查找当前显示的VC*/ + (UIViewController *)recursiveFindCurrentShowViewControllerFromViewController:(UI ...