当前位置:   article > 正文

Kakfa集群安装和部署_kafka 3.5.1版本集群

kafka 3.5.1版本集群

1. 安装启动kafka

1.1. 使用Docker方式进行安装

1.1.1. 下载镜像

docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
  • 1
  • 2

1.1.2. 启动

  • 启动Zookeeper容器
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
  • 1
1.1.2.1. 启动kafka容器,其中192.168.59.101是宿主机的IP地址
docker run -d --name kafka --publish 9092:9092 
--link zookeeper 
--env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 
--env KAFKA_ADVERTISED_HOST_NAME=192.168.59.101 
--env KAFKA_ADVERTISED_PORT=9092 
--volume /etc/localtime:/etc/localtime 
wurstmeister/kafka:latest
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
1.1.2.2. kafka docker 启动参数说明
  • -e KAFKA_BROKER_ID=0 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
  • -e KAFKA_ZOOKEEPER_CONNECT=192.168.155.56:2181/kafka 配置zookeeper管理kafka的路径192.168.155.56:2181/kafka
  • -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.155.56:9092 把kafka的地址端口注册给zookeeper
  • -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的监听端口
  • -v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间

1.1.3. 验证启动

运行 docker ps,找到kafka的 CONTAINER ID,运行 docker exec -it ${CONTAINER ID} /bin/bash,进入kafka容器。进入kafka默认目录 /opt/kafka_2.11-0.10.1.0

2. kafka 常用配置项说明

  • 配置文件位置:${KAFKA_HOME}/config/server.properties

  • 修改内容如下

    # 默认配置 advertised.listeners=PLAINTEXT://your.host.name:9092
    advertised.listeners=PLAINTEXT://${本机服务器IP}:9092
    # broker.id标识本机
    broker.id=0
    # log.dirs
    log.dirs=/data/logs/kafka-logs
    # zookeeper.connect指定连接的zookeeper集群地址
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  1. ip为服务器ip
  2. hostname和端口是用来建议给生产者和消费者使用的,如果没有设置,将会使用listeners的配置,如果listeners也没有配置,将使用java.net.InetAddress.getCanonicalHostName()来获取这个hostname和port,对于ipv4,基本就是localhost了。
  3. "PLAINTEXT"表示协议,可选的值有PLAINTEXT和SSL,hostname可以指定IP地址,也可以用"0.0.0.0"表示对所有的网络接口有效,如果hostname为空表示只对默认的网络接口有效。也就是说如果你没有配置advertised.listeners,就使用listeners的配置通告给消息的生产者和消费者,这个过程是在生产者和消费者获取源数据(metadata)。

3. 集群配置

3.1. 环境说明

三台机器:192.168.244.128 192.168.244.130 192.168.244.131

3.1.1. 三台主机上的配置内容

# 192.168.244.128
broker.id=1
log.dirs=/data/logs/kafka-logs
zookeeper.connect=192.168.244.128:2181,192.168.244.130:2181,192.168.244.131:2181

# 192.168.244.130  
broker.id=2
log.dirs=/data/logs/kafka-logs
zookeeper.connect=192.168.244.128:2181,192.168.244.130:2181,192.168.244.131:2181

# 192.168.244.131
broker.id=3
log.dirs=/data/logs/kafka-logs
zookeeper.connect=192.168.244.128:2181,192.168.244.130:2181,192.168.244.131:2181
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

3.2. 启动

在三个节点上分别执行nohup ./kafka-server-start.sh -daemon ../config/server.properties &

4. Kafka 基本操作命令

# 创建TOPIC
./kafka-topics.sh --create --zookeeper 192.168.244.128:2181,192.168.244.130:2181,192.168.244.131:2181  --replication-factor 3 --partitions 6 --topic kfk_test

#列出创建的topic
./kafka-topics.sh --list --zookeeper 192.168.244.128:2181,192.168.244.130:2181,192.168.244.131:2181 

# 生成数据,注意这里的端口号是kafka的端口  9092
./kafka-console-producer.sh -broker-list 192.168.244.128:9092,192.168.244.130:9092,192.168.244.131:9092   --topic kfk_test

# 消费生产数据,kafka 0.9版本之前用zookeeper 
./kafka-console-consumer.sh --zookeeper 192.168.244.128:2181,192.168.244.130:2181,192.168.244.131:2181  --from-beginning --topic kfk_test

# kafka 0.9版本之后不推荐zookeeper方式,仍然支持,但逐渐会被取消,推荐bootstrap-server方式,注意这里的端口号是kafka的端口  9092
./kafka-console-consumer.sh --bootstrap-server  192.168.244.128:9092,192.168.244.130:9092,192.168.244.131:9092  --from-beginning --topic kfk_test

#查看指定topic信息
./kafka-topics.sh --describe --zookeeper 192.168.244.128:2181,192.168.244.130:2181,192.168.244.131:2181 --topic kfk_test

#删除kafka中的topic
./kafka-topics.sh --delete --zookeeper 192.168.244.128:2181,192.168.244.130:2181,192.168.244.131:2181 --topic kfk_test

# 删除zookeeper中的topic信息
rmr /brokers/topics/kfk_test
rmr /config/topics/kfk_test
rmr /admin/delete_topics/kfk_test
rmr /consumers/kfk_test-group

# 删除topic数据相关的目录
rm -rf /var/local/kafka/data/kfk_test*
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/912264
推荐阅读
相关标签
  

闽ICP备14008679号