kafaka安装
原生启动
kafaka启动需要基于zookeeper
-
第一步启动zookeeper
- 第一种启动zookeeper的方法
使用docker命令启动,但是需要提前拉取zookeeper的镜像docker run -- name zookeeper-1 -d -p 2181 zookeeper:3.4.13
- 第二种启动zookeeper的方法
下载kafka包,解压后进入目录启动zookeeper。官网下载地址:https://kafka.apache.org/downloads官网下载比较慢,这里提供了资源下载地址kafka_2.12-2.7.0.tg- 上传kafka安装包 解压
tar -zxvf kafka_2.12-2.7.0
- 进入kafka目录
cd kafka_2.12-2.7.0
- 启动zookeepeer
bin/zookeeper-server-start.sh config/zookeeper.properties
- 启动成功后会出现下图所示代码
- 上传kafka安装包 解压
- 第一种启动zookeeper的方法
-
第二步 启动kafka
-
把下载的kafka包上传到服务器,解压后,进入到kafka目录
第二种启动zookeeper的方法中已经介绍了相关资源路径及命令
执行下面命令启动kafka
bin/kafka-server-start.sh config/server.properties
下图表示启动成功
server.properties配置说明
- broker.id=0 表示broker的编号,如果集群中有多个broker,则每个broker的编号不同
- listeners=PLAINTEXT://:9092 表示broker对外提供的服务入口地址,默认9092
- log.dirs=/tmp/kafka/log 表示设置存放消息日志文件的地址
- zookeeper.connect=zookeeper:2181 表示kafka所需zookeeper集群地址,计入同一个zk的kafka为同一集群
-
docker-composer 一键启动(推荐)
如果还没安装docker和docker-compose请参考博客docker安装以及docker-compose的安装
- 创建kafak文件夹,并进入
mkdir kafka
cd kafka
- 创建kafka.yml文件,并写入如下配置
docker部署必须设置外部可访问ip和端口,否则注册进zk的地址将不可达,造成外部无法连接
ip地址修改为自己服务器的ip
version: '3'
services:
zookeeper:
image: zookeeper:3.4.13
kafka-1:
container_name: kafka-1
image: wurstmeister/kafka:2.12-2.2.2
ports:
- 10903:9092
environment:
kafka_broker_id: 1
host_ip: 192.168.31.127
kafka_zookeeper_connect: zookeeper:2181
kafka_advertised_host_name: 192.168.31.127
kafka_advertised_port: 10903
volumes:
- /etc/localtime:/etc/localtime
depends_on:
- zookeeper
kafka-2:
container_name: kafka-2
image: wurstmeister/kafka:2.12-2.2.2
ports:
- 10904:9092
environment:
kafka_broker_id: 2
host_id: 192.168.31.127
kafka_zookeeper_connect: zookeeper:2181
kafka_advertised_host_name: 192.168.31.127
kafka_advertised_port: 10904
volumes:
- /etc/localtime:/etc/localtime
depends_on:
- zookeeper
- 启动命令
docker-compose -f kafka.yml up -d
首次启动需要拉取镜像,可能需要一些时间
-f 指点启动的配置文件 若是启动的配置文件名称为docker-compose.yml则可以直接执行docker-compose up启动
-d 表示后台启动
- 查看服务是否启动
docker-compose -f kafka.yml ps
上图表示启动成功。