安装Kafka(单机&集群)
约 632 字大约 2 分钟
kafka单机安装
kafka下载
https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz
http://mirror.hust.edu.cn/apache/kafka/2.0.0/kafka_2.11-2.0.0.tgz
安装过程
安装过程非常简单,只需要解压就行,因为这个是编译好之后的可执行程序
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
参考: