`

Kafka0.8.0集群构建

 
阅读更多

三台集测环境机器

IP:192.168.3.97 IP:192.168.3.145  IP:192.168.3.146

一. Zookeeper集群构建

ZooKeeper集群中具有两个关键的角色:Leader和Follower。集群中所有的结点作为一个整体对分布式应用提供服务,集群中每个结点之间都互相连接。
ZooKeeper采用一种称为Leader election的选举算法。在整个集群运行过程中,只有一个Leader,其他的都是Follower,如果ZooKeeper集群在运行过程中Leader出了问题,系统会采用该算法重新选出一个Leader。
ZooKeeper集群启动的时候,会首先选出一个Leader,在Leader election过程中,某一个满足选举算的结点就能成为Leader。
可以使用自带的zookeeper.
命令:$nohup bin/zookeeper-server-start.sh config/zookeeper.properties &  
不过我选择了自己搭建zookeeper集群。

 

下载并解压zookeeper.
修改$zookeeper_home/conf 下面的配置文件
cp zoo_simple.cfg zoo.cfg
内容修改为:

dataDir=/home/data/zookeeper
clientPort=2181
server.1=192.168.3.97:2888:3888
server.2=192.168.3.145:2888:3888
server.3=192.168.3.146:2888:3888

在我们配置的dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字,例如:
 /home/data/zookeeper/myid
bin/zkServer.sh start 启动zookeeper

 

二. Kafka集群构建

1. 下载并解压Kafka
看官方文档里介绍,先得构建scala环境, 但是我直接下载的是已经编译好的。
我下载的是http://mirror.bit.edu.cn/apache/kafka/0.8.0/kafka_2.8.0-0.8.0.tar.gz 。
> tar xzf kafka-<VERSION>.tgz
> cd kafka-<VERSION>
> ./sbt update
> ./sbt package
> ./sbt assembly-package-dependency

2. 修改配置文件
修改 conf/server.properties
zookeeper.connect=192.168.3.97:2181,192.168.3.145:2181,192.168.3.146:2181
broker.id分别改成
broker.id=1
broker.id=2
broker.id=3
host.name分别改成(如果不改,client访问集群时,如果没在hosts配置对应机器的 hostname,访问将会报错)

host.name=192.168.3.97
host.name=192.168.3.145
host.name=192.168.3.146
可根据需求修改
port: broker节点使用端口号 默认 9092
log.dir: 消息目录位置

3. 启动Kafka
cd /home/kafka
bin/kafka-server-start.sh config/server.properties &
4. 创建Topic并查看
bin/kafka-create-topic.sh --zookeeper 192.168.3.97:2181 --partition 1 --topic leo-test
bin/kafka-list-topic.sh --zookeeper 192.168.3.97:2181
topic: leo-test partition: 0 leader: 1 replicas: 1 isr: 1
说明:
    partiton: partion id,由于此处只有一个partition,因此partition id 为0
    leader:当前负责读写的lead broker id
    relicas:当前partition的所有replication broker list
    isr:relicas的子集,只包含出于活动状态的broker
    bin/kafka-create-topic.sh --zookeeper 192.168.197.3:97 --replica 2 --partition 2 --topic leo-test2
    topic: leo-test partition: 0 leader: 1 replicas: 1 isr: 1
    topic: leo-test2 partition: 0 leader: 1 replicas: 1,2 isr: 1,2
    topic: leo-test2 partition: 1 leader: 1 replicas: 1,2 isr: 1,2
5.试着干掉一个非leader 的broker,然后在干掉leader broker,看看会有什么情况发生。
    命令:
    pkill -9 -f server.properties

安装过程遇到的问题:
1. kafka启动后提示
Unrecognized VM option '+UseCompressedOops'
Could not create the Java virtual machine.
开始以为是内存大小的问题, 后来发现不是,是JDK的问题, 我用的32位centos,jdk1.6_24,  换成JDK1.7依然报错。
查看 bin/kafka-run-class.sh
找到
if [ -z "$KAFKA_JVM_PERFORMANCE_OPTS" ]; then
  KAFKA_JVM_PERFORMANCE_OPTS="-server  -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -Djava.awt.headless=true"
fi
去掉-XX:+UseCompressedOops
JMX_PORT=9999 bin/kafka-server-start.sh config/server.properties &
启动成功

分享到:
评论

相关推荐

    kafka_2.8.2-0.8.0.jar

    kafka jar包,可用于jmeter

    kafka集群部署、监控

    zookeeper集群部署,kafka集群部署,kafka介绍,topic创建、删除、kafka监控

    Kafka分布式集群安装部署.doc

    Kafka分布式集群安装部署 Kafka是一个流行的分布式消息队列系统,广泛应用于大数据处理、实时数据处理和流处理等领域。为了确保Kafka的高可用性和可靠性,需要安装和部署分布式集群。本文将详细介绍Kafka分布式集群...

    使用sasl的kafka集群的搭建使用

    Kafka集群搭建和使用过程涉及多个技术要点和配置项,包括SASL安全机制、ACL权限设置、Kafka基础概念以及安装配置步骤等。下面将详细介绍这些知识点。 首先,SASL(Simple Authentication and Security Layer)是为C...

    Kafka2.3.0集群安装

    Kafka是一种流行的分布式流媒体平台,用于构建实时数据管道和流媒体应用程序。下面是Kafka集群安装的详细步骤和相关知识点: 一、Kafka集群安装前提 在安装Kafka集群之前,需要安装Scala,因为Kafka是使用Scala...

    快速部署单机kafka集群(win环境)

    本文不讲kafka集群原理,只谈部署步骤。 默认读者已对kafka有最基本的认知,纯粹作为部署笔记,方便回忆。 另外本文是基于Windows部署的,Linux的步骤是基本相同的(只是启动脚本位置不同)。 kafka集群类型: ...

    docker容器中搭建kafka集群环境.doc

    docker容器中搭建kafka集群环境,kafka集群配置注意事项与优化

    kafka集群搭建文档

    本篇文档将详细介绍如何在Linux环境中搭建Kafka集群,同时结合Hadoop和Spark的分布式安装,构建一个完整的数据处理平台。 首先,搭建Kafka集群的基础条件包括: 1. 至少一台Linux服务器,但为了高可用性,推荐多台...

    kafka集群部署文档(部署,运维,FAQ)

    ### Kafka集群部署与运维知识点详解 #### 一、Kafka概览 Kafka是一种高性能的分布式消息系统,具有以下特点: - **数据持久性**:Kafka通过高效的磁盘数据结构来实现消息的持久化存储,即使面对大量数据也能保持...

    Kafka集群搭建(3台机)

    Kafka是一种分布式的流处理平台,它具备消息队列的特性,常用于构建实时数据管道和流应用程序。搭建Kafka集群涉及到对虚拟机的安装配置、JDK环境的搭建、Zookeeper的安装配置等关键步骤。下面详细介绍各个知识点。 ...

    kafka分布式集群搭建

    ### Kafka分布式集群搭建详解 #### 一、概述 Kafka是一种高性能、分布式的消息发布与订阅系统,被广泛应用于日志收集、流处理、消息传递等多个领域。为了提高系统的可用性与扩展性,通常会采用分布式集群的方式...

    ELK+Filebeat+Kafka+ZooKeeper构建日志分析平台

    ELK+Filebeat+Kafka+ZooKeeper构建日志分析平台,架构图解

    Kafka跨集群容灾备份.docx

    ### Kafka跨集群容灾备份详解 #### 一、使用场景 在实际的业务环境中,单一的Kafka集群可能无法满足所有需求。特别是在面临灾难恢复、提高地理位置附近的客户服务质量等特定场景下,多套Kafka集群的协同工作成为...

    liunx安装kafka及集群部署

    为了构建一个Kafka集群,你需要: 1. **准备多个服务器**:至少三个节点,分别作为Broker。 2. **安装Kafka**:在每台服务器上按照上述步骤安装Kafka。 3. **配置每个Broker**:为每个Broker分配唯一的`broker.id`...

    kafka集群配置文件

    在构建和管理大规模分布式消息系统时,Apache Kafka通常与Zookeeper协同工作,形成高效、可靠的实时数据流处理平台。Kafka作为一个高吞吐量、低延迟的发布/订阅消息系统,而Zookeeper则是一个分布式协调服务,用于...

    kafka集群搭建与使用

    Kafka 集群搭建与使用 Kafka 是一种高吞吐量的分布式发布订阅消息系统,使用 Scala 编写。Kafka 拥有作为一个消息系统应该具备的功能,但是确有着独特的设计。Kafka 集群的搭建和使用是基于 Kafka 的设计理念和架构...

    window 伪分布式kafka集群

    环境:window7 64位,zookeeper3.4.6 kafka版本:kafka_2.8.0-0.8.0 window 搭建开发kafka集群:我的集群目录:F:\liuzhiwen\cluster\tech\kafka_cluster 需要切换到指定的目录:命令行切换cd F:\liuzhiwen\cluster\...

    kafka 单机集群搭建和监控

    在本文中,我们将深入探讨如何搭建Kafka单机环境与集群,以及如何进行有效的监控。Kafka是由Apache开发的一个分布式流处理平台,广泛应用于实时数据处理、消息传递和日志聚合等场景。以下是对每个主题的详细说明: ...

    介绍kafka及kafka集群安装

    通过本文档的学习,我们不仅深入了解了 Kafka 的架构原理和使用方法,还掌握了 Kafka 集群的安装部署过程。此外,我们还学习了 Kafka 生产者和消费者的 Java API 使用方法,以及 JMS 规范的相关概念。这些知识对于...

Global site tag (gtag.js) - Google Analytics