Kafka集群的部署与测试
KafKa集群的部署与测试
kafka是一款分布式消息发布和订阅的系统,相比ActiveMQ具有高性能和高吞吐率。
官方网站: http://kafka.apache.org/documentation.html#quickstart
相关项目:
相关示例项目:Leek——简易版实时智能选股平台
一、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集群
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