一、前期的准备
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文件夹下,使用如下命令将其解压
tar -xzf jdk-7u55-linux-i586.gz
(2)点击computer并在在 usr/local目录下创建文件夹java,并利用如下命令将上一步解压后的文件夹移动到此文件夹下
sudo mv jdk1.7.0_55 /usr/lib/java/
sudo gedit /etc/profile
添加变量如下:
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
#set java environment
export JAVA_HOME=/usr/local/java/jdk1.7.0_55
export JRE_HOME=/usr/local/java/jdk1.7.0_55/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
一般更改/etc/profile文件后,需要重启机器才能生效。这里介绍一种不用重启使其生效的方法
source /etc/profile
(4)运用如下命令查看java环境变量是否配置成功
java -version
二、测试
1.进入文件夹kafka_2.9.2-0.8.1
cd kafka_2.9.2-0.8.1
2.启动服务器
注意:本文在试验的时候出现异常,最后发现原因是无法识别UseCompressedOops指令,导致无法创建JVM。经过查找发现该指令位于kafka-run-class.sh文件的153行,可以将 -XX:+UseCompressedOops 整体删除。该指令的作用主要作用是用于指针的压缩,主要用于JVM优化,优化只是对于64位的,本文使用的是32位,所以去掉后应该没事,对于UseCompressedOops 的了解可以参考
文章1:http://agapple.iteye.com/blog/1038336
文章2:http://kenwublog.com/compressedoops
也可以参考《深入理解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 test
可以使用如下命令查看topic
bin/kafka-topics.sh --list --zookeeper localhost:2181
test
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
Hello kafka
5.启动consumer
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
将会看到刚才发送的消息 Hello kafla
三、关于kafka的相关文章推荐
文章 1 http://kafka.apache.org/documentation.html
文章 2 http://my.oschina.net/ielts0909/blog?catalog=263107
文章 3 http://blog.csdn.net/hxpjava1/article/details/19160665
文章 4 http://blog.csdn.net/Desilting/article/details/22872839
文章 5 http://blog.csdn.net/itleochen/article/details/17451455
文章 6 http://blog.csdn.net/unix21/article/details/19069381
文章 7 http://blog.csdn.net/itleochen/article/category/1815871
文章 8 http://blog.csdn.net/lizhitao/article/details/23743821
文章 9 http://dongxicheng.org/search-engine/kafka/
文章 10 http://blog.csdn.net/yfkiss/article/details/17348693
文章 11 http://blog.csdn.net/yfkiss/article/details/17381351
文章 12 http://blog.chinaunix.net/uid-20196318-id-2420884.html
文章 13 http://www.oschina.net/question/878420_92395
文章 14 http://www.tuicool.com/topics/11090075