Kafka单机、集群模式安装详解(一)

本文环境如下: 
操作系统: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/
  • 1
  • 2
  • 3

3. 配置环境变量(可选)

将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
  • 1
  • 2

4. 启动单机模式

4.1 修改配置文件

cd /opt/kafka_2.11-0.9.0.1/config
vi server.properties
  • 1
  • 2

修改配置文件中的以下内容:

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列表,各节点以逗号分开
  • 1
  • 2
  • 3

4.2 启动程序

先要确保zookeeper已启动,然后在Kafka目录执行

nohup bin/kafka-server-start.sh config/server.properties&
  • 1

如果无报错则说明启动成功。nohup &是实现在后台启动。

4.3 简单测试

打开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是否能正确接收。

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

错误原因: 
Kafka默认使用-Xmx1G -Xms1G的JVM内存配置,如果机器内存较小,需要调整启动配置。 
打开/config/kafka-server-start.sh,修改 
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" 
为适合当前服务器的配置,例如export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值