Kafka 集群部署
一、zookeeper安装
Kafka自带了分布式协调服务zk
- 1、第一步:下载,解压,复制zoo.cfg,修改zoo.cfg
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logs
server.1=192.168.149.22:8880:7770
server.2=192.168.149.23:8880:7770
server.3=192.168.149.24:8880:7770
- 2、复制到另外两个节点上
- 3、分别在三个节点的/data/zookeeper/data 目录下创建myid文件
内容为:第一个节点为 1,第二个节点为 2,第三个节点为 3。 - 4、启动
./bin/zkServer.sh start
- 5、确定启动是否正常
./bin/zkServer.sh status
二、kafka的安装
- 1、修改 server.properties 文件
broker.id=0
listeners=PLAINTEXT://192.168.149.22:9092
log.dirs=/data/kafka/kafka-logs zookeeper.connect=192.168.149.22:2181,192.168.149.23:2181,192.168.149.24:2181
broker.id=1
listeners=PLAINTEXT://192.168.149.23:9092
log.dirs=/data/kafka/kafka-logs zookeeper.connect=192.168.149.22:2181,192.168.149.23:2181,192.168.149.24:2181
broker.id=2
listeners=PLAINTEXT://192.168.149.24:9092
log.dirs=/data/kafka/kafka-logs zookeeper.connect=192.168.149.22:2181,192.168.149.23:2181,192.168.149.24:2181
- 2、启动
./bin/kafka-server-start.sh config/server.properties &
- 3、创建topic(默认需要手动创建,可以修改配置文件让kafka自动创建不存在的topic)创建一个名称为 test topic ,指定 test topic有一个分区,一个副本。
./bin/kafka-topics.sh --create --topic test --bootstrap-server 192.168.149.22:9092 --partitions 1 --replication-factor 1
- 4、查看topic信息
./bin/kafka-topics.sh --describe --topic test --bootstrap-server 192.168.149.22:9092
- 5、发送消息(用kafka自带的命名模拟消息发送)
./bin/kafka-console-producer.sh --bootstrap-server 192.168.149.22:9092 --topic test
- 6、消费消息
./bin/kafka-console-consumer.sh --bootstrap-server 192.168.149.22:9092 --topic test --from-beginning
三、使用场景
- 大数据领域:网站行为分析、日志聚合、应用监控、流式数据处理、在线和离线数据分析等领域。
- 数据集成:将消息导入 OSS、RDS、Hadoop、HBase等离线数据仓库。
- 流计算集成:与Spark、Storm等流计算引擎集成。