您的位置:首页 > 编程语言 > Java开发

Kafka入门-windows安装测试

2017-05-22 23:14 316 查看
本文参考:http://blog.csdn.net/evankaka/article/details/52421314

java测试代码可参考:http://blog.csdn.net/evankaka/article/details/52494412

安装JDK

二、安装zookeeper

  kafka使用zookeeper来实现动态的集群扩展,不需要更改客户端(producer和consumer)的配置。broker会在zookeeper注册并保持相关的元数据(topic,partition信息等)更新。

  而客户端会在zookeeper上注册相关的watcher。一旦zookeeper发生变化,客户端能及时感知并作出相应调整。这样就保证了添加或去除broker时,各broker间仍能自动实现负载均衡。

下载安装包:http://zookeeper.apache.org/releases.html#download

下载后解压到一个目录:

1、进入Zookeeper设置目录,笔者D:\Java\Tool\zookeeper-3.4.6\conf

2、将“zoo_sample.cfg”重命名为“zoo.cfg”

3、在任意文本编辑器(如notepad)中打开zoo.cfg

4、找到并编辑dataDir=D:\\Java\\Tool\\zookeeper-3.4.6\\data

5、与Java中的做法类似,我们在系统环境变量中添加:

a、在系统变量中添加ZOOKEEPER_HOME = D:\Java\Tool\zookeeper-3.4.6

b、编辑path系统变量,添加为路径%ZOOKEEPER_HOME%\bin;

6、在zoo.cfg文件中修改默认的Zookeeper端口(默认端口2181)

7、打开新的cmd,输入zkserver,运行Zookeeper。

8、命令行提示如下:说明本地Zookeeper启动成功

...
...
2017-04-26 14:18:53,364 [myid:] - INFO  [main:Environment@100] - Server environment:user.dir=E:\zookeeper-3.4.8
2017-04-26 14:18:53,370 [myid:] - INFO  [main:ZooKeeperServer@787] - tickTime set to 2000
2017-04-26 14:18:53,370 [myid:] - INFO  [main:ZooKeeperServer@796] - minSessionTimeout set to -1
2017-04-26 14:18:53,371 [myid:] - INFO  [main:ZooKeeperServer@805] - maxSessionTimeout set to -1
2017-04-26 14:18:53,415 [myid:] - INFO  [main:NIOServerCnxnFactory@89] - binding to port 0.0.0.0/0.0.0.0:2181


三、安装与运行Kafka

下载http://kafka.apache.org/downloads.html。注意要下载二进制版本的

下载后解压到任意一个目录,笔者的是D:\Java\Tool\kafka_2.11-0.10.0.1

1、进入Kafka配置目录,D:\Java\Tool\kafka_2.11-0.10.0.1

2、编辑文件“server.properties”

3、找到并编辑log.dirs=D:\Java\Tool\kafka_2.11-0.10.0.1\kafka-log,这里的目录自己修改成自己喜欢的

4、找到并编辑zookeeper.connect=localhost:2181。表示本地运行

5、Kafka会按照默认,在9092端口上运行,并连接zookeeper的默认端口:2181。

运行:

重要:请确保在启动Kafka服务器前,Zookeeper实例已经准备好并开始运行。

1、进入Kafka安装目录D:\Java\Tool\kafka_2.11-0.10.0.1

2、按下Shift+右键,选择“打开命令窗口”选项,打开命令行。

3、现在输入一下命令,并回车。

.\bin\windows\kafka-server-start.bat .\config\server.properties


若果出现错误: “找不到或无法加载主类 Files\java\jdk1.7.0_80\lib;C:\Program”

解决方式如下:

在kafka安装目录中找到bin\windows目录中的kafka-run-class.bat找到142行为%CLASSPATH%加上双引号

修改前:set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS% %KAFKA_LOG4J_OPTS% -cp %CLASSPATH% %KAFKA_OPTS% %*
修改后:set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS% %KAFKA_LOG4J_OPTS% -cp "%CLASSPATH%" %KAFKA_OPTS% %*


四、测试

上面的Zookeeper和kafka一直打开

(1)、创建主题

1、进入Kafka安装目录D:\Java\Tool\kafka_2.11-0.10.0.1

2、按下Shift+右键,选择“打开命令窗口”选项,打开命令行。

3、现在输入下面命令,创建一个叫linlin的topic

.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic linlin


(2)创建生产者

1、进入Kafka安装目录D:\Java\Tool\kafka_2.11-0.10.0.1

2、按下Shift+右键,选择“打开命令窗口”选项,打开命令行。

3、现在输入下面命令,创建一个关注linlin主题的生产者

.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic linlin


(3)创建消费者

1、进入Kafka安装目录D:\Java\Tool\kafka_2.11-0.10.0.1

2、按下Shift+右键,选择“打开命令窗口”选项,打开命令行。

3、现在输入下面命令,创建一个关注linlin主题的消费者

.\bin\windows\kafka-console-consumer.bat --zookeeper localhost:2181 --topic linlin


(4)测试

在生产者命令窗口输入一句话进行测试,如: Hello I am linlin, who are you,然后回车。可以看到消费之窗口获取到了这一条消息。

常用命令

查看现有的topic

.\bin\windows\kafka-topics.bat --zookeeper localhost:2181 --list


查看topic详细信息

.\bin\windows\kafka-topics.bat --zookeeper localhost:2181 --describe


后话

从上面的安装测试也大概可以看出kafka的结构。下图为kafka的结构图,摘自网络

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zookeeper java