kafka_2.10-0.10.1.0 安装
kafka_2.10-0.10.1.0.tgz,2.10是scala的版本号,0.10.1.0是kafka的版本号
kafka与rocketmq不同之处,它的broker、consumer、producer之间协调和同步是通过zk作为中转,没有nameserver这种节点。
我把zk和kafka都放到了 10.1.234.204上,zk的端口是2181
- 安装JDK, Scala, Zookeeper
- 下载kafka
tar -xvf kafka_2.10-0.10.1.0.tgz
- 修改 conf/server.properties
broker.id=0
listeners=PLAINTEXT://10.1.234.204:9092 //Broker接收消息的地址
log.dirs=/home/c3/logs/kafka-0
zookeeper.connect=10.1.234.204:2181 - 先自动ZK,再启动kafka server,启动之后,可以用jps看到Kafka的进程
bin/kafka-server-start.sh config/server.properties
- 创建一个topic:testTopic
bin/kafka-topics.sh --create --zookeeper 10.1.234.204:2181 --replication-factor 1 --partitions 1 --topic testTopic
- 查看topic
bin/kafka-topics.sh --list --zookeeper 10.1.234.204:2181
- 发送一些消息,先启动生产者,然后输入一些内容
bin/kafka-console-producer.sh --broker-list 10.1.234.204:9092 --topic testTopic
- 启动消费者,可看到上一步输入的内容
bin/kafka-console-consumer.sh --bootstrap-server 10.1.234.204:9092 --topic testTopic --from-beginning
- 在本机再启动两个个Broker,复制两份server.properties
config/server-1.properties: broker.id=1 listeners=PLAINTEXT://10.1.234.204:9093 log.dir=/home/c3/logs/kafka-1 config/server-2.properties: broker.id=2 listeners=PLAINTEXT://10.1.234.204:9094 log.dir=/home/c3/logs/kafka-2 bin/kafka-server-start.sh config/server-1.properties bin/kafka-server-start.sh config/server-2.properties
再jps,可看到新增了2个Kafka的进程 - Now create a new topic with a replication factor of three:
bin/kafka-topics.sh --create --zookeeper 10.1.234.204:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic
Kafka web console 安装记录
- 下载安装包
https://github.com/claudemamo/kafka-web-console - 安装sbt
http://www.scala-sbt.org/download.html 并将sbt/bin配置到PATH中 - 打包
到kafka-web-console目录下执行 sbt dist,会在 target/universal 下面生成 kafka-web-console-2.1.0-SNAPSHOT.zip
(sbt会将依赖的jar下载到~/.ivy2下面) - 解压
unzip kafka-web-console-2.1.0-SNAPSHOT.zip - 启动
kafka-web-console/bin下nohup ./kafka-web-console -DapplyEvolutions.default=true -Dhttp.port=8888 &
启动之后用jps查看是一个名为 NettyServer的进程,太不讲究了吧! - 访问kafka-web-console
http://localhost:8888/