Kafka linux集群部署

Posted xiewenda8

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kafka linux集群部署相关的知识,希望对你有一定的参考价值。

配置环境

win7旗舰版
虚拟机 oracle vm virtualBox5.0
jdk 1.7.0_79
zookeeper-3.4.6 (配置好的可以参考上一篇zookeeper的集群配置)
kafka_2.10-0.8.2.2

准备工作

下载kafka 官网地址http://kafka.apache.org/downloads.html
 # wget http://mirror.bit.edu.cn/apache/kafka/0.8.2.2/kafka_2.10-0.8.2.2.tgz
解压到root 根目录
# tar -zxvf package/kafka_2.10-0.8.2.2.tgz

修改配置文件

进入kafka conf目录下
# cd /root/kafka_2.10-0.8.2.2/config
查看配置文件
# ll
-rw-r--r-- 1 root root 1199  93  2015 consumer.properties
-rw-r--r-- 1 root root 3846  93  2015 log4j.properties
-rw-r--r-- 1 root root 2228  93  2015 producer.properties
-rw-r--r-- 1 root root 5559  93  2015 server.properties
-rw-r--r-- 1 root root 3325  93  2015 test-log4j.properties
-rw-r--r-- 1 root root  993  93  2015 tools-log4j.properties
-rw-r--r-- 1 root root 1023  93  2015 zookeeper.properties

主要修改server.properties  修改一些默认的配置和最后三行加入一些配置

在kafka 根目录下创建三个文件夹server0,server1,server2
复制 默认config的配置文件到三个文件夹下为创建集群做准备
#cp -f config server0
#cp -f config server1
#cp -f config server2
然后修改server0 下的server.properties 对应的配置地方修改
#节点标识
broker.id=0
#端口号
port=9092
#本机ip
host.name=192.168.1.181 
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=1024000
socket.request.max.bytes=104857600
#日志文件存放
log.dirs=/root/kafka_2.10-0.8.2.2/server0/kafkalogs0
num.partitions=2
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=536870912
log.retention.check.interval.ms=300000
log.cleaner.enable=false
zookeeper.connection.timeout.ms=6000
#关联的zookeeper集群 当然可以指定多个 以逗号分隔
zookeeper.connect=192.168.1.181:2181
message.max.bytes = 5048576
default.replication.factor = 2
replica.fetch.max.bytes = 5048576

server1/config/server.properties 复制server0 要修改下边
broker.id=1
port=9082
log.dirs=/root/kafka_2.10-0.8.2.2/server1/kafkalogs1
server2/config/server.properties 复制server0 要修改下边
broker.id=2
port=9072
log.dirs=/root/kafka_2.10-0.8.2.2/server2/kafkalogs2

后台启动项目
#bin/kafka-server-start.sh -daemon server0/config/server.properties
#bin/kafka-server-start.sh -daemon server1/config/server.properties
#bin/kafka-server-start.sh -daemon server2/config/server.properties

看下kafka进程
# jps
12703 QuorumPeerMain
14328 Jps
14040 Kafka
13978 Kafka
14286 Kafka
这种情况标识三个kafka服务启动成功了

测试消息发布和接受
创建话题
# bin# ./kafka-topics.sh --create --zookeeper 192.168.1.181:2181 --replication-factor 2 --partitions 2 --topic test
查看话题
# bin# ./kafka-topics.sh --list --zookeeper 192.168.1.181:2181
开启一个消费者准备接受消息 可以接收多个话题用逗号分隔
#bin# ./kafka-console-consumer.sh --zookeeper 192.168.1.181:2181 --topic test --from-beginning
开启一个生产者发送消息
#bin#  /kafka-console-producer.sh --broker-list 192.168.1.181:9092 --topic test
发送message
消费端窗口就会出现message
再多开几个生产者试试别的端口是否可用。

到这里就结束了,集群基本上时可用的,接下来学习java客户端操作消息队列数据

以上是关于Kafka linux集群部署的主要内容,如果未能解决你的问题,请参考以下文章

Kafka linux集群部署

Kafka: Linux环境-单机部署和伪集群集群部署

Kafka集群安装部署(超详细操作演示)—— Linux

linux运维架构之路-Kafka集群部署

4. linux contos6.8下部署kafka集群

Kafka集群部署