软件环境
- Linux 服务器,一台或者多台,这里我们设置三台
ip6:centos-node6
ip7:centos-node7
ip8:centos-node8
- 1
- 2
- 3
- zookeeper 集群环境
之前我们已经有搭建好的zookeeper集群环境,参考
http://blog.youkuaiyun.com/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集群环境搭建成功。
此文仅以学习笔记为主,仅供学习参考。