术语介绍
Broker : Kafka集群包含一个或多个服务器,这种服务器被称为broker
Topic : 每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)
Partition : Partition是物理上的概念,每个Topic包含一个或多个Partition.
Producer : 负责发布消息到Kafka broker
Consumer : 消息消费者,向Kafka broker读取消息的客户端。
Consumer Group : 每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)
下载
下载地址:http://kafka.apache.org/downloads
这里我们下载到/usr/local
目录下
集群安装配置
解压 : cd /usr/local && tar -xzvf kafka_2.11-1.0.1.tgz
需要修改的配置/server.properties,不需要host.name
重要配置
# The id of the broker. This must be set to a unique integer for each broker.
# 集群下设置成唯一的id
broker.id=0
#配置成你的内网ip
advertised.listeners=PLAINTEXT://192.168.15.169:9092
#zk集群的ip和port,zookeeper集群可以看我的另外一篇文章
zookeeper.connect=192.168.15.169:2181,192.168.15.169:2182,192.168.15.169:2183
#日志路径
log.dirs=/Users/hasegroup/Downloads/kafka_2.11-1.0.1/kafkaLogs
首先启动zookeeper集群环境,然后再启动kafka
后台启动命令:
./kafka-server-start.sh -daemon ../config/server.properties
验证zookeeper集群是否启动成功:
cd /zookeeper/bin dir
./zkCli.sh -server 127.0.0.1:2181
查看blocker:
ls /brokers/ids
查看某个blocker信息:
get /brokers/ids/0
创建topic:
./kafka-topics.sh --create --topic xizhen --replication-factor 1 --partitions 1 --zookeeper 192.168.15.169:2181
查看topic:
./kafka-topics.sh --list --zookeeper 192.168.15.169:2181
查看topic详细:
./kafka-topics.sh --describe --zookeeper 192.168.15.169:2181
生产消息:
./kafka-console-producer.sh --broker-list 192.168.15.169:9092 --topic jason
消费消息:
./kafka-console-consumer.sh --zookeeper 192.168.15.169:2181 --topic jason --from-beginning
完!