Kafka是Linkedln开源出来的一个高吞吐的分布式消息系统。
使用scala开发,支持多语言客户端(c++、java、python等)
具有以下特点:
支持高Throughput(高吞吐量)的应用
无需停机即可扩展机器
通过将数据持久化到硬盘以及replication防止数据丢失
支持online和offline的场景
1、三台虚拟机CentOS-01,CentOS-02,CentOS-03
2、现在kafka的yum
#cd /etc/yum.repos.d/
(如果是CentOS 6 系统,则将7改为6)
#wget http://archive.cloudera.com/kafka/redhat/7/x86_64/kafka/cloudera-kafka.repo
(修改kafaka版本,这里为2.0.0版本)
#vi cloudera-kafka.repo
[cloudera-kafka]
# Packages for Cloudera's Distribution for kafka, Version 3, on RedHat or CentOS 7 x86_64
name=Cloudera's Distribution for kafka, Version 3
baseurl=http://archive.cloudera.com/kafka/redhat/7/x86_64/kafka/2.0.0/
gpgkey = http://archive.cloudera.com/kafka/redhat/7/x86_64/kafka/RPM-GPG-KEY-cloudera
gpgcheck = 1
(下载kafka)
#yum clean all
#yum install kafka
#yum install kafka-server
(设置配置文件)
#vi /etc/kafka/conf/server.properties
broker.id=0 //三台虚拟机broker.id不能相同,这里设置分别为0、1、2
host.name=CentOS-01 //分别设置各自的虚拟机名称CentOS-01、CentOS-02、CentOS-03
log.dirs=/var/lib/kafka-logs //设置kafka的数据目录
zookeeper.connect=CentOS-01:2181,CentOS-02:2181,CentOS-03:2181/kafka //设置zookeeper
(创建目录,并修改所属用户)
#mkdir /var/lib/kafka-logs
#chown kafka /var/lib/kafka-logs
(启动三台kfaka服务器)
list
kafka-topics --zookeeper CentOS-01:2181 --list
create
kafka-topics --zookeeper CentOS-01:2181 --create --topic
producer
kafka-console-producer --broker-list CentOS-01:9092 --topic first_test
consumer
kafka-console-consumer --zookeeper CentOS-01:2181,CentOS-02:2181,CentOS-03:2181/kafka --topic first_test
describe
kafka-topics --zookeeper CentOS-01:2181,CentOS-02:2181,CentOS-03:2181/kafka --topic first_test --describe