kafka -- 入门与环境搭建

来源:互联网 发布:httppost发送json数据 编辑:程序博客网 时间:2024/06/07 03:09

术语

Topic:
Kafka将消息种子(Feed)分门别类, 每一类的消息称之为话题(Topic).
Producer:
发布消息的对象称之为话题生产者(Kafka topic producer)
Consumer:
订阅消息并处理发布的消息的种子的对象称之为话题消费者(consumers)
Broker:
已发布的消息保存在一组服务器中,称之为Kafka集群。集群中的每一个服务器都是一个代理(Broker). 消费者可以订阅一个或多个话题,并从Broker拉数据,从而消费这些已发布的消息。

环境搭建

下载kafka

  • 下载
    http://webscripts.softpedia.com/dyn-postdownload.php/7a8b894d1b24f16205a87735d186bd81/57675b86/114d2/0/2?tsf=0
    这里写图片描述

  • 下载完后进行解压
    tar -zxvf kafka_2.9.2-0.8.2.2.tgz

  • 进入目录
    */kafka_2.9.2-0.8.2.2/bin

  • 首先需要启动zookeeper,默认kafka中自带zookeeper,这里我们使用默认的启启动。

./zookeeper-server-start.sh /kafka/kafka_2.9.2-0.8.2.2/config/zookeeper.properties
  • 启动kafka
./kafka-server-start.sh /kafka/kafka_2.9.2-0.8.2.2/config/server.properties
  • 创建一个名为test的topic
[root@localhost bin]# ./kafka-topics.sh  --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
  • 查看创建的topic
[root@localhost bin]# ./kafka-topics.sh --list --zookeeper localhost:2181
  • 发送消息
[root@localhost bin]# ./kafka-console-producer.sh --broker-list localhost:9092 --topic test
  • 消费消息
[root@localhost bin]# ./kafka-console-consumer.sh  --zookeeper localhost:2181 --topic test --from-beginning

集群搭建

  • 复制2份配置文件
[root@localhost config]# cp server.properties /kafka/kafka_2.9.2-0.8.2.2/config/server-1.properties[root@localhost config]# cp server.properties /kafka/kafka_2.9.2-0.8.2.2/config/server-2.properties
  • 编辑配置文件
config/server-1.properties:    broker.id=1    port=9093    log.dir=/tmp/kafka-logs-1config/server-2.properties:    broker.id=2    port=9094    log.dir=/tmp/kafka-logs-2
  • 启动所有kafka服务
./kafka-server-start.sh /kafka/kafka_2.9.2-0.8.2.2/config/server-1.properties &./kafka-server-start.sh /kafka/kafka_2.9.2-0.8.2.2/config/server-2.properties &
  • 新建topic并将备份数量设置为3
 ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic
  • 查看每个集群在做什么
./kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic

“leader”:该节点负责所有指定的分区读和写,每个节点将领导一个随机选择的分区。
“replicas”:备份的节点,无论该节点是否活着,只是显示。
“isr”:备份节点的集合,也就是活着的节点集合。

0 0
原创粉丝点击