这个配是我在http://www.cnblogs.com/zhangXingSheng/p/6646972.html 的基础上再添加的配置

设置多个消息集群

(1)复制两份配置文件

> cp config/server.properties config/server-.properties
> cp config/server.properties config/server-.properties

(2)编辑配置文件

server1.properties

broker.id=
listeners=PLAINTEXT://:9093
log.dir=/home/zhangxs/datainfo/developmentData/kafka/log/log1

server2.propreties

broker.id=
listeners=PLAINTEXT://:9094
log.dir=/home/zhangxs/datainfo/developmentData/kafka/log/log2

(3)启动这个两个消息服务

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

(4)创建一个新的topic

> bin/kafka-topics.sh --create --zookeeper  192.168.177.120: --replication-factor  --partitions  --topic test2

(5)启动2个消费者进程,来订阅这个topic test2

> bin/kafka-console-consumer.sh --bootstrap-server 192.168.177.120: --from-beginning --topic
test2

(6)输入消息

linux

(7)显示结果

遇到的问题:

(2)在我启动生产者集群的时候,抛出的异常

kafka.common.InconsistentBrokerIdException: Configured broker.id  doesn't match
stored broker.id in meta.properties. If you moved your data, make sure your c
onfigured broker.id matches. If you intend to create a new broker, you should re
move all data in your data directories (log.dirs).
at kafka.server.KafkaServer.getBrokerId(KafkaServer.scala:)
at kafka.server.KafkaServer.startup(KafkaServer.scala:)
at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:
)
at kafka.Kafka$.main(Kafka.scala:)
at kafka.Kafka.main(Kafka.scala)
[-- ::,] INFO shutting down (kafka.server.KafkaServer)
[-- ::,] INFO Terminate ZkClient event thread. (org.I0Itec.zkcl
ient.ZkEventThread)
[-- ::,] INFO Session: 0x15b1f53fc120002 closed (org.apache.zoo
keeper.ZooKeeper)
[-- ::,] INFO EventThread shut down for session: 0x15b1f53fc120
(org.apache.zookeeper.ClientCnxn)
[-- ::,] INFO shut down completed (kafka.server.KafkaServer)
[-- ::,] FATAL Fatal error during KafkaServerStartable startup.
Prepare to shutdown (kafka.server.KafkaServerStartable)
kafka.common.InconsistentBrokerIdException: Configured broker.id doesn't match stored broker.id 0 in meta.properties. If you moved your data, make s
ure your configured broker.id matches. If you intend to create a new broker, you should remove all data in your data directories (log.dirs).
at kafka.server.KafkaServer.getBrokerId(KafkaServer.scala:)
at kafka.server.KafkaServer.startup(KafkaServer.scala:)
at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:)
at kafka.Kafka$.main(Kafka.scala:)
at kafka.Kafka.main(Kafka.scala)
因为server1.properties的broker.id=,与server.properties配置的broker,id重复

这个是因为server1.properties配置文件的上面已经配置broker.id=0,我没有把这段配置注释掉,导致我的配置没有生效,与server.properties配置的broker,id重复。

(2)在我启动另一个生产者服务抛出异常

kafka.common.KafkaException: Found directory /home/zhangxs/datainfo/developmentData/kafka/log/log1, 'log1' is not in the form of topic-partition
If a directory does not contain Kafka topic data it should not exist in Kafka's log directory
at kafka.log.Log$.exception$(Log.scala:)
at kafka.log.Log$.parseTopicPartitionName(Log.scala:)
at kafka.log.LogManager$$anonfun$loadLogs$$$anonfun$$$anonfun$apply$$$anonfun$apply$.apply$mcV$sp(LogManager.scala:)
at kafka.utils.CoreUtils$$anon$.run(CoreUtils.scala:)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:)
at java.util.concurrent.FutureTask.run(FutureTask.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:)
[-- ::,] INFO [Kafka Server ], shutting down (kafka.server.KafkaServer)
[-- ::,] INFO Terminate ZkClient event thread. (org.I0Itec.zkclient.ZkEventThread)
[-- ::,] INFO Session: 0x15b1f53fc120005 closed (org.apache.zookeeper.ZooKeeper)
[-- ::,] INFO EventThread shut down for session: 0x15b1f53fc120005 (org.apache.zookeeper.ClientCnxn)
[-- ::,] INFO [Kafka Server ], shut down completed (kafka.server.KafkaServer)
[-- ::,] FATAL Fatal error during KafkaServerStartable startup. Prepare to shutdown (kafka.server.KafkaServerStartable)
kafka.common.KafkaException: Found directory /home/zhangxs/datainfo/developmentData/kafka/log/log1, 'log1' is not in the form of topic-partition
If a directory does not contain Kafka topic data it should not exist in Kafka's log directory
at kafka.log.Log$.exception$(Log.scala:)

这个是我配置日志目录有问题,我原目录配置是[/home/zhangxs/datainfo/developmentData/kafka/log],他自动找到这个目录的下一级目录log1.   log1是我其他生产者消息的日志目录,所以才抛出这个错误

