跳至主要內容

安装Kafka(单机&集群)

soulballad环境配置CentOSCentOS约 632 字大约 2 分钟

kafka单机安装

kafka下载

https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgzopen in new window

http://mirror.hust.edu.cn/apache/kafka/2.0.0/kafka_2.11-2.0.0.tgzopen in new window

安装过程

安装过程非常简单,只需要解压就行,因为这个是编译好之后的可执行程序

tar -zxvf  kafka_2.11-2.0.0.tgz
mkdir -p logs/kafka-logs

修改配置

因为kafka依赖于zookeeper来做master选举一起其他数据的维护,所以需要先启动zookeeper节点

kafka内置了zookeeper的服务,所以在bin目录下提供了这些脚本

zookeeper-server-start.sh
zookeeper-server-stop.sh

在config目录下,存在一些配置文件

zookeeper.properties
server.properties

所以我们可以通过下面的脚本来启动zk服务,当然,也可以自己搭建zk的集群来实现

修改 server.properties 配置文件

# broker编号,集群中不能重复
broker.id=1

# 修改为ip加端口,默认9092
listeners=PLAINTEXT://192.168.13.106:9092
# 单机时可不配置
advertised.listeners=PLAINTEXT://192.168.13.106:9092

# 修改日志路径
log.dirs=/opt/program/kafka_2.11-2.0.0/logs/kafka-logs

# 配置zookeeper 地址
zookeeper.connect=localhost:2181

启动 kafka 中自带的 zookeeper

sh zookeeper-server-start.sh -daemon ../config/zookeeper.properties

启动和停止kafka

  • 启动kafka

    sh kafka-server-start.sh -daemon ../config/server.properties
    
  • 停止kafka

    sh kafka-server-stop.sh -daemon ../config/server.properties
    

kafka的基本操作

  • 创建topic

    sh kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --
    partitions 1 --topic test
    
    • Replication-factor: 表示该topic需要在不同的broker中保存几份,这里设置成1,表示在两个broker中保存两份
    • Partitions: 分区数
  • 查看topic

    sh kafka-topics.sh --list --zookeeper localhost:2181
    
  • 查看topic属性

    sh kafka-topics.sh --describe --zookeeper localhost:2181 --topic first_topic
    
  • 消费消息

    sh kafka-console-consumer.sh --bootstrap-server 192.168.13.106:9092 --topic test 
    --from-beginning
    
  • 发送消息

    sh kafka-console-producer.sh --broker-list 192.168.244.128:9092 --topic 
    first_topic
    

集群环境安装

环境准备

  • 准备三台虚拟机 192.168.13.106、192.168.13.107、168.13.108
  • 分别把zookeeper安装在三台机器上(只安装一台也行,最好组成集群)
  • 分别把kafka的安装包部署在三台机器上

修改配置

分别修改三台机器的 server.properties 配置,同一个集群中的每个机器的id必须唯一

  • 修改配置文件

    # 三台机器id分别为 1、2、3
    broker.id=1
    # 三台机器分别为 192.168.13.106:9092、192.168.13.107:9092、192.168.13.108:9092
    listeners=PLAINTEXT://192.168.13.106:9092
    # 三台机器分别为 192.168.13.106:9092、192.168.13.107:9092、192.168.13.108:9092
    advertised.listeners=PLAINTEXT://192.168.13.106:9092
    # 日志文件地址
    log.dirs=/opt/program/kafka_2.11-2.0.0/logs/kafka-logs
    # zookeeper 地址,配置zookeeper集群
    zookeeper.connect=192.168.13.106:2181,192.168.13.107:2181,192.168.13.108:2181
    
  • 分别启动三台服务器

    sh kafka-server-start.sh -daemon ../config/server.properties
    

参考:

上次编辑于:
贡献者: soulballad