linux服务器上搭建Kafka

kafka是分布式流处理平台,也称为:分布式提交日志,最主要的作用是实现分布式持久化保存数据的目的。侧重点在于数据的存储和读取,针对实时性比较高的流式数据处理场景。MQTT borker的侧重点在于客户端和服务器的通信,Kafka不支持mqtt协议。

手动环境搭建具体可以参照官网,步骤比较简单
官网:http://kafka.apache.org/quickstart
具体步骤:

  1. wget http://mirror.bit.edu.cn/apache/kafka/2.1.0/kafka_2.11-2.1.0.tgz
  2. tar -xzf kafka_2.11-2.1.0.tgz
  3. cd kafka_2.11-2.1.0
  4. 启动zookeeper :bin/zookeeper-server-start.sh config/zookeeper.properties
  5. 启动kafka:bin/kafka-server-start.sh config/server.properties
  6. 创建topic:bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
  7. 测试生产者:bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
  8. 测试消费者:bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

自己服务器内存1g,配置较低启动时会有报错
error=‘Cannot allocate memory’ (errno=12))
主要原因的服务器内存不足,启动zookeeper和kafka占用内存较大
解决方法:
修改bin/kafka-server-start.sh中的启动参数
KAFKA_HEAP_OPTS指定了kafka启动时内存
默认一般:export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
Xmx:启动最大内存
Xms:最小初始化内存
改为:export KAFKA_HEAP_OPTS="-Xmx256M -Xms256M"
重新启动一下就ok了

kafka1.0 以上版本手动搭建及测试都可以按照以上步骤实现;kafka0.10版本,测试命令需要修改如下:
创建生产者:bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
创建消费者:bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

Docker搭建kafka:(kafka目前没有官方镜像,使用的第三方的镜像)
拉取镜像:(可以使用docker search kafka 查看镜像资源)
docker pull zookeeper(官方)
docker pull wurstmeister/kafka (第三方版本)

  1. 启动zookeeper容器:docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime zookeeper
  2. 启动kafka: docker run --name kafka -p 9092:9092 --link zookeeper
    –env KAFKA_ZOOKEEPER_CONNECT=zookeeper
    –env KAFKA_ADVERTISED_HOST_NAME=172.16.0.12
    –env KAFKA_ADVERTISED_PORT=9092
    –env KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"
    -v /etc/localtime:/etc/localtime wurstmeister/kafka

Docker启动kafka时同样也会遇到问题:error=‘Cannot out of memory’ (errno=12)
解决方法:docker run 时 可以添加启动参数,加入KAFKA_HEAP_OPTS="-Xmx256M -Xms256M"参数

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值