一、前期的准备
1.Linux环境
在VMware 下安装了Ubuntu14.04(32位), 内存分配 :1G;
2.kafka下载
kafka官网下载kafka的压缩包,本文用的是 kafka_2.9.2-0.8.1.tgz
在Home下新建一个文件夹test_kafka,并将kafka_2.9.2-0.8.1.tgz放在其中,并解压
tar -xzf kafka_2.9.2-0.8.1.tgz
此时将出现test_kafka出现解压后的文件夹kafka_2.9.2-0.8.1
注意:另外下载一个:slf4j-nop-1.5.8.jar的jar包放在libs文件夹下面
3.jdk环境
需要在Ubuntu下安装配置jdk
首先,去官网 下载jdk ,本文所用的是Linux x86的jdk-7u55-linux-i586.gz 版本
其次在Ubuntu下安装jdk
(1)将 jdk-7u55-linux-i586.gz 复制到test_kafka文件夹下,使用如下命令将其解压
1. tar -xzf jdk-7u55-linux-i586.gz
(2)点击computer并在在 usr/local目录下创建文件夹java,并利用如下命令将上一步解压后的文件夹移动到此文件夹下
1. sudo mv jdk1.7.0_55 /usr/lib/java/
(3)利用如下命令打开
打开/etc/profile文件
1. sudo gedit /etc/profile
添加变量如下:
1. # /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
2. # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
3. #set java environment
4. export JAVA_HOME=/usr/local/java/jdk1.7.0_55
5. export JRE_HOME=/usr/local/java/jdk1.7.0_55/jre
6. export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
7. export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
一般更改/etc/profile文件后,需要重启机器才能生效。这里介绍一种不用重启使其生效的方法
1. source /etc/profile
(4)运用如下命令查看Java环境变量是否配置成功
1. java -version
二、测试
1.进入文件夹kafka_2.9.2-0.8.1
1. cd kafka_2.9.2-0.8.1
2.启动服务器
注意:本文在试验的时候出现异常,最后发现原因是无法识别UseCompressedOops指令,导致无法创建JVM。经过查找发现该指令位于kafka-run-class.sh文件的153行,可以将 -XX:+UseCompressedOops 整体删除。该指令的作用主要作用是用于指针的压缩,主要用于JVM优化,优化只是对于64位的,本文使用的是32位,所以去掉后应该没事,对于UseCompressedOops 的了解可以参考
也可以参考《深入理解JAVA虚拟机JVM高级特性与最佳实践》中的1.4.5节-----64位虚拟机
经过上面的处理后,再启动服务器
先启动zookeeper服务器
- bin/zookeeper-server-start.sh config/zookeeper.properties &
[2013-04-22 15:01:37,495] INFO Reading configuration from: config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
...
再启动kafka服务器
bin/kafka-server-start.sh config/server.properties &
[2013-04-22 15:01:47,028] INFO Verifying properties (kafka.utils.VerifiableProperties)
[2013-04-22 15:01:47,051] INFO Property socket.send.buffer.bytes is overridden to 1048576 (kafka.utils.VerifiableProperties)
...
注意 & 符号的使用
3.创建topic
- bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1
可以使用如下命令查看topic
- bin/kafka-topics.sh --list --zookeeper localhost:2181
test
4.发送message
- bin/kafka-console-producer.sh --broker-list localhost:9092
- Hello kafka
5.启动consumer
- bin/kafka-console-consumer.sh --zookeeper localhost:2181
将会看到刚才发送的消息 Hello kafla