Kafka学习篇1:Docker安装Kafka(单机默认参数版,依赖于Zookeeper)

注:本文仅适用于有Docker容器使用基础、Linux命令基础的编程人员,请确保Linux中已经安装了Docker。

Step1:创建Docker容器网络

由于Kafka在2.8.0版本以前,强依赖于Zookeeper,所以我们需要创建一个Docker容器网络以用于Kafka容器和Zookeeper容器的互通。

注:本文使用的是CentOS7系统作为虚拟环境,并确保登录的账号拥有足够的权限。

执行以下命令,即可创建一个Docker网络:

docker network create --driver bridge --subnet 172.0.0.0/16 toneyma_network

以上命令解释为:创建一个名为"toneyma_network",地址池为"172.0.0.0/16"的容器网络。

172.0.0.0        #地址池

16                   #子网掩码(用于划分网段)

toneyma_network      #名称(随便起)

 Step2:拉取Zookeeper容器并启动

本文中,直接使用VMware提供的最新版(3.8.1)的Zookeeper容器。

注:在DockerHub提供的信息中,bitnami版本即为VMware提供的版本。

执行以下命令,获取最新的Zookeeper容器:

docker pull bitnami/zookeeper:latest

 执行以下命令,启动Zookeeper容器:

docker run -d --name zookeeper-server \
    --network toneyma_network \
    -p 2181:2181 \
    -e ALLOW_ANONYMOUS_LOGIN=yes \
    bitnami/zookeeper:latest

以上命令解释为:启动"bitnami/zookeeper:latest"容器,该容器命名为"zookeeper-server",并使用名为"toneyma_network"的容器网络。

参数:

--name zookeeper-server          #指定容器名称为"zookeeper-server"

--network toneyma_network      #指定容器网络为"toneyma_network"

-p 用来访问的端口号:2181        #端口映射(格式为 外部访问用的端口号:容器内应用的端口号  外部访问用的端口号不能在本机被占用,容器内应用使用的端口号需要从DockerHub中查询,或者是官方默认端口号)

-e ALLOW_ANONYMOUS_LOGIN=yes    #是否允许接受来自未经身份验证的用户的连接。(默认为no,所以这里要改为yes,方便本地连接)

其他参数请在以下链接中查询:bitnami/zookeeper - Docker Image | Docker Hubhttps://hub.docker.com/r/bitnami/zookeeper

 Step3:拉取Kafka容器并依赖Zookeeper启动

本文中,直接使用VMware提供的最新版(3.2.3)的Kafka容器。

执行以下命令,获取最新的Kafka容器:

docker pull bitnami/kafka:latest

 执行以下命令,启动Kafka,并依赖刚刚启动的Zookeeper:

docker run -d --name kafka-server \
    --network toneyma_network \
    -p 9092:9092 \
    -e ALLOW_PLAINTEXT_LISTENER=yes \
    -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \
    -e KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
    bitnami/kafka:latest

以上命令解释为:启动"bitnami/kafka:latest"容器,该容器命名为"kafka-server",并使用名为"toneyma_network"的容器网络。

参数:

--name kafka-server                  #指定容器名称为"kafka-server"

--network toneyma_network      #指定容器网络为"toneyma_network"

-p 用来访问的端口号:2181        #端口映射(格式为 外部访问用的端口号:容器内应用的端口号  外部访问用的端口号不能在本机被占用,容器内应用使用的端口号需要从DockerHub中查询,或者是官方默认端口号)

-e ALLOW_PLAINTEXT_LISTENER=yes   #是否开启PLAINTEXT监听器(默认为no,需要修改为yes)
-e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181    #指定Zookeeper地址,格式为:容器名称:端口地址(容器间的通信需要在同一容器网络下,也可以直接使用 IP:端口 的格式)

-e KAFKA_CFG_LISTENERS=PLAINTEXT://<addr>:<port>      #定义kafka的服务监听地址,addr可以为空,或者0.0.0.0,表示kafka服务会监听在指定地址。(如果不配置,可能会导致容器网络外的主机(包括宿主机)无法访问Kafka,只有容器网络中的各个容器能访问,具体有待验证)

其他参数请在以下链接中查询:bitnami/kafka - Docker Image | Docker Hubhttps://hub.docker.com/r/bitnami/kafka

 至此,Kafka的安装和启动已经完成。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值