分布式消息系统kafka单节点搭建

一、准备

sbt-0.13.7.tgz下载地址:http://www.scala-sbt.org/download.html

kafka_2.9.2-0.8.1.1.tgz下载地址:

https://www.apache.org/dyn/closer.cgi?path=/kafka/0.8.1.1/kafka_2.9.2-0.8.1.1.tgz

slf4j-1.7.2.zip下载地址:

http://download.csdn.net/download/luka2008/4985762

 

二、步骤

1、linux环境,下载并安装上述软件包

2、使用命令:sbt update和 sbt package,下载kafka的依赖包和构建kafka的环境

3、先启动zookeeper集群

执行bin/kafka-server-start.sh  config/zookeeper.properties

会报错:

Unrecognized VM option 'UseCompressedOops'

Error: Could not create the Java Virtual Machine.

Error: A fatal exception has occurred. Program will exit.

原因:jdk的版本不匹配,需要修改一下配置文件,jvm参数中-XX标识的是实验性参数,kafka用了很多用来优化运行的jvm参数,而你安装的 jdk所带的jvm不一定支持这些参数。

解决:修改文件bin/kafka-run-class.sh:去掉这个配置-XX:+UseCompressedOops

 

又会报错:

Failed to load class "org.slf4j.impl.StaticLoggerBinder".

原因:org.slf4j.impl.StaticLoggerBinder无法载入到内存,原因是没有找到合适的绑定SLF4J

解决:下载slf4j-1.7.2.zip,拷贝 slf4j-nop-1.7.2.jar到kafka的libs目录下

 

4、启动一个服务端

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

5、查看topic

bin/kafka-topics.sh --list --zookeeper localhost:2181

创建topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

查看topic描述

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic

6、测试

启动一个生产者

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

开启一个消费者(新启一个terminal

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

7、执行完consumer的命令后,在producerterminal中输入信息,马上在consumerterminal中就会出现输入的信息。有点儿像一个通信客户端。

 

三、命令中的参数解释

--zookeeper localhost:2181 这个说明了去连本机2181端口的zookeeper server--topic test,在kafka里,消息按topic来区分,我们这里的topictest,所以不管是consumer还是producer都指向了test。其他的参数,我就截图了,首先是producer的参数:

分布式消息系统kafka单节点搭建_第1张图片

Consumer的参数:

分布式消息系统kafka单节点搭建_第2张图片

这些参数你可以先看个大概,之后会在编程中使用到,都可以动态的配置。

你可能感兴趣的:(分布式消息系统kafka单节点搭建)