Kafka集群环境搭架



软件环境

  • Linux 服务器,一台或者多台,这里我们设置三台
ip6:centos-node6
ip7:centos-node7
ip8:centos-node8
  • 1
  • 2
  • 3
  • zookeeper 集群环境

之前我们已经有搭建好的zookeeper集群环境,参考

http://blog.csdn.net/liulihui1988/article/details/77051145

  • kafka 版本

这里我们选择版本kafka_2.9.2-0.8.1.1.tgz下载地址

http://apache.fayea.com/kafka/0.8.1.1/kafka_2.9.2-0.8.1.1.tgz

这里我们 在服务器:centos-node6上操作, 命令执行解压 kafka_2.9.2-0.8.1.1.tgz

# tar -zxvf kafka_2.9.2-0.8.1.1.tgz -C /usr/local
  • 1

分别在centos-node6,centos-node7,centos-node8服务器中 opt/目录下创建文件夹kafkaLog,此/opt/kafkaLog 目录作为kafka 工作消息目录。

# mkdir kafkaLog
  • 1

进入kafkakafka/config/目录下,修改配置文件

  • 配置文件server.properties
//broker.id 为当前集群中的唯一标识
broker.id=0

//当前broker提供的tcp端口 默认:9092
port=19092

//host.name 一般是关闭的,这里可以配为主机名或者IP
host.name=centos-node6

//kafka 工作消息目录
log.dirs=/opt/kafkaLog

//在log.retention.hours=168 下面添加一下配置
log.retention.hours=168

//每条消息的大小
message.max.byte=5048576 

//kafka 保存消息的副本数
default.replication.factor=2

//取消息的最大字节数 5M
replica.fetch.max.bytes=5048576

//zookeeper 集群以及 端口 2181
zookeeper.connect=centos-node6:2181,centos-node7:2181,centos-node8:2181
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

kafka 文件server.properties 配置完成,为了保证三台服务centos-node6,centos-node7,centos-node8器配置相同,我们需要执行一下操作,拷贝 server.properties 文件到centos-node7,centos-node8 kafka的config目录中,执行一下命令

  • 从centos-node6服务器拷贝到centos-node7
# scp server.properties root@centos-node7:/usr/local/kafka_2.9.2-0.8.1.1/config/
  • 1
  • 修改centos-node7的kafka/config/server.properties 文件
//broker.id 为当前集群中的唯一标识
broker.id=1

//host.name 一般是关闭的,这里可以配为主机名或者IP
host.name=centos-node7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 从centos-node6服务器拷贝到centos-node8
# scp server.properties root@centos-node8:/usr/local/kafka_2.9.2-0.8.1.1/config/
  • 1
  • 修改centos-node8的kafka/config/server.properties 文件
//broker.id 为当前集群中的唯一标识
broker.id=2

//host.name 一般是关闭的,这里可以配为主机名或者IP
host.name=centos-node8
  • 1
  • 2
  • 3
  • 4
  • 5

三台服务器kafka 的配置文件已经完成,启动zookeeper服务测试

# zkServer.sh start
  • 1

这里写图片描述

  • 后台执行一下命令测试
./kafka-server-start.sh -daemon ../config/server.properties
  • 1

这里写图片描述

kafka 后台启动成功

测试Kafka集群环境搭建成功

现在我们来执行一下命令测试,kafka 集群搭建是否成功,让我们创建一个名为“测试”的主题与单个分区只有一个副本,执行一下命令

# ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 1 --topic test
  • 1

这里写图片描述

从上图我们看到topic创建成功了,命令查看topic

# ./kafka-topics.sh --list --zookeeper centos-node6:2181
  • 1

这里写图片描述

现在我们在centos-node6服务器上 启动一个 console-producer 程序。

# ./kafka-console-producer.sh --broker-list centos-node6:19092 --topic test
  • 1

这里写图片描述

现在我们在centos-node7服务器上 启动一个 console-consumer 程序

# ./kafka-console-consumer.sh --zookeeper centos-node7:2181 --topic test --from-beginning
  • 1

这里写图片描述

我们看到producer 和 consumer 都启动成功了,现在我们在centos-node6 服务器上 producer 发送消息 “hahaha”,服务器centos-node7 上consumer 成功接收 “hahaha” ,标示 Kafka集群环境搭建成功。

这里写图片描述

这里写图片描述

此文仅以学习笔记为主,仅供学习参考。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页