Kafka搭建前提条件:
jdk、SSH互信、zookeeper集群,如何安装JDK请看《JDK安装》,如何建立服务器互信请看《SSH免密登录配置》;如果没有独立的zookeeper集群,也可以使用kafka自带打包和配置好的Zookeeper(配制zk请参照zookeeper集群搭建):bin/zookeeper-server-start.sh config/zookeeper.properties
一、准备
1.1 服务器资源准备
本地计划搭建6个节点的kafka集群:
服务器信息:
10.242.167.216 app212
10.242.167.217 app211
10.242.167.218 app210
10.242.167.219 app209
10.242.167.220 app208
10.242.167.221 app207
1.2 Kafka安装包准备
这次用的kafka版本为1.0版本kafka_2.11-1.0.0.tgz
,到kafka官网Kafka官网,然后ftp上传到10.242.167.216服务器/opt目录下;然后解压等待配置
tar -xivf kafka_2.11-1.0.0.tgz -C /opt
二、配置
首先配置环境变量
cd /opt
mv kafka_2.11-1.0.0 kafka
配置环境变量:
vim /etc/profile
添加:
export KAFKA_HOME=/opt/kafka
export PATH=/opt/kafka/bin:$PATH
source /etc/profile
然后配置kafka的server、producer、consumer等
cd /opt/kafka/config
mkdir -p /bak/kafka-logs
先配置server.properties:
vim server.properties
修改:
broker.id=1
auto.create.topics.enable=false
listeners=PLAINTEXT://10.242.167.216:9092
log.dirs=/bak/kafka-logs
log.retention.hours=48
zookeeper.connect=app212:2181,app211:2181,app210:2181
group.initial.rebalance.delay.ms=3000
配置consumer.properties:
bootstrap.servers=app212:2181,app211:2181,app210:2181
配置producer.properties:
bootstrap.servers=app212:2181,app211:2181,app210:2181
consumer.properties和producer.properties无特殊需求可不配置
分发到其他节点:
mkdir /bak/kafka-logs
scp -r /opt/kafka/ app210:/opt
修改各个节点:
broker.id=2
listeners=PLAINTEXT://10.242.167.217:9092
这两项各个节点应该是都不同
三、启动kafka集群
启动kafka服务
到各台服务器上执行:
cd /opt/kafka/bin
./kafka-server-start.sh /opt/kafka/config/server.properties &
四、验证
4.1 创建topic两个备份6个分区:
./kafka-topics.sh --create --zookeeper app212:2181 --replication-factor 2 --partitions 6 --topic t_test
4.2 查看存在的topic:
./kafka-topics.sh --zookeeper app212:2181 --list
4.3 查看topic详细信息:
./kafka-topics.sh --describe --zookeeper app212:2181 --topic t_test
4.4 生产数据:
./kafka-console-producer.sh --broker-list localhost:9092 --topic t_test
4.5 消费数据:
消费数据:
./kafka-console-consumer.sh --zookeeper app211:2181 --topic t_test