3台虚拟机均进行以下操作:
2.1 解压下载好的kafka压缩包并重命名
cd /usr/local
wget http://mirror.bit.edu.cn/apache/kafka/1.0.0/kafka_2.11-1.0.0.tgz
tar -zxvf kafka_2.11-1.0.0.tgz
mv kafka_2.12-0.11.0.0 kafka
2.2 修改配置文件
vi ./kafka/config/server.properties
需要修改的内容如下(192.168.223.140)
broker.id=1
listeners=PLAINTEXT://192.168.223.140:9092
zookeeper.connect=192.168.223.140:2181,192.168.223.141:2181,192.168.223.142:2181
2.3 添加环境变量
(1) 在系统环境中配置kafka的路径
vi /etc/profile
(2)添加环境变量
#kafka
export KAFKA_HOME=/usr/local/kafka
PATH=${KAFKA_HOME}/bin:$PATH
export PATH
(3)使修改完的环境变量生效
source /etc/profile
2.4 克隆虚拟机
我们选择克隆虚拟机,每一台都去执行上述命令,很繁琐,我们可以选择克隆虚拟机节约时间
虚拟机克隆方法
(1)需要修改的内容如下(192.168.223.141)
broker.id=2
listeners=PLAINTEXT://192.168.223.141:9092
zookeeper.connect=192.168.223.140:2181,192.168.223.141:2181,192.168.223.142:2181
(2)需要修改的内容如下(192.168.223.142)
broker.id=3
listeners=PLAINTEXT://192.168.223.142:9092
zookeeper.connect=192.168.223.140:2181,192.168.223.141:2181,192.168.223.142:21811
注意:kafka的broker.id和zookeeper中的myid,没有任何关系,只要保证在集群中唯一即可
3.1验证zookeeper集群有没有问题
3.1.1 开启3台虚拟机的zookeeper程序
/usr/local/zookeeper/bin/zkServer.sh start
3.1.2 开启成功后查看zookeeper集群的状态
/usr/local/zookeeper/bin/zkServer.sh status
出现Mode:follower或是Mode:leader则代表成功
3.1.3在后台开启3台虚拟机的kafka程序(cd /usr/local/kafka)
./bin/kafka-server-start.sh -daemon config/server.properties
连接任意一台zookeeper服务器,能看到一下信息,说明zookeeper集群没有问题
3.2验证kafka集群有没有问题
创建topic和查询所有topic
cd /usr/local/kafka/
bin/kafka-topics.sh --create --zookeeper 192.168.223.142:2181 --replication-factor 1 --partitions 1 --topic test
bin/kafka-topics.sh --list --zookeeper 192.168.223.142:2181
3.生产者和消费者
创建 producer(生产者): 测试生产消息
bin/kafka-console-producer.sh --broker-list 192.168.223.142:9092 -topic test
创建 consumer(消费者): 测试消费
bin/kafka-console-consumer.sh --bootstrap-server 192.168.223.142:9092 -topic test --from-beginning