Kafka集群的部署与测试

KafKa集群的部署与测试

kafka是一款分布式消息发布和订阅的系统,相比ActiveMQ具有高性能和高吞吐率。

官方网站: http://kafka.apache.org/documentation.html#quickstart

相关项目:
相关示例项目:Leek——简易版实时智能选股平台

一、kafka原理图

Kafka集群的部署与测试

二、kafka的安装(安装kafka前需要先安装JDK环境)

1、下载kafka

[http://kafka.apache.org/downloads.html](http://kafka.apache.org/downloads.html)  
tar -zxvf kafka_2.11-0.9.0.1.tgz   
cd kafka_2.11-0.9.0.1.tgz

2、安装Zookeeper集群

见:ZooKeeper高可用集群的安装及配置

3、修改配置文件

vim /usr/local/kafka_2.11-0.9.0.1/config/server.properties

在机器1上:

broker.id=0 #集群中唯一id  
port=9092
host.name=192.168.xx.100 
advertised.host.name=192.168.xx.100
listeners=PLAINTEXT://192.168.xx.100:9092  
log.dirs=/usr/local/kafka_2.11-0.9.0.1/kafka-logs  
num.partitions=5 #分区的数目
zookeeper.connect=node-1:2181,node-2:2181,node-3:2181

在机器2上:

broker.id=1 #集群中唯一id  
port=9092
host.name=192.168.xx.101 
advertised.host.name=192.168.xx.101
listeners=PLAINTEXT://192.168.xx.101:9092  
log.dirs=/usr/local/kafka_2.11-0.9.0.1/kafka-logs  
num.partitions=5 #分区的数目
zookeeper.connect=node-1:2181,node-2:2181,node-3:2181

4、在各个机器上启动Kafka服务

cd /usr/local/kafka_2.11-0.9.0.1/bin/  
nohup ./kafka-server-start.sh /usr/local/kafka_2.11-0.9.0.1/config/server.properties &
jps #验证是否有相关进程

5、Kafka服务测试

#我们创建一个名称为test的Topic,2个分区,并且复制因子为2(表示数据保存2份)
#执行如下命令:
cd /usr/local/kafka_2.11-0.9.0.1/bin/ 
./kafka-topics.sh --create --zookeeper node-1:2181  
--replication-factor 2 --partitions 2 --topic stock

#查看创建的Topic
./kafka-topics.sh --list --zookeeper node-1:2181
#查看相应Topic的情况
./kafka-topics.sh --describe --zookeeper node-1:2181 --topic test
#发送消息
./kafka-console-producer.sh --broker-list 192.168.xx.100:9092 --topic stock
#接收消息
./kafka-console-consumer.sh --zookeeper node-1:2181 --topic stock  --from-beginning

相关推荐