Blog
Blog copied to clipboard
安装Kafka
安装ZK
➜ Workspace tar -zxf zookeeper-3.4.6.tar.gz
➜ Workspace mkdir -p data/zookeeper
配置文件:
➜ zookeeper-3.4.6 cat conf/zoo.cfg
tickTime=2000
dataDir=/Users/vonzhou/Workspace/data/zookeeper
clientPort=2181
启动:
➜ zookeeper-3.4.6 bin/zkServer.sh start
JMX enabled by default
Using config: /Users/vonzhou/Workspace/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
验证:
➜ zookeeper-3.4.6 telnet 127.0.0.1 2181
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
srvr
Zookeeper version: 3.4.6-1569965, built on 02/20/2014 09:09 GMT
Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: standalone
Node count: 4
Connection closed by foreign host.
安装Kafka
➜ Workspace tar -zxf kafka_2.11-0.9.0.1.tgz
➜ kafka_2.11-0.9.0.1 bin/kafka-server-start.sh -daemon config/server.properties
创建一个topic:
➜ kafka_2.11-0.9.0.1 bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic test
Created topic "test".
向这个topic发送消息:
➜ kafka_2.11-0.9.0.1 bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic test
Test msg 0
Test msg 1
从这个topic订阅消息:
➜ kafka_2.11-0.9.0.1 bin/kafka-console-consumer.sh --zookeeper 127.0.0.1:2181 --topic test --from-beginning
Test msg 0
Test msg 1
^CProcessed a total of 2 messages

重要配置
- boker.id :集群中每个broker的唯一标识,默认是0,最好设置成和机器名有相关性的整数。
- port :broker的监听端口,默认是9092.
- zookeeper.connect :用于保存broker元数据的ZK地址,冒号分隔的一组 hostname:port/path ,path不指定标识根路径。
- log.dirs : 存放日志的目录,可以逗号分隔的多个
- auto.create.topics.enable :是否开启默认创建topic,默认true。
- num.partitions:主题的分区个数,默认是1.
- log.retention.ms:决定消息多久以后会被删除,默认是168小时。
- log.retention.bytes:决定了一个分区可以保留的数据量,如果同时指定了log.retention.ms 和 log.retention.bytes,则任意一个满足都会删除。
- log.segment.bytes:日志片段的大小,默认是1GB。
- log.segment.ms:指定了日志片段的关闭时间,而不是非要等到满足log.segment.bytes。
- message.max.bytes:单个消息的大小(压缩后的),默认是1MB。