版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Lnho2015/article/details/51352966
本文环境如下:
操作系统:CentOS 6 32位
JDK版本:1.8.0_77 32位
Kafka版本:0.9.0.1(Scala 2.11)
1. 所需要的环境
Kafka需要以下运行环境:
Java 安装参考CentOS 6使用rpm方式安装JDK8
Zookeeper 安装参考:CentOS下ZooKeeper单机模式、集群模式安装
2. 下载、解压Kafka安装包
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/
3. 配置环境变量(可选)
将kafka_2.11-0.9.0.1/bin添加到path,以方便访问
vi /etc/profile
在末尾添加:
KAFKA_HOME =/opt/kafka _2.11 -0 .9.0 .1
PATH =$PATH : $KAFKA_HOME /bin
4. 启动单机模式
4.1 修改配置文件
cd /opt/kafka_2.11 -0.9 .0.1 /config
vi server.properties
修改配置文件中的以下内容:
broker.id=0
log .dirs=/opt/kafka_2.11 -0.9 .0.1 /logs
zookeeper.connect=master:2181 ,slave1:2181 ,slave2:2181
4.2 启动程序
先要确保zookeeper
已启动,然后在Kafka目录执行
nohup bin/kafka-server -start.sh config/server .properties&
如果无报错则说明启动成功。nohup &
是实现在后台启动。
4.3 简单测试
打开2个终端,分别在Kafka目录执行以下命令
启动producer
bin/kafka-console -producer . sh -- broker-list localhost:9092 -- topic test
启动consumer
- - . - - - - - - -
在producer的命令行输入任意字符,观察consumer是否能正确接收。
5. 常见错误
5.1 启动Kafka时出现
Java HotSpot(TM) Server VM warning : INFO: os::commit_memory(0x67e00000 , 1073741824 , 0 ) failed; error ='Cannot allocate memory' (errno=12 )
#
# There is insufficient memory for the Java Runtime Environment to continue .
# Native memory allocation (mmap) failed to map 1073741824 bytes for committing reserved memory .
# An error report file with more information is saved as:
# /opt/kafka_2.11 -0.9 .0 .1 /hs_err_pid2249.log
错误原因:
Kafka默认使用-Xmx1G -Xms1G
的JVM内存配置,如果机器内存较小,需要调整启动配置。
打开/config/kafka-server-start.sh,修改
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
为适合当前服务器的配置,例如export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"