赞
踩
一个典型的Kafka集群中包含若干Producer(可以是Web前端FET,或者是服务器日志等),若干Broker(Kafka支持水平扩展,一般Broker数量越多,集群吞吐率越高),若干ConsumerGroup,以及一个ZooKeeper集群。Kafka通过Zookeeper管理Kafka集群配置:选举Kafka Broker的Leader,以及在Consumer Group发生变化时进行Rebalance,因为Consumer消费Kafka topic的Partition的offsite信息是存在ZooKeeper的。Producer使用push模式将消息发布到Broker,Consumer使用pull模式从Broker订阅并消费消息。
在node1节点上安装配置Kafka,然后再使用【scp】命令,将安装目录分发到其他节点(node2、node3)
1、可以从官网下载Kafka安装包 ,当前环境已经提供了Kafka的安装包,存放在 /opt/software目录下。
- [root@node1 ~]# cd /opt/software
- [root@node1 software]# tar -xzf kafka.tar.gz -C /opt/module/
2、在node1系统环境变量/etc/profile
[root@node1 software]# vi /etc/profile
- export KAFKA_HOME=/opt/module/kafka
- export PATH=$PATH:$KAFKA_HOME/bin
[root@node1 software]# source /etc/profile
3、配置Kafka
- [root@node1 software]# cd $KAFKA_HOME
- [root@node1 kafka]# mkdir kafka-logs
- [root@node1 kafka]# cd $KAFKA_HOME/config
- [root@node1 config]# vi server.properties
- broker.id=1
- log.dirs=/opt/module/kafka/kafka-logs
- zookeeper.connect=node1:2181,node2:2181,node3:2181
解释
[root@node1 config]# cd /opt/module/ [root@node1 module]# scp -rq kafka node2:/opt/module/ [root@node1 module]# scp -rq kafka node3:/opt/module/ [root@node1 module]# scp -rq /etc/profile node2:/etc/ [root@node1 module]# scp -rq /etc/profile node3:/etc/
- [root@node2 ~]# source /etc/profile
- [root@node2 ~]# cd $KAFKA_HOME/config
- [root@node2 config]# vi server.properties
- [root@node3 ~]# source /etc/profile
- [root@node3 ~]# cd $KAFKA_HOME/config
- [root@node3 config]# vi server.properties
[root@node1 ~]# kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties
[root@node2 ~]# kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties
[root@node3 ~]# kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties
4、验证Kafka
[root@node1 ~]# kafka-topics.sh --create --zookeeper node1:2181,node2:2181,node3:2181 --replication-factor 1 --partitions 1 --topic test
[root@node1 ~]# kafka-topics.sh --describe --zookeeper node1:2181,node2:2181,node3:2181 --topic test
- [root@client~]# ssh node1
- [root@node1 ~]# kafka-console-producer.sh --broker-list node1:9092 --topic test
- [root@client~]# ssh node1
- [root@node1 ~]# kafka-console-consumer.sh --bootstrap-server node1:9092 --from-beginning --topic test
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。