• 搭建kafka集群


    前言:

    按照kafka的文档,搭建一个三个host的集群。当然和kafka的文档还是有区别的:

         1). 未使用kafka自带的zookeeper

         2). kafka文档是一个host的三个进程, 这里是使用三个host(vm),每个host运行一个kafka

         准备:

               三个vm,分别为node1, node2, node3。 centos 7.3 (之前在弄docker,所以就用了7.3的版本)

               /etc/hosts(三个vm)

    192.168.1.121  node1
    192.168.1.122  node2
    192.168.1.123  node3

    Let's GO!

    一. 搭建ZooKeeper集群

    zookeeper集群相对简单,要准备两个文件:

           conf/zoo.cfg, myid(所在目录由conf/zoo.cfg里的dataDir来指定)

    conf/zoo.cfg

    dataDir=/data/zookeeper
    ...
    server.1=node1:2888:3888
    server.2=node2:2888:3888
    server.3=node3:2888:3888

     node1: /data/zookeeper/myid

    1

    node2: /data/zookeeper/myid

    2

    node3: /data/zookeeper/myid

    3

    启动(三台vm都启动)

     # bin/zkServer.sh start

    查看zookeeper是leader还是follower

    # bin/zkServer.sh status
    # Mode: leader( or follower) 

    关闭

    # bin/zkServer.sh stop


    二.搭建kafka集群
    解压,

    # tar zvxf kafka.....tar.gz


    三台vm都创建目录 /data/kafka-log:

    # mkdir /data/kafka-log

    配置文件 config/server.properties

      node1:

    broker.id=1
    listeners=PLAINTEXT://node1:9092
    log.dir=/data/kafka-log
    zookeeper.connect=node1:2181,node2:2181,node3:2181

    node2:

    broker.id=2
    listeners=PLAINTEXT://node2:9092
    log.dir=/data/kafka-log
    zookeeper.connect=node1:2181,node2:2181,node3:2181

    node3:

    broker.id=3
    listeners=PLAINTEXT://node3:9092
    log.dir=/data/kafka-log
    zookeeper.connect=node1:2181,node2:2181,node3:2181


    启动kafka不需要指定zookeeper, 三台vm

    bin/kafka-server-start.sh config/server.property &

    因为vm内存1G, kafka-server-start.sh默认为1G, 所以启动显示内存不足,改 bin/kafka-server-start.sh:

    if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
        export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"
    fi

    这样三台vm就启动了。

    建topic

    bin/kafka-topics.sh --create --zookeeper node1:2181,node2:2181,node3:2181 --replication-factor 2 --partitions 1 --topic my-replicated-topic
    Created topic "my-replicated-topic".


    看了一下zookeeper, topic保存在zookeeper的 /brokers节点

    向topic输入数据:

    bin/kafka-console-producer.sh --broker-list node1:9092,node2:9092,node3:9092 --topic my-replicated-topic
    > my test message 1
    > my test messsage 2
    > this is a test message

    ctrl + c 退出


    消费者取出数据:

    bin/kafka-console-consumer.sh --bootstrap-server node3:9092  --from-beginning --topic my-replicated-topic
    ...
    my test message 1
    my test messsage 2
    this is a test message

    流水帐似的记录,只为忘了的时候,看一眼,提个醒。



  • 相关阅读:
    postman的几个问题
    服了这个所谓北大青鸟官方学员社区论坛
    Gatling实战(三)
    Gatling实战(二)
    Gatling实战(一)
    httplib和urllib2常用方法
    jmeter的新增函数说明
    windows版jmeter的body data如何用 作为“换行”
    linux下oracle服务启动关闭
    linux下ORACLE监听日志的正确删除步骤
  • 原文地址:https://www.cnblogs.com/bear129/p/8593860.html
Copyright © 2020-2023  润新知