文章目录
前言
一、下载解压
二、配置
三、启动zookeeper
四、启动kafka
前言
kafka是一个高吞吐的分布式消息队列系统,采用发布/订阅消息模式,先进先出(FIFO)保证顺序,默认每隔7天清理数据。
常用场景:缓存/消峰、解耦和异步通信。
一、下载解压 #创建安装目录 mkdir /opt/kafka #移动到目录 cd /opt/kafka #下载kafka安装包 wget 解压缩 tar -zxvf kafka_2.11-0.8.2.1.tgz
注意,kafka_2.11-0.8.2.1.tgz版本是已经编译好的版本,解压就能使用。
二、配置 #创建日志目录 mkdir /opt/kafka/log #进入配置目录 cd /opt/kafka/kafka_2.11-0.8.2.1/config #编辑配置文件 vi server.properties
? ? 修改如下信息:
broker.id=0 #端口号 port=9092 #服务器IP地址,修改为自己的服务器10.218.220.106 #日志存放路径,上面创建的日志目录 log.dirs=/opt/kafka/log #zookeeper地址和端口,单机配置部署,nect=localhost:2181 三、启动zookeeper
? ? ? ? 此kafka版本自带zookeeper,由于我们是单机部署,且量不是很大,所以自带的zookeeper完全能满足我们的需求。
#移到kafka目录 cd /opt/kafka/kafka_2.11-0.8.2.1/ #启动 bin/kafka-server-start.sh -daemon config/server.properties& 四、启动kafka #移到kafka目录 cd /opt/kafka/kafka_2.11-0.8.2.1/bin/ #创建topic(创建主题:名称为“topicTest”、复制数目为1、partitions为1的topic主题) bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic kafka_topic_test #查看topic信息 ./kafka-topics.sh --describe --zookeeper 127.0.0.1:2181 --topic topicTest #查看已创建的主题 ./kafka-topics.sh --list --zookeeper 127.0.0.1:2181 #启动生产者控制台 ./kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic topicTest #启动消费者控制台(新开一个窗口) ./kafka-console-consumer.sh --zookeeper 127.0.0.1:2181 --topic topicTest --from-beginning
名词解释:
1、replication-factor:复制数目,提供failover机制;1代表只在一个broker上有数据记录,一般值都大于1,代表一份数据会自动同步到其他的多个broker,防止某个broker宕机后数据丢失。
2、partitions:一个topic可以被切分成多个partitions,一个消费者可以消费多个partitions,但一个partitions只能被一个消费者消费,所以增加partitions可以增加消费者的吞吐量。kafka只保证一个partitions内的消息是有序的,多个partitions之间的数据是无序的。