• kafka 集群--3个broker 3个zookeeper创建实战


    准备工作:

    1. 准备3台机器,IP地址分别为:192.168.0.10,192.168.0.11,192.168.0.12

    2. 下载kafka稳定版本,我的版本为:kafka_2.9.2-0.8.1.1.tgz 

    3. 分别解压放入到想安装的目录下,我的目录为:/home/www 解压命令为:

    tar -xzf kafka_2.9.2-0.8.1.1.tgz

    搭建zookeeper集群

      1. 进入解压后的目录/home/www/kafka_2.9.2-0.8.1.1

      2. 进入config目录下,修改zookeeper.properties文件

    tickTime=2000
    dataDir=/data/zookeeper/
    clientPort=2181
    initLimit=5
    syncLimit=2
    server.1=192.168.0.10:2888:3888
    server.2=192.168.0.11:2888:3888
    server.3=192.168.0.12:2888:3888

    在dataDir目录/data/zookeeper/下写一个myid文件,命令如下:

    echo 1 >myid

    注意:这个id是zookeeper的主机标示,每个主机id不同第二台是2 第三台是3。

    逐次启动3台机器的zookeeper 构成一个集群:

    > bin/zookeeper-server-start.sh config/zookeeper.properties &

    注意:使用& 会打印出启动日志,但如果使用secure ssh直接退出,有可能会让zookeeper退出,建议使用命令检查一下:

    > netstat -apn | grep 2181

    我启动的顺序是

    192.168.0.10
    192.168.0.11
    192.168.0.12

    由于ZooKeeper集群启动的时候,每个结点都试图去连接集群中的其它结点,先启动的肯定连不上后面还没启动的,所以打印出来的部分的异常是可以忽略的。集群在选出一个Leader后,最后稳定了。其他结点可能也出现类似问题,属于正常。

    至此,zookeeper集群搭建完成

    搭建kafka broker集群

    进入config目录,修改server.properties

    broker.id=0
    port=9092
    host.name=192.168.0.10zookeeper.connect=192.168.0.10:2181,192.168.0.11:2181,192.168.0.12:2181
    log.dirs=/home/www/kafka-logs

    不同集群broker.id 和host.name 不一样,根据实际情况配置。

    修改生产者配置

     broker.list=192.168.0.10:9092,192.168.0.11:9092,192.168.0.12:9092
     producer.type=async

    修改消费者配置:

    zookeeper.connect=192.168.0.10:2181,192.168.0.11:2181,192.168.0.12:2181

    启动每台服务器的kafka:

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

    测试集群

    创建一个topic

    > bin/kafka-topics.sh --create --zookeeper 192.168.0.10:2181 --replication-factor 3 --partitions 1 --topic test-replicated-topic

    查看创建的topic

    > bin/kafka-topics.sh --describe --zookeeper 192.168.0.10:2181 --topic my-replicated-topic
    Topic:test-replicated-topic	PartitionCount:1	ReplicationFactor:3	Configs:
    Topic: test-replicated-topic	Partition: 0	Leader: 1	Replicas: 1,2,0	Isr: 1,2,0

    查看集群情况:

    >bin/kafka-topics.sh --describe --zookeeper 192.168.0.11:2181 --topic test-replicated-topic
    >bin/kafka-topics.sh --describe --zookeeper 192.168.0.10:2181 --topic test-replicated-topic

    发现都能看到test-replicated-topic。

    注意:使用一台机器,创建3个zookeeper不同端口,3个kafka 不同端口没有成功,和zookeeper集群的端口有关吧,以后会研究一下。

    参考资料:

    http://kafka.apache.org/documentation.html#quickstart

    http://www.jonzobrist.com/2012/04/17/install-apache-kafka-and-zookeeper-on-ubuntu-10-04/

    http://www.open-open.com/lib/view/open1387889827593.html

    完结。

  • 相关阅读:
    关于数组的tip
    php 计算注册的天数
    PHP推送接口
    nginx 301 重定向
    tp3、tp5 输出上一次sql语句
    MySQL not null 取消条件限制
    vscode查看PHP函数来源
    关于git及项目的归档
    我的第一个JW项目——网上商城设计说明书(六)
    我的第一个JW项目——网上商城设计说明书(五)
  • 原文地址:https://www.cnblogs.com/davidwang456/p/4238536.html
Copyright © 2020-2023  润新知