kafka 小案例【二】 --kafka 设置多个消费着集群的更多相关文章

  1. K8S 搭建 Kafka:2.13-2.6.0 和 Zookeeper:3.6.2 集群

    搭建 Kafka:2.13-2.6.0 和 Zookeeper:3.6.2 集群 一.服务版本信息: Kafka:v2.13-2.6.0 Zookeeper:v3.6.2 Kubernetes:v1. ...

  2. redis(二)redis的主从模式和集群模式

    redis(二)redis的主从模式和集群模式 主从模式 集群模式 主从模式 redis的主从模式,指的是针对多台redis实例时候,只存在一台主服务器master,提供读写的功能,同时存在依附在这台 ...

  3. 案例分享 生产环境逐步迁移至k8s集群 - pod注册到consul

    #案例分享 生产环境逐步迁移至k8s集群 - pod注册到consul #项目背景 多套业务系统, 所有节点注册到consul集群,方便统一管理 使用consul的dns功能, 所有节点hostnam ...

  4. spark+kafka 小案例

    (1)下载kafka的jar包 http://kafka.apache.org/downloads spark2.1 支持kafka0.8.2.1以上的jar,我是spark2.0.2,下载的kafk ...

  5. Kafka学习之二 Kafka安装和使用

    部署环境Linux(Centos 6.5),JDK 1.8.0,zookeeper-3.4.12,kafka_2.11-2.0.0. 1. 单机环境     官方建议使用JDK 1.8版本,因此本文使 ...

  6. Kubernetes 学习笔记(二):本地部署一个 kubernetes 集群

    前言 前面用到过的 minikube 只是一个单节点的 k8s 集群,这对于学习而言是不够的.我们需要有一个多节点集群,才能用到各种调度/监控功能.而且单节点只能是一个加引号的"集群&quo ...

  7. zabbix 3.2 高可用实现方式二-pacemaker+corosync实现zabbix高可用集群

    一.pacemaker 是什么 1.pacemaker 简单说明 2.pacemaker 由来 二.pacemaker 特点 三.pacemaker 内部结构 1.群集组件说明: 2.功能概述 四.c ...

  8. K8s 二、(1、kubeadm部署Kubernetes集群)

    准备工作 满足安装 Docker 项目所需的要求,比如 64 位的 Linux 操作系统.3.10 及以上的内核版本: x86 或者 ARM 架构均可: 机器之间网络互通,这是将来容器之间网络互通的前 ...

  9. 第十二章 Ganglia监控Hadoop及Hbase集群性能(安装配置)

    1 Ganglia简介 Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点.每台计算机都运行一个收集和发送度量数据(如处理器速度.内存使用量等)的名为 gm ...

随机推荐

  1. Lct浅谈

    Lct浅谈 1.对lct的认识 ​ 首先要知道$lct$是什么.$lct$的全称为$link-cut-tree$.通过全称可以看出,这个数据结构是维护树上的问题,并且是可以支持连边断边操作.$lct$ ...

  2. [JOISC2016]サンドイッチ

    题目大意: 一个$n\times m(n,m\leq400)$的网格图中,每个格子上放了两个三明治,摆放的方式分为'N'和'Z'两种.一个三明治可以被拿走当且仅当与该三明治的两条直角边相邻的三明治均被 ...

  3. iOS中正则表达式的基本使用方法

    一.第三方框架RegexKitLite的使用 在ios项目中可以借用第三方框架RegexKitLite来简化对正则表达式的使用,使用方法如下 1.去RegexKitLite下载类库,解压出来会有一个例 ...

  4. Jenkins忘记密码的修复方法(Windows/Linux)

    在jenkins的安装目录下,找到config.xml配置文件,删除以下节点: <useSecurity>true</useSecurity> <authorizatio ...

  5. andriod绘制图形

    使用view画图,有两个重要的组件需要介绍: (1)Paint 可以理解为画刷或者画笔,去主要用来设置绘图使用的颜色.填充方式.透明度.字体以及字体样式等. (2)Canvas 画布,在view上显示 ...

  6. LVS/NAT

    平台:RedHat Enterprise Linux centos6.3       ipvsadm             ipvs 1. NAT模型 NAT模型:地址转换类型,主要是做地址转换,类 ...

  7. ODS与EDW的区别

    http://blog.csdn.net/bitcarmanlee/article/details/51013474 根据自己的理解与实际项目经验,说说ODS与EDW的异同.如果有不对的地方,欢迎大家 ...

  8. Spark-Join优化之Broadcast

    适用场景 进行join中至少有一个RDD的数据量比较少(比如几百M,或者1-2G) 因为,每个Executor的内存中,都会驻留一份广播变量的全量数据 Broadcast与map进行join代码示例 ...

  9. ajty

    ] .Tag //; ].Columns["NodeID"].ColumnName ; ].Tag)["NodeID"]; //(DataRow)row[&qu ...

  10. ARM指令中的函数调用

    1. 重要寄存器 SP 栈指针,  每一种异常模式都有其自己独立的r13,它通常指向异常模式所专用的堆栈,也就是说五种异常模式.非异常模式(用户模式和系统模式),都有各自独立的堆栈,用不同的堆栈指针来 ...