一. 配置zookeeper环境
kafka实现分布式需要zookeeper的分布式管理
默认现在zookeeper的集群已经安装完毕了。
通过启动zookeeper的客户端,查看下现在有点多少个节点
如果没有安装过kafka的话。应该只有下面两个。也不排除你安装的其他的哈。
其他的乱七八糟的东西就是kafka在zookeeper下面建的节点,你看人家hadoo
都是规规矩矩的,就这个家伙,不单独建个文件夹。
二 下载kafka安装包
解压安装包tar -xvf kafka_2.10-0.10.0.1.taz
进入kafka包
和一般的软件结构一样。bin是操作。config是配置。进入config
修改broke.id。这里默认是0。如果你只有一台的话,不用修改。
修改下log.dirs。这里默认的是临时tep的目录
配置下下面几个
delete.topic.enable是在清理主题的时候,会让删除指令真正生效
三 保存测试下启动kafka
同意的配置复制其他主机
修改下里面的配置 id 和hostname。改为每一个节点自己的id和hostname
启动kafak集群
我一共来了5个节点。其他的也是一样。jps查看进程。全部启动成功
四 测试启动成功
./kafka-topics.sh --create --zookeeper bigdata-test-1:2181 --replication-factor 2 --partitions 1 --topic junshen
创建一个话题:junshen? 副本数2个,分区1个
我在找另外一台创建一个生产者
./bin/kafka-console-producer.sh --broker-list bigdata-test-1:9092,bigdata-test-2:9092, bigdata-test-3:9092 --topic junshen
启动两个消费者来接受数据
./kafka-console-consumer.sh --zookeeper bigdata-test-3:2181, bigdata-test-2:2181, bigdata-test-1:2181 --from-beginning --topic junshen
./bin/kafka-console-consumer.sh --zookeeper bigdata-test-3:2181, bigdata-test-2:2181, bigdata-test-1:2181 --from-beginning --topic junshen
验证这个kafka集群搭建成功
./bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic junshen