当前位置:   article > 正文

Kafka(4):Kafka集群环境搭建_kafka集群搭建

kafka集群搭建

集群是一种计算机系统, 它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和/或可靠性。一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多

1 集群的特点

集群拥有以下两个特点:

        1. 可扩展性:集群的性能不限制于单一的服务实体,新的服务实体可以动态的添加到集群,从而增强集群的性能。

        2. 高可用性:集群当其中一个节点发生故障时,这台节点上面所运行的应用程序将在另一台节点被自动接管,消除单点故障对于增强数据可用性、可达性和可靠性是非常重要的。

2 集群的能力

        1. 负载均衡:负载均衡把任务比较均匀的分布到集群环境下的计算和网络资源,以提高数据吞吐量。

        2. 错误恢复:如果集群中的某一台服务器由于故障或者维护需要无法使用,资源和应用程序将转移到可用的集群节点上。这种由于某个节点的资源不能工作,另一个可用节点中的资源能够透明的接管并继续完成任务的过程,叫做错误恢复。

负载均衡和错误恢复要求各服务实体中有执行同一任务的资源存在,而且对于同一任务的各个资源来说,执行任务所需的信息视图必须是相同的。

3 集群使用场景

Kafka是一个分布式消息系统,具有高水平扩展和高吞吐量的特点。在Kafka 集群中,没有 “中心主节点” 的概念,集群中所有的节点都是对等的。

Broker(代理)

每个 Broker 即一个 Kafka 服务实例,多个 Broker 构成一个 Kafka 集群,生产者发布的消息将保存在Broker 中,消费者将从 Broker 中拉取消息进行消费。

Kafka集群架构图

 

 从图中可以看出Kafka强依赖于ZooKeeper ,通过ZooKeeper管理自身集群,如:Broker列表管理、Partition与Broker的关系、Partition与Consumer的关系、Producer与Consumer负载均衡、消费进度Offset记录、消费者注册等,所以为了达到高可用,ZooKeeper自身也必须是集群。

4 集群搭建

4.1 zookeeper集群搭建

ZooKeeper(3):ZooKeeper集群环境搭建_不死鸟.亚历山大.狼崽子的博客-CSDN博客_zookeeper集群连接

4.2kafka集群搭建

1 分别在三台机子上部署kafka

2 对server.properties进行修改

修改第一台机子

  1. # broker 编号,集群内必须唯一
  2. broker.id=0
  3. #brokder对外提供的服务入口地址
  4. listeners=PLAINTEXT://:9092
  5. #设置存放消息日志文件的地址
  6. log.dirs=/tmp/kafka/log
  7. # ZooKeeper 地址,多个用,分隔
  8. zookeeper.connect=192.168.222.130:2181,192.168.222.131:2181,192.168.222.132:2181

修改第二台机子

  1. # broker 编号,集群内必须唯一
  2. broker.id=1
  3. #brokder对外提供的服务入口地址
  4. listeners=PLAINTEXT://:9092
  5. #设置存放消息日志文件的地址
  6. log.dirs=/tmp/kafka/log
  7. # ZooKeeper 地址,多个用,分隔
  8. zookeeper.connect=192.168.222.130:2181,192.168.222.131:2181,192.168.222.132:2181

修改第三台机子

  1. # broker 编号,集群内必须唯一
  2. broker.id=2
  3. #brokder对外提供的服务入口地址
  4. listeners=PLAINTEXT://:9092
  5. #设置存放消息日志文件的地址
  6. log.dirs=/tmp/kafka/log
  7. # ZooKeeper 地址,多个用,分隔
  8. zookeeper.connect=192.168.222.130:2181,192.168.222.131:2181,192.168.222.132:2181

3.配置完以后启动kafka

通过启动命令别启动各个服务器上的kafka

bin/kafka-server-start.sh config/server.properties

4.测试集群配置是否成功

在其中一台机器上创建topic

bin/kafka-topics.sh --create --zookeeper 192.168.222.130:2181,192.168.222.131:2181,192.168.222.132:2181 --replication-factor 3 --partitions 3 --topic test-topic

在另一台查看创建的topic信息:

bin/kafka-topics.sh --describe --zookeeper 192.168.222.130:2181,192.168.222.131:2181,192.168.222.132:2181 --topic test-topic

选其中一台机器创建生产者:

bin/kafka-console-producer.sh --broker-list 192.168.222.130:9092,192.168.222.131:9092,192.168.222.132:9092 --topic test-topic

 

另外两台机器创建消费者:

bin/kafka-console-consumer.sh --bootstrap-server 192.168.222.130:9092,192.168.222.131:9092,192.168.222.132:9092 --topic test-topic --from-beginning

 

查看消息是否收到,收到则成功。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/936777
推荐阅读
相关标签
  

闽ICP备14008679号