今天来玩玩kafka, 有点意思。

 

        1.  下载二进制的kafka安装包, 地址:http://kafka.apache.org/downloads.html,  以kafka_2.10-0.9.0.0.tgz为例吧, 下载后, 如下:

ubuntu@VM-0-13-ubuntu:~$ ls
kafka_2.10-0.9.0.0.tgz  share


        2. 解压并进入kafka目录, 如下:

tar -xzvf kafka_2.10-0.9.0.0.tgz
cd kafka_2.10-0.9.0.0

       

 

        3.  启动Zookeeper

bin/zookeeper-server-start.sh config/zookeeper.properties &

        a. 可能会遇到没有jdk的情况, 请安装, sudo apt-get install openjdk-8-jdk

        b. 可能会遇到内存不足的情况, 请修改配置, 见文后

 

        4. 启动Kafka:    

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

         可能会遇到内存不足的情况, 请修改配置, 见文后

 

        5. 运行 producer:

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

 

        6 运行 consumer:

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

        

 

       在producer中写信息, 从consumer中可以看到结果, 如下:



       

         一个简单的kafka搭建, 遇到好几个坑:

 

        1. Exception in thread “main" java.lang.UnsupportedClassVersionError

            原因:JDK版本兼容问题, 那就升级吧

            办法:http://blog.csdn.net/guoqianqian5812/article/details/52649191   (感谢原作者)

 

       2.   内存memory的insufficient问题, 或者heap问题, 总之就是内存问题。

             原因: 机器的内存不够, 需要改配置

             办法:  改配置为512M或者256M

           zookeeper和 kafka都可能遇到这个问题, 他们的文件分别是:zookeeper-server-start.sh和kafka-server-start.sh, 下面仅以kafka的kafka-server-start.sh为例:

ubuntu@VM-0-13-ubuntu:~/kafka_2.10-0.9.0.0$ cat bin/kafka-server-start.sh | grep heap -i
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"

      

       

         可能还有其他坑, 一个个灭之。


 

 

 

 

 


本文转载:CSDN博客