kafka原理和集群

搭建kafka 首先要搭建好 前面的 zookeeper 环境
 
• kafka是什么?
– Kafka是由LinkedIn开发的一个分布式的消息系统
– kafka是使用Scala编写
– kafka是一种消息中间件
• 为什么要使用 kafka
– 解耦、冗余、提高扩展性、缓冲
– 保证顺序,灵活,削峰填谷
– 异步通信
 
kafka集群
• kafka 角色与集群结构
– producer:生产者,负责发布消息
– consumer:消费者,负责读取处理消息
– topic: 消息的类别
– Parition:每个Topic包含一个或多个Partition.
– Broker:Kafka集群包含一个或多个服务器
– Kafka通过Zookeeper管理集群配置,选举leader
 
• kafka 角色与集群结构
===================================================================
 
• kafka 集群的安装配置
– kafka 集群的安装配置是依赖zookeeper的, 搭建kafka 集群之前,首先请创建好一个可用 zookeeper集群
– 安装 openjdk 运行环境
– 分发 kafka 拷贝到所有集群主机
– 修改配置文件
– 启动与验证
 
• server.properties
  1.    broker.id
  2.     每台服务器的broker.id都不能相同
  3.    zookeeper.connect
  4.    zookeeper 集群地址,不用都列出,写一部分即可
 
1 下载解压 kafka 压缩包
]# tar  -xf  kafka_2.10-0.10.2.1.tgz -C  ./
 
2 把 kafka 拷贝到 /usr/local/kafka 下面
]# mv   kafka_2.10-0.10.2.1  /usr/local/kafka
 
3 修改配置文件 
vim/usr/local/kafka/config/server.properties
broker.id=11
zookeeper.connect=node1:2181,node2:2181,node3:2181
 
4 拷贝 kafka 到其他主机,并修改 broker.id ,不能重复
]# for i  in {11..13} ;do  scp  kafka/config/server.properties  192.168.1.$i:/usr/local/kafaka ;done
###注意这里拷贝过去后要修改其他节点的 broker.id 数,不得重复
 
5 启动 kafka 集群
/usr/local/kafka/bin/kafka-server-start.sh -daemon  /usr/local/kafka/config/server.properties
 
验证集群
创建一个 topic 
cd  /usr/local/kafka/
./bin/kafka-topics.sh --create --partitions 1 --replication-factor 1 --zookeeper node3:2181 --topic nsd1804
 
生产者,负责发布消息
cd  /usr/local/kafka/
./bin/kafka-console-producer.sh --broker-list node2:9092 --topic nsd1804
 
消费者,负责读取处理消息
cd  /usr/local/kafka/
./bin/kafka-console-consumer.sh --bootstrap-server node1:9092 --topic nsd1804
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/zzc-log/p/9591359.html