Loading

安装kafka

1.前置条件

JDK1.8+

配置主机名和IP映射

2.ZK安装

  • 单机

    1.安装目录:/usr/local/zookeeper

    2.apache-zookeeper-3.6.3-bin.tar.gz上传到指定目录并解压

    3.复制配置文件

    cp zoo_sample.cfg zoo.cfg

    4.配置文件详解

    // Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。

    tickTime=2000

    //集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。

    initLimit=10

    //集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。

    syncLimit=5

    //Zookeeper保存数据的目录,默认情况下,Zookeeper将写数据的日志文件也保存在这个目录里。各个日志文件介绍:https://www.cnblogs.com/jxwch/p/6526271.html

    dataDir=/tmp/zookeeper

    //Zookeeper保存日志文件的目录。

    dataLogDir

    //客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。

    clientPort=2181

    //服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)

    server.N=YYY:A:B

    其中N表示服务器编号,YYY表示服务器的IP地址,A为LF通信端口,表示该服务器与集群中的leader交换的信息的端口。B为选举端口,表示选举新leader时服务器间相互通信的端口(当leader挂掉时,其余服务器会相互通信,选择出新的leader)。一般来说,集群中每个服务器的A端口都是一样,每个服务器的B端口也是一样。但是当所采用的为伪集群时,IP地址都一样,只能时A端口和B端口不一样。

    下面是一个非伪集群的例子:

    server.0=233.34.9.144:2008:6008

    server.1=233.34.9.145:2008:6008

    server.2=233.34.9.146:2008:6008

    下面是一个伪集群的例子:

    server.1=127.0.0.1:2007:3007
    server.2=127.0.0.1:2008:3008
    server.3=127.0.0.1:2009:3009

    5.基本操作

    启动:bin/zkServer.sh start conf/zoo.cfg

    状态:bin/zkServer.sh status conf/zoo.cfg

    停止:bin/zkServer.sh stop conf/zoo.cfg

    重启:bin/zkServer.sh restart conf/zoo.cfg

  • 集群

    1.使用伪集群安装,将上述zoo.cfg配置文件复制3份

    2.修改配置文件

    dataDir:修改为对应目录

    clientPort:修改为对应端口

    添加如下配置:

    server.1=127.0.0.1:2007:3007
    server.2=127.0.0.1:2008:3008
    server.3=127.0.0.1:2009:3009

    3.为各个节点创建myid文件,文件所在目录为配置文件dataDir所配置的目录

    vim dataDir/myid

    里面的值与server.1对应

    4.基本操作

    启动:bin/zkServer.sh start conf/zoo.cfg

    状态:bin/zkServer.sh status conf/zoo.cfg

    停止:bin/zkServer.sh stop conf/zoo.cfg

    重启:bin/zkServer.sh restart conf/zoo.cfg

3.Kafka安装

  • 集群

1.安装目录:/usr/local/kafka

2.kafka_2.13-3.1.0.tgz上传到指定目录并解压

3.修改配置文件 server.properties

broker.id=1

port=9092

listeners=PLAINTEXT://主机名:9092

log.dirs=/usr/local/software/kafka/kafka1/data

zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

4.基本操作

启动:bin/kafka-server-start.sh -daemon config/server.properties

停止:bin/kafka-server-stop.sh

4.使用脚本进行topic管理

1.创建topic:bin/kafka-topics.sh --bootstrap-server ip:port,ip:port,ip:port --create --topic topic01 --partitions 3 --replication-factor 3

2.查看topic列表:bin/kafka-topics.sh --bootstrap-server ip:port,ip:port,ip:port --list

3.详情:bin/kafka-topics.sh --bootstrap-server ip:port,ip:port,ip:port --describe --topic topic01

4.修改:

先创建:bin/kafka-topics.sh --bootstrap-server ip:port,ip:port,ip:port --create --topic topic02 --partitions 1 --replication-factor 1

修改分区数量:bin/kafka-topics.sh --bootstrap-server ip:port,ip:port,ip:port --alter --topic topic02 --partitions 3

5.删除:bin/kafka-topics.sh --bootstrap-server ip:port,ip:port,ip:port --delete --topic topic02

6.订阅:bin/kafka-console-consumer.sh --bootstrap-server ip:port,ip:port,ip:port --topic topic01 --group g1 --property print.key=true --property print.value=true --property key.separator=,

7.生产:bin/kafka-console-producer.sh --bootstrap-server ip:port,ip:port,ip:port --topic topic01

8.消费组:

查看:bin/kafka-consumer-groups.sh --bootstrap-server ip:port,ip:port,ip:port --list g1

查看详情:bin/kafka-consumer-groups.sh --bootstrap-server ip:port,ip:port,ip:port --describe --group g1

posted @ 2022-02-02 14:33  ZT丶  阅读(40)  评论(0编辑  收藏  举报