Kafka详细配置

转自:http://blog.csdn.net/suifeng3051/article/details/38321043?utm_source=tuicool&utm_medium=referral html

Kafka集群配置比较简单,为了更好的让你们理解,在这里要分别介绍下面三种配置 node

  • 单节点:一个broker的集群
  • 单节点:多个broker的集群
  • 多节点:多broker集群

单节点单broker实例的配置

image

1.启动zookeeper服务

bin/zkServer.sh start工具

2.启动Kafka broker

bin/kafka-server-start.sh config/server.propertiesui

3.建立topic

建立一个仅有一个Partition的topic.net

bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 1 --partition 1 --topic kafkatopicserver

或者:htm

./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partition 1 --topic kafkatopicblog

版本不一样语法不一样,参考:http://www.cnblogs.com/huxi2b/p/4571309.html进程

4.生产消息

用Kafka提供的生产者客户端启动一个生产者进程来发送消息:get

bin/kafka-console-producer.sh --broker-list  localhost:9092 --topic kafkatopic

其中有两个参数须要注意:

  • broker-list:定义了生产者要推送消息的broker地址,以<IP地址:端口>形式     
  • topic:生产者发送给哪一个topic

而后你就能够输入一些消息用于发送

5.消费消息

启动一个Consumer实例来消费消息

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic kafkatopic --from-beginning

当你执行这个命令以后,你即可以看到控制台上打印出的生产者生产的消息

单节点运行多broker实例

image

1.启动zookeeper

和上面的同样

2.启动Kafka的broker

要想在一台机器上启动多个broker实例,只须要准备多个server.properties文件便可,好比咱们要在一台机器上启动两个broker。

首先咱们要准备两个server.properties配置文件

  1. server-1
    1. brokerid=1
    2. port=9092
    3. log.dir=/temp/kafka8-logs/broker1   
  2. server-2
    1. brokerid=2
    2. port=9093
    3. log.dir=/temp/kafka8-logs/broker2 

而后咱们再用这两个配置文件分别启动一个broker

[root@localhost kafka]# env JMX_PORT=9999 bin/kafka-server-start.sh config/server-1.properties

[root@localhost kafka]# env JMX_PORT=10000 bin/kafka-server-start.sh config/server-2.properties

能够看到咱们启动是为每一个broker都指定了不一样的JMX Port,JMX Port主要用来利用jconsole等工具进行监控和排错

3.建立一个topic

建立一个含有两个Partition分区和2个备份的topic:

[root@localhost kafka]# bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 2 --partition 2 --topic othertopic

4.启动Producer发送消息

若是咱们要用一个Producer发送给多个broker,惟一须要改变的就是在broker-list属性中指定要链接的broker

[root@localhost kafka]# bin/kafka-console-producer.sh --broker-list localhost:9092,localhost:9093 --topic othertopic

5. 启动Consumer消费消息

和以前的命令同样

[root@localhost kafka]# bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic othertopic --from-beginning

集群模式(多节点多实例)

image

zookeeper配置文件(zookeeper.properties):不变

broker的配置配置文件(server.properties):按照单节点多实例配置方法在一个节点上启动两个实例,不一样的地方是zookeeper的链接串须要把全部节点的zookeeper都链接起来

zookeeper.connect=node1:2181,node2:2181