kafka集群部署及仍然存在的问题
来源:互联网 发布:linux 用代码链接网络 编辑:程序博客网 时间:2024/05/16 15:37
一、kafka使用心得:
1.实际上chroot是在kafka/config/server.properties中设置。
2.在kafka进程启动之前,要先在zookeeper上创建好chroot对应的目录
3.kafk进程启动后,会在chroot下面创建以下的目录
consumers : 用来记录消费者的信息,下面的目录是对应consumer指定的group.id
config : 用来记录topics和changes信息
brokers : 用来记录broker机器的信息
controller : 未知
controller_epoch : 未知
4.目前使用的是0.8.1.1版本的kafka,配置项说明以这为准:
http://kafka.apache.org/08/configuration.html
producer是不需要指定zk.connect的。直接指定metadata.broker.list就可以了。实际上broker知道对应的zookeeper的chroot
5.consumer需要知道kafka对应的zookeeper的chroot,否则就无法确定broker的信息。
实际上zookeeper + chroot和broker list信息是互相对应的,知道了一个,就可以获得另一个的信息。
二、kafka单机模式
由于原来在zookeeper中/kafka是永久节点,所以换一个目录叫kafka2,这一点只要修改config/servers.properties的zookeeper.connect
这一项就可以做到。
kafka进程启动后,会在zookeeper中建永久节点:在brokers/ids下建一个名为1的节点(因为节点的id名是1)。它的属性里有以下数据
{“jmx_port”:9999,”timestamp”:”1406365319747″,”host”:”kafka1″,”version”:1,”port”:9092}
启动客户端往kafka里写入数据时,会在logs/目录下生成
topic1-0
topic1-1
说明这个topic一共有2个partition。(配置文件里有num.partitions=2)
里面各有两个文件:
00000000000000000000.index
00000000000000000000.log
生产者往kafka中写入10条消息,内容都写到了topic1-1中,也就是parition 1中。
写入成功后,会在zookeeper中的brokers/topics下生成以下的节点
topic1
这个是topic的名字
不知道为什么,数据都往partition 1写
三、kafka的consumer group
启动consumer,指定group.id
在zookeeper中,会创建节点
consumers/${group.id}
下面有
offset
owners
ids
对于offset来说
{topicName}/1
保存着partition 1读取的offset
owners里保存的是
${group.id}${hostname}
ids里保存的是${group.id}${hostname}的对应信息
四、kafka的集群模式
把另一个broker也启动起来,原来的broker机器名是kafka1,另一个broker的机器名是kafka2
注意,config/server.properties中
host.name=kafka1
需要设置这一项,否则默认host.name是localhost,在集群模式下可能会有问题。
写入数据时,broker.list要设置为kafka1:9092,kafka2:9092
五,仍然没有解决的问题:
虽然数据能写进去,但是发现总是往partition 1写
kafka1
du -hs ~/kafka/log/topic*/*.log
0 /home/hadoop/kafka/log/topic0-0/00000000000000000000.log
4.0K /home/hadoop/kafka/log/topic1-1/00000000000000000000.log
0 /home/hadoop/kafka/log/topic3-0/00000000000000000000.log
kafka2
du -hs log/topic*/*.log
4.0K log/topic0-1/00000000000000000000.log
0 log/topic1-0/00000000000000000000.log
36K log/topic3-1/00000000000000000000.log
- kafka集群部署及仍然存在的问题
- Kafka集群部署及测试
- Kafka集群模式部署
- Kafka linux集群部署
- Kafka集群部署
- kafka集群部署
- zookeeper+Kafka集群部署
- Kafka集群部署
- kafka集群部署
- Kafka 集群部署
- Kafka 详解 + 集群部署
- kafka集群部署
- zookeeper+kafka集群部署
- kafka 0.10 集群部署
- CentOS 6.2及最新操作系统部署Hadoop存在的问题
- Kafka集群搭建02-Kafka 集群部署
- kafka的集群安装及配置文件说明
- kafka集群的安装及简单测试
- 生成带有透明渐变倒影的图片
- LoadRunner的-26612报错解决过程(关联错误)
- ORA-12838的问题
- HDU 1024 Max Sum Plus Plus
- linux中在使用slickedit时怎么修改工程类型,比如将.exe修改成.a库
- kafka集群部署及仍然存在的问题
- Linux apache的运行用户和用户组
- RocketMQ学习(一)
- Qt中字符编码问题-1
- oracle删除表
- 常用的敏捷开发模式
- 【代码练习】用FIle.list()打印多级目录
- 网线水晶头接法
- git push 失败的解决办法