1.准备工作
1)需要准备两台虚拟机,并部署zookeeper集群,分别为leader和follower
2)下载kafka安装文件:http://kafka.apache.org/downloads
这里建议下载的是 Scala 2.11 - kafka_2.11-2.0.0.tgz 这个版本,本人使用的也是这个版本
2.开始
2.1 kafka的解压安装
1)打开两台虚拟机,启动zookeeper集群
这里需要关闭防火墙才能正常启动zookeeper集群,我们可以看到两个zookeeper集群的状态:
上面这个是leader,另外一个为follower
2)在适当的位置创建kafka文件夹并解压下载的kafka文件
- 在/opt文件夹下创建kafka文件夹,并解压下载的文件
//创建kafka文件夹 (opt目录下)
mkdir kafka
//进入文件夹
cd kafka
//解压下载好的文件
tar -zxvf kafka_2.11-2.0.0.tgz
//修改文件名称为kafka——leader
mv kafka_2.11-2.0.0 kafka_leader
//进入文件夹
cd kafka_leader
//创建消息的logs文件夹
mkdir logs
//进入配置中心
cd conf
//备份需要修改的配置文件
cp server.properties server.properties.bak
server.properties文件中需要添加和修改的配置如下:
broker.id=0 // 节点id 每个节点的必须不一样
host.name=192.168.58.128 //服务器地址
advertised.host.name=192.168.58.128
listeners=PLAINTEXT://192.168.58.128:9092
advertised.listeners=PLAINTEXT://192.168.58.128:9092
log.dirs=/opt/kafka/kafka_leader/logs //消息文件存储路径
num.partitions=2 //设置zookeeper集群数目
zookeeper.connect=192.168.58.128:2181,192.168.58.129:2181 //zookeeper集群地址
3)使用同样的方式在配置第二个broker
4)启动两个kafka节点
./kafka-server-start.sh /opt/kafka/kafka_leader/config/server.properties &
5)此时我们可以看到两个kafka节点就已经被运行起来了
在这里的日志中,我们也可以看之前的一些配置信息:
等等类似的配置信息
2.2 测试集群安装
我们将第一台虚拟机作为生产者,实现数据产生,在第一个虚拟机中输入如下命令,创建一个topic,并启动生产者:
./kafka-console-producer.sh --broker-list 192.168。58.128:9092,192.168.58.129:9092 --topic my-replicated-topic5
输入上面命令后,我们会看到如下的情况:
第二台命令作为消费者消费第一台服务器产生的消息
./kafka-console-consumer.sh --bootstrap-server 192.168.0.128:9092,192.168.58.129:9092 --from-beginning --topic my-replicated-topic5
此时我们在生产服务器上输入消息,然后产看消费者服务器,如果可以看到对应的消息,就代表我们配置成功了
2.3 在idea中使用java代码实现kafka集群中的相关操作