本文环境如下: 操作系统:CentOS 6 32位 JDK版本:1.8.0_77 32位 Kafka版本:0.9.0.1(Scala 2.11)
Kafka需要以下运行环境: Java 安装参考CentOS 6使用rpm方式安装JDK8 Zookeeper 安装参考:CentOS下ZooKeeper单机模式、集群模式安装
Kafka官网地址: http://kafka.apache.org/ 例如:
wget "http://mirrors.hust.edu.cn/apache/kafka/0.9.0.1/kafka_2.11-0.9.0.1.tgz" tar -xzvf kafka_2.11-0.9.0.1.tgz mv kafka_2.11-0.9.0.1 /opt/ 123将kafka_2.11-0.9.0.1/bin添加到path,以方便访问
vi /etc/profile 1在末尾添加:
KAFKA_HOME=/opt/kafka_2.11-0.9.0.1 PATH=$PATH:$KAFKA_HOME/bin 12修改配置文件中的以下内容:
broker.id=0 //为依次增长的:0、1、2、3、4,集群中唯一id log.dirs=/opt/kafka_2.11-0.9.0.1/logs //日志地址 zookeeper.connect=master:2181,slave1:2181,slave2:2181 //zookeeperServers列表,各节点以逗号分开 123先要确保zookeeper已启动,然后在Kafka目录执行
nohup bin/kafka-server-start.sh config/server.properties& 1如果无报错则说明启动成功。nohup &是实现在后台启动。
打开2个终端,分别在Kafka目录执行以下命令 启动producer
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test 1启动consumer
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning 1在producer的命令行输入任意字符,观察consumer是否能正确接收。
错误原因: Kafka默认使用-Xmx1G -Xms1G的JVM内存配置,如果机器内存较小,需要调整启动配置。 打开/config/kafka-server-start.sh,修改 export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" 为适合当前服务器的配置,例如export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"
