1.官网:https://kafka.apache.org/
消息系统类似:
消息中间件:生产者和消费者。
Kafka架构:
producer:生产者
consumer:消费者
broker:块、篮子
topic:主题,给消息打标签。
Kafka部署和使用:
1.单节点单broker部署使用
2.单节点多broker部署使用
3.多节点多broker部署使用
kafka依赖zookeeper,首先需要安装zookeeper
(1)在CDH5页面上下载zookeeper,解压:tar -zxvf zookeeper-3.4.5.tar.gz -c ~/app/
(2)配置系统环境变量: vi ~/.bash_profile , source ~/.bash_profile
(3)修改zookeeper的conf文件:zoo_sample.cfg,修改里面临时目录存在位置,因系统临时目前启动时会自动情况
(4)启动zookeeper: ./zkServer.sh start,启动后通过jps可以查看zookeeper进程:OuorumPeerMain, 也可以通过执行./zkCli.sh 然后ls 出现zookeeper
安装Kafka(源码:scala):
wget +网址下载安装包(kafka官网):
(1)解压配置环境变量
(2)设置配置文件:重要的配置文件kafka_home/config/server.properties
broker.id=0 //broker的唯一编号,必须设置
listeners=PLAINTEXT://9092 //kafka的默认端口
host.name
log.dirs //kafka 的 log存放路径,最好自己设置
zookeeper.connect=localhost:2182 //zookeeper地址端口,需要修改
(3)启动kafka
bin/kafka-server-start.sh $kafka_home/config/server.properties
(4)jps查看进程,会看到新增的Kafka进程
jps -m,查看Kafka对应的config
Kafka的使用:
1.创建topic :zookeep
kafka-topic.sh --create --zookeep localhost:2181 --replication-factor(副本系数) 1 --partitions1 --topic hello_topic
2.查看所有topic
kafka-topics.sh --list --zookeeper localhost:2181
3.发送消息及生产消息 :broker-list
kafka-console-producer.sh --broker-list localhost:9092(kafka配置文档server.properties中的listeners) --top hello_topic
注意:什么时候使用zookeeper ,什么地方使用kafka,创建消息的时候使用zookeeper,发送消息时使用broker-list
4.消费消息 :zookeeper
kafka-console-consumer.sh --zookeeper localhost:2182 --topic hello_topic --from-beginning
注意:from-beginning:如果有添加此参数代表从头开始消费,如果不带此参数,之前的数据将不会再次消费
补充:kafka-topics.sh --describe --zookeeper localhost:2181
可以查看partions 和RelicationFactor ,如果需要看置顶的则添加--topic topic_name
以上是单节点单Broker的使